From 274d154228361605b766940656af46cce22027dc Mon Sep 17 00:00:00 2001 From: ThatOneCalculator Date: Sun, 3 Jul 2022 14:25:38 -0700 Subject: [PATCH 01/22] Styled error screen --- packages/backend/src/server/web/boot.css | 97 +++++++++++++++++++ packages/backend/src/server/web/boot.js | 40 ++++++-- .../backend/src/server/web/views/base.pug | 2 +- 3 files changed, 129 insertions(+), 10 deletions(-) create mode 100644 packages/backend/src/server/web/boot.css diff --git a/packages/backend/src/server/web/boot.css b/packages/backend/src/server/web/boot.css new file mode 100644 index 000000000..f7007f9fb --- /dev/null +++ b/packages/backend/src/server/web/boot.css @@ -0,0 +1,97 @@ +* { + font-family: BIZ UDGothic, Roboto, HelveticaNeue, Arial, sans-serif; +} + +body, +html { + background-color: #222; + color: #dfddcc; + justify-content: center; + margin: auto; + width: 80%; + padding: 10px; + text-align: center; +} + +button { + border-radius: 999px; + padding: 0px 12px 0px 12px; + border: none; + cursor: pointer; + margin-bottom: 12px; +} + +.button-big { + background: linear-gradient(90deg, rgb(134, 179, 0), rgb(74, 179, 0)); + line-height: 50px; +} + +.button-big:hover { + background: rgb(153, 204, 0); +} + +.button-small { + background: #444; + line-height: 40px; +} + +.button-small:hover { + background: #555; +} + +.button-label-big { + color: #222; + font-weight: bold; + font-size: 20px; + padding: 12px; +} + +.button-label-small { + color: rgb(153, 204, 0); + font-size: 16px; + padding: 12px; +} + +a { + color: rgb(134, 179, 0); + text-decoration: none; +} + +p, +li { + font-size: 16px; +} + +.dont-worry { + font-size: 18px; +} + +.icon-warning { + color: #dec340; + font-size: 40px; +} + +h1 { + font-size: 32px; +} + +code { + font-family: Fira, FiraCode, monospace; +} + +details { + background: #333; + margin-bottom: 2rem; + padding: 0.5rem 1rem; + border-radius: 5px; + justify-content: center; + margin: 0px 40rem 0px 40rem; +} + +summary { + cursor: pointer; +} + +summary > * { + display: inline; +} diff --git a/packages/backend/src/server/web/boot.js b/packages/backend/src/server/web/boot.js index 9fc536555..8ae5c935b 100644 --- a/packages/backend/src/server/web/boot.js +++ b/packages/backend/src/server/web/boot.js @@ -106,14 +106,37 @@ function renderError(code, details) { let errorsElement = document.getElementById('errors'); if (!errorsElement) { + document.getElementsByTagName("head")[0].insertAdjacentHTML( + "beforeend", + ``); document.documentElement.innerHTML = ` -

⚠ An error has occurred. ⚠

-

If the problem persists, please contact the administrator. You may also try the following options:

- +
+ +
+

An error has occurred!

+ +

Don't worry, it's (probably) not your fault.

+

If the problem persists after refreshing, please contact your instance's administrator.
You may also try the following options:

+ + + +
+ + + +
+ + + +

`; @@ -122,8 +145,7 @@ } const detailsElement = document.createElement('details'); - detailsElement.innerHTML = `ERROR CODE: ${code}${JSON.stringify(details)}`; - + detailsElement.innerHTML = `
ERROR CODE: ${code}${JSON.stringify(details)}`; errorsElement.appendChild(detailsElement); } diff --git a/packages/backend/src/server/web/views/base.pug b/packages/backend/src/server/web/views/base.pug index 5bb156f0f..32499aa45 100644 --- a/packages/backend/src/server/web/views/base.pug +++ b/packages/backend/src/server/web/views/base.pug @@ -53,7 +53,7 @@ html block meta block og - meta(property='og:title' content= title || 'Misskey') + meta(property='og:title' content= title || 'Misskey') meta(property='og:description' content= desc || '✨🌎✨ A interplanetary communication platform ✨🚀✨') meta(property='og:image' content= img) From b172e4637a6341461f4faebd76e43615cc4f8c14 Mon Sep 17 00:00:00 2001 From: Kainoa Kanter <44733677+ThatOneCalculator@users.noreply.github.com> Date: Sun, 3 Jul 2022 14:31:21 -0700 Subject: [PATCH 02/22] Make details margin auto --- packages/backend/src/server/web/boot.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/backend/src/server/web/boot.css b/packages/backend/src/server/web/boot.css index f7007f9fb..e0ebd064b 100644 --- a/packages/backend/src/server/web/boot.css +++ b/packages/backend/src/server/web/boot.css @@ -85,7 +85,7 @@ details { padding: 0.5rem 1rem; border-radius: 5px; justify-content: center; - margin: 0px 40rem 0px 40rem; + margin: auto; } summary { From dda94d11a7867c285fbd1cc4657599080fc33896 Mon Sep 17 00:00:00 2001 From: Kainoa Kanter <44733677+ThatOneCalculator@users.noreply.github.com> Date: Tue, 5 Jul 2022 00:41:35 -0700 Subject: [PATCH 03/22] Update boot.css --- packages/backend/src/server/web/boot.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/backend/src/server/web/boot.css b/packages/backend/src/server/web/boot.css index e0ebd064b..7a6200d12 100644 --- a/packages/backend/src/server/web/boot.css +++ b/packages/backend/src/server/web/boot.css @@ -68,7 +68,7 @@ li { .icon-warning { color: #dec340; - font-size: 40px; + height: 4rem; } h1 { From 4592ceb30e04279f70e0463550160f098c1254b9 Mon Sep 17 00:00:00 2001 From: Kainoa Kanter <44733677+ThatOneCalculator@users.noreply.github.com> Date: Tue, 5 Jul 2022 00:42:11 -0700 Subject: [PATCH 04/22] Replace fontawesome with tabler svg --- packages/backend/src/server/web/boot.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/backend/src/server/web/boot.js b/packages/backend/src/server/web/boot.js index 8ae5c935b..3d47cdca9 100644 --- a/packages/backend/src/server/web/boot.js +++ b/packages/backend/src/server/web/boot.js @@ -110,9 +110,11 @@ "beforeend", ``); document.documentElement.innerHTML = ` -
- -
+ + + + +

An error has occurred!


-
`; From 0f76cb1e76fa3e4840904f899c8ce80cf9a8fbb1 Mon Sep 17 00:00:00 2001 From: ThatOneCalculator Date: Tue, 5 Jul 2022 00:49:58 -0700 Subject: [PATCH 06/22] Add new style to flush screen --- packages/backend/src/server/web/boot.css | 3 ++- packages/backend/src/server/web/views/flush.pug | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/backend/src/server/web/boot.css b/packages/backend/src/server/web/boot.css index 7a6200d12..9f8f90501 100644 --- a/packages/backend/src/server/web/boot.css +++ b/packages/backend/src/server/web/boot.css @@ -62,7 +62,8 @@ li { font-size: 16px; } -.dont-worry { +.dont-worry, +#msg { font-size: 18px; } diff --git a/packages/backend/src/server/web/views/flush.pug b/packages/backend/src/server/web/views/flush.pug index ec585a34d..07811e7b3 100644 --- a/packages/backend/src/server/web/views/flush.pug +++ b/packages/backend/src/server/web/views/flush.pug @@ -1,6 +1,12 @@ doctype html html + head + meta(charset='utf-8') + meta(name='application-name' content='Misskey') + title Flushing Misskey + style + include ../boot.css #msg script. const msg = document.getElementById('msg'); From db7b5d777dfb8c030151a225839ff43c72bf2bf0 Mon Sep 17 00:00:00 2001 From: ThatOneCalculator Date: Tue, 5 Jul 2022 00:55:30 -0700 Subject: [PATCH 07/22] Rename to `error.css` --- packages/backend/src/server/web/boot.js | 2 +- packages/backend/src/server/web/{boot.css => error.css} | 0 packages/backend/src/server/web/views/flush.pug | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename packages/backend/src/server/web/{boot.css => error.css} (100%) diff --git a/packages/backend/src/server/web/boot.js b/packages/backend/src/server/web/boot.js index 169996731..124f25f5e 100644 --- a/packages/backend/src/server/web/boot.js +++ b/packages/backend/src/server/web/boot.js @@ -108,7 +108,7 @@ if (!errorsElement) { document.getElementsByTagName("head")[0].insertAdjacentHTML( "beforeend", - ``); + ``); document.documentElement.innerHTML = ` diff --git a/packages/backend/src/server/web/boot.css b/packages/backend/src/server/web/error.css similarity index 100% rename from packages/backend/src/server/web/boot.css rename to packages/backend/src/server/web/error.css diff --git a/packages/backend/src/server/web/views/flush.pug b/packages/backend/src/server/web/views/flush.pug index 07811e7b3..b08f61c73 100644 --- a/packages/backend/src/server/web/views/flush.pug +++ b/packages/backend/src/server/web/views/flush.pug @@ -6,7 +6,7 @@ html meta(name='application-name' content='Misskey') title Flushing Misskey style - include ../boot.css + include ../error.css #msg script. const msg = document.getElementById('msg'); From 63082ac8b80313daf00cd6231ca5bfe61b3e95d2 Mon Sep 17 00:00:00 2001 From: ThatOneCalculator Date: Tue, 5 Jul 2022 15:33:52 -0700 Subject: [PATCH 08/22] Fix --- packages/backend/src/server/web/boot.js | 108 +++++++++++++++++- packages/backend/src/server/web/error.css | 98 ---------------- .../backend/src/server/web/views/flush.pug | 6 - 3 files changed, 103 insertions(+), 109 deletions(-) delete mode 100644 packages/backend/src/server/web/error.css diff --git a/packages/backend/src/server/web/boot.js b/packages/backend/src/server/web/boot.js index 124f25f5e..ac3f608ae 100644 --- a/packages/backend/src/server/web/boot.js +++ b/packages/backend/src/server/web/boot.js @@ -102,13 +102,112 @@ document.head.appendChild(style); } - // eslint-disable-next-line no-inner-declarations function renderError(code, details) { let errorsElement = document.getElementById('errors'); + if (!errorsElement) { - document.getElementsByTagName("head")[0].insertAdjacentHTML( - "beforeend", - ``); + document.head.insertAdjacentHTML("beforeend", ` + + `) document.documentElement.innerHTML = ` @@ -141,7 +240,6 @@
`; - errorsElement = document.getElementById('errors'); } diff --git a/packages/backend/src/server/web/error.css b/packages/backend/src/server/web/error.css deleted file mode 100644 index 9f8f90501..000000000 --- a/packages/backend/src/server/web/error.css +++ /dev/null @@ -1,98 +0,0 @@ -* { - font-family: BIZ UDGothic, Roboto, HelveticaNeue, Arial, sans-serif; -} - -body, -html { - background-color: #222; - color: #dfddcc; - justify-content: center; - margin: auto; - width: 80%; - padding: 10px; - text-align: center; -} - -button { - border-radius: 999px; - padding: 0px 12px 0px 12px; - border: none; - cursor: pointer; - margin-bottom: 12px; -} - -.button-big { - background: linear-gradient(90deg, rgb(134, 179, 0), rgb(74, 179, 0)); - line-height: 50px; -} - -.button-big:hover { - background: rgb(153, 204, 0); -} - -.button-small { - background: #444; - line-height: 40px; -} - -.button-small:hover { - background: #555; -} - -.button-label-big { - color: #222; - font-weight: bold; - font-size: 20px; - padding: 12px; -} - -.button-label-small { - color: rgb(153, 204, 0); - font-size: 16px; - padding: 12px; -} - -a { - color: rgb(134, 179, 0); - text-decoration: none; -} - -p, -li { - font-size: 16px; -} - -.dont-worry, -#msg { - font-size: 18px; -} - -.icon-warning { - color: #dec340; - height: 4rem; -} - -h1 { - font-size: 32px; -} - -code { - font-family: Fira, FiraCode, monospace; -} - -details { - background: #333; - margin-bottom: 2rem; - padding: 0.5rem 1rem; - border-radius: 5px; - justify-content: center; - margin: auto; -} - -summary { - cursor: pointer; -} - -summary > * { - display: inline; -} diff --git a/packages/backend/src/server/web/views/flush.pug b/packages/backend/src/server/web/views/flush.pug index b08f61c73..ec585a34d 100644 --- a/packages/backend/src/server/web/views/flush.pug +++ b/packages/backend/src/server/web/views/flush.pug @@ -1,12 +1,6 @@ doctype html html - head - meta(charset='utf-8') - meta(name='application-name' content='Misskey') - title Flushing Misskey - style - include ../error.css #msg script. const msg = document.getElementById('msg'); From e6992ce89df55f7d0da04e9a6e33e3ad453502b3 Mon Sep 17 00:00:00 2001 From: Kainoa Kanter <44733677+ThatOneCalculator@users.noreply.github.com> Date: Tue, 5 Jul 2022 18:55:23 -0700 Subject: [PATCH 09/22] Update base.pug --- packages/backend/src/server/web/views/base.pug | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/backend/src/server/web/views/base.pug b/packages/backend/src/server/web/views/base.pug index 32499aa45..5bb156f0f 100644 --- a/packages/backend/src/server/web/views/base.pug +++ b/packages/backend/src/server/web/views/base.pug @@ -53,7 +53,7 @@ html block meta block og - meta(property='og:title' content= title || 'Misskey') + meta(property='og:title' content= title || 'Misskey') meta(property='og:description' content= desc || '✨🌎✨ A interplanetary communication platform ✨🚀✨') meta(property='og:image' content= img) From 5e12df2143c2d431129c10c3ee9b71a57d60356a Mon Sep 17 00:00:00 2001 From: ThatOneCalculator Date: Tue, 5 Jul 2022 19:57:35 -0700 Subject: [PATCH 10/22] Finally fix! --- packages/backend/src/server/web/boot.js | 219 ++++++++++++------------ 1 file changed, 111 insertions(+), 108 deletions(-) diff --git a/packages/backend/src/server/web/boot.js b/packages/backend/src/server/web/boot.js index ac3f608ae..06da7cee1 100644 --- a/packages/backend/src/server/web/boot.js +++ b/packages/backend/src/server/web/boot.js @@ -14,10 +14,10 @@ // ブロックの中に入れないと、定義した変数がブラウザのグローバルスコープに登録されてしまい邪魔なので (async () => { window.onerror = (e) => { - renderError('SOMETHING_HAPPENED', e); + await renderError('SOMETHING_HAPPENED', e); }; window.onunhandledrejection = (e) => { - renderError('SOMETHING_HAPPENED_IN_PROMISE', e); + await renderError('SOMETHING_HAPPENED_IN_PROMISE', e); }; const v = localStorage.getItem('v') || VERSION; @@ -47,7 +47,7 @@ localStorage.setItem('localeVersion', v); } else { await checkUpdate(); - renderError('LOCALE_FETCH_FAILED'); + await renderError('LOCALE_FETCH_FAILED'); return; } } @@ -57,7 +57,7 @@ import(`/assets/${CLIENT_ENTRY}`) .catch(async e => { await checkUpdate(); - renderError('APP_FETCH_FAILED', e); + await renderError('APP_FETCH_FAILED', e); }) //#endregion @@ -102,112 +102,16 @@ document.head.appendChild(style); } - function renderError(code, details) { + async function addStyle(styleText) { + let css = document.createElement('style'); + css.appendChild(document.createTextNode(styleText)); + document.head.appendChild(css); + } + + async function renderError(code, details) { let errorsElement = document.getElementById('errors'); if (!errorsElement) { - document.head.insertAdjacentHTML("beforeend", ` - - `) document.documentElement.innerHTML = ` @@ -242,10 +146,109 @@ `; errorsElement = document.getElementById('errors'); } - const detailsElement = document.createElement('details'); detailsElement.innerHTML = `
ERROR CODE: ${code}${JSON.stringify(details)}`; errorsElement.appendChild(detailsElement); + await addStyle(` + * { + font-family: BIZ UDGothic, Roboto, HelveticaNeue, Arial, sans-serif; + } + + body, + html { + background-color: #222; + color: #dfddcc; + justify-content: center; + margin: auto; + width: 80%; + padding: 10px; + text-align: center; + } + + button { + border-radius: 999px; + padding: 0px 12px 0px 12px; + border: none; + cursor: pointer; + margin-bottom: 12px; + } + + .button-big { + background: linear-gradient(90deg, rgb(134, 179, 0), rgb(74, 179, 0)); + line-height: 50px; + } + + .button-big:hover { + background: rgb(153, 204, 0); + } + + .button-small { + background: #444; + line-height: 40px; + } + + .button-small:hover { + background: #555; + } + + .button-label-big { + color: #222; + font-weight: bold; + font-size: 20px; + padding: 12px; + } + + .button-label-small { + color: rgb(153, 204, 0); + font-size: 16px; + padding: 12px; + } + + a { + color: rgb(134, 179, 0); + text-decoration: none; + } + + p, + li { + font-size: 16px; + } + + .dont-worry, + #msg { + font-size: 18px; + } + + .icon-warning { + color: #dec340; + height: 4rem; + } + + h1 { + font-size: 32px; + } + + code { + font-family: Fira, FiraCode, monospace; + } + + details { + background: #333; + margin-bottom: 2rem; + padding: 0.5rem 1rem; + border-radius: 5px; + justify-content: center; + margin: auto; + } + + summary { + cursor: pointer; + } + + summary > * { + display: inline; + } + `) } // eslint-disable-next-line no-inner-declarations From 027c22f013ad9014c463a169429180241cfcb939 Mon Sep 17 00:00:00 2001 From: ThatOneCalculator Date: Tue, 5 Jul 2022 20:03:31 -0700 Subject: [PATCH 11/22] Wrap details in `` --- packages/backend/src/server/web/boot.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/backend/src/server/web/boot.js b/packages/backend/src/server/web/boot.js index 06da7cee1..9b2341a7a 100644 --- a/packages/backend/src/server/web/boot.js +++ b/packages/backend/src/server/web/boot.js @@ -147,7 +147,12 @@ errorsElement = document.getElementById('errors'); } const detailsElement = document.createElement('details'); - detailsElement.innerHTML = `
ERROR CODE: ${code}${JSON.stringify(details)}`; + detailsElement.innerHTML = ` +
+ + ERROR CODE: ${code} + + ${JSON.stringify(details)}`; errorsElement.appendChild(detailsElement); await addStyle(` * { From d9f5570b51bbed3274254aa248dfc0783f40e11b Mon Sep 17 00:00:00 2001 From: ThatOneCalculator Date: Tue, 5 Jul 2022 20:09:47 -0700 Subject: [PATCH 12/22] Add style to flush --- .../backend/src/server/web/views/flush.pug | 106 +++++++++++------- 1 file changed, 65 insertions(+), 41 deletions(-) diff --git a/packages/backend/src/server/web/views/flush.pug b/packages/backend/src/server/web/views/flush.pug index ec585a34d..a2256800d 100644 --- a/packages/backend/src/server/web/views/flush.pug +++ b/packages/backend/src/server/web/views/flush.pug @@ -1,47 +1,71 @@ doctype html html - #msg - script. - const msg = document.getElementById('msg'); - const successText = `\nSuccess Flush! Back to Misskey\n成功しました。Misskeyを開き直してください。`; - message('Start flushing.'); - - (async function() { - try { - localStorage.clear(); - message('localStorage cleared.'); - - const idbPromises = ['MisskeyClient', 'keyval-store'].map((name, i, arr) => new Promise((res, rej) => { - const delidb = indexedDB.deleteDatabase(name); - delidb.onsuccess = () => res(message(`indexedDB "${name}" cleared. (${i + 1}/${arr.length})`)); - delidb.onerror = e => rej(e) - })); - - await Promise.all(idbPromises); - - if (navigator.serviceWorker.controller) { - navigator.serviceWorker.controller.postMessage('clear'); - await navigator.serviceWorker.getRegistrations() - .then(registrations => { - return Promise.all(registrations.map(registration => registration.unregister())); - }) - .catch(e => { throw Error(e) }); - } - - message(successText); - } catch (e) { - message(`\n${e}\n\nFlush Failed. Please retry.\n失敗しました。もう一度試してみてください。`); - message(`\nIf you retry more than 3 times, clear the browser cache or contact to instance admin.\n3回以上試しても失敗する場合、ブラウザのキャッシュを消去し、それでもだめならインスタンス管理者に連絡してみてください。\n`) - - console.error(e); - setTimeout(() => { - location = '/'; - }, 10000) + head + meta(charset='utf-8') + meta(name='application-name' content='Misskey') + title Misskey Repair Tool + style. + * { + font-family: BIZ UDGothic, Roboto, HelveticaNeue, Arial, sans-serif; + font-size: 16px; + color: #dfddcc; } - })(); - function message(text) { - msg.insertAdjacentHTML('beforeend', `

[${(new Date()).toString()}] ${text.replace(/\n/g,'
')}

`) - } + body, + html { + background-color: #222; + justify-content: center; + margin: auto; + width: 80%; + padding: 10px; + text-align: center; + } + + script. + const msg = document.getElementById('msg'); + const successText = `\nSuccess Flush! Back to Misskey\n成功しました。Misskeyを開き直してください。`; + + message('Start flushing.'); + + (async function() { + try { + localStorage.clear(); + message('localStorage cleared.'); + + const idbPromises = ['MisskeyClient', 'keyval-store'].map((name, i, arr) => new Promise((res, rej) => { + const delidb = indexedDB.deleteDatabase(name); + delidb.onsuccess = () => res(message(`indexedDB "${name}" cleared. (${i + 1}/${arr.length})`)); + delidb.onerror = e => rej(e) + })); + + await Promise.all(idbPromises); + + if (navigator.serviceWorker.controller) { + navigator.serviceWorker.controller.postMessage('clear'); + await navigator.serviceWorker.getRegistrations() + .then(registrations => { + return Promise.all(registrations.map(registration => registration.unregister())); + }) + .catch(e => { throw Error(e) }); + } + + message(successText); + } catch (e) { + message(`\n${e}\n\nFlush Failed. Please retry.\n失敗しました。もう一度試してみてください。`); + message(`\nIf you retry more than 3 times, clear the browser cache or contact to instance admin.\n3回以上試しても失敗する場合、ブラウザのキャッシュを消去し、それでもだめならインスタンス管理者に連絡してみてください。\n`) + + console.error(e); + setTimeout(() => { + location = '/'; + }, 10000) + } + })(); + + function message(text) { + msg.insertAdjacentHTML('beforeend', `

[${(new Date()).toString()}] ${text.replace(/\n/g,'
')}

`) + } + + body + #msg From aad9579a0948ac222628aa1df7716245e75a268f Mon Sep 17 00:00:00 2001 From: ThatOneCalculator Date: Tue, 5 Jul 2022 20:19:15 -0700 Subject: [PATCH 13/22] Fix --- packages/backend/src/server/web/boot.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/backend/src/server/web/boot.js b/packages/backend/src/server/web/boot.js index 9b2341a7a..3db288219 100644 --- a/packages/backend/src/server/web/boot.js +++ b/packages/backend/src/server/web/boot.js @@ -14,10 +14,10 @@ // ブロックの中に入れないと、定義した変数がブラウザのグローバルスコープに登録されてしまい邪魔なので (async () => { window.onerror = (e) => { - await renderError('SOMETHING_HAPPENED', e); + renderError('SOMETHING_HAPPENED', e); }; window.onunhandledrejection = (e) => { - await renderError('SOMETHING_HAPPENED_IN_PROMISE', e); + renderError('SOMETHING_HAPPENED_IN_PROMISE', e); }; const v = localStorage.getItem('v') || VERSION; @@ -47,7 +47,7 @@ localStorage.setItem('localeVersion', v); } else { await checkUpdate(); - await renderError('LOCALE_FETCH_FAILED'); + renderError('LOCALE_FETCH_FAILED'); return; } } @@ -57,7 +57,7 @@ import(`/assets/${CLIENT_ENTRY}`) .catch(async e => { await checkUpdate(); - await renderError('APP_FETCH_FAILED', e); + renderError('APP_FETCH_FAILED', e); }) //#endregion @@ -108,7 +108,7 @@ document.head.appendChild(css); } - async function renderError(code, details) { + function renderError(code, details) { let errorsElement = document.getElementById('errors'); if (!errorsElement) { @@ -154,7 +154,7 @@ ${JSON.stringify(details)}`; errorsElement.appendChild(detailsElement); - await addStyle(` + addStyle(` * { font-family: BIZ UDGothic, Roboto, HelveticaNeue, Arial, sans-serif; } From ef319e6f6b2c88dc8dfab8bf137fd309914619bc Mon Sep 17 00:00:00 2001 From: Kainoa Kanter <44733677+ThatOneCalculator@users.noreply.github.com> Date: Wed, 6 Jul 2022 18:16:58 -0700 Subject: [PATCH 14/22] BIOS -> Repair tool --- packages/backend/src/server/web/boot.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/backend/src/server/web/boot.js b/packages/backend/src/server/web/boot.js index 3db288219..abd368708 100644 --- a/packages/backend/src/server/web/boot.js +++ b/packages/backend/src/server/web/boot.js @@ -138,7 +138,7 @@

From f8c2182719eb7cf6def36c6f0685a633adf92f56 Mon Sep 17 00:00:00 2001 From: ThatOneCalculator Date: Wed, 6 Jul 2022 20:34:42 -0700 Subject: [PATCH 15/22] Fix --- packages/backend/src/server/web/boot.js | 5 ++++- packages/backend/src/server/web/views/flush.pug | 1 - 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/backend/src/server/web/boot.js b/packages/backend/src/server/web/boot.js index 3db288219..0c116450b 100644 --- a/packages/backend/src/server/web/boot.js +++ b/packages/backend/src/server/web/boot.js @@ -159,13 +159,16 @@ font-family: BIZ UDGothic, Roboto, HelveticaNeue, Arial, sans-serif; } + .misskey_app { + display: none; + } + body, html { background-color: #222; color: #dfddcc; justify-content: center; margin: auto; - width: 80%; padding: 10px; text-align: center; } diff --git a/packages/backend/src/server/web/views/flush.pug b/packages/backend/src/server/web/views/flush.pug index a2256800d..7e0e77dc7 100644 --- a/packages/backend/src/server/web/views/flush.pug +++ b/packages/backend/src/server/web/views/flush.pug @@ -18,7 +18,6 @@ html background-color: #222; justify-content: center; margin: auto; - width: 80%; padding: 10px; text-align: center; } From 08fde9abdd594cea7b33338c0cab07c1a4fa3d04 Mon Sep 17 00:00:00 2001 From: ThatOneCalculator Date: Wed, 6 Jul 2022 20:38:02 -0700 Subject: [PATCH 16/22] Typo --- packages/backend/src/server/web/boot.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/backend/src/server/web/boot.js b/packages/backend/src/server/web/boot.js index f0c3ea781..6ff4b3723 100644 --- a/packages/backend/src/server/web/boot.js +++ b/packages/backend/src/server/web/boot.js @@ -159,8 +159,8 @@ font-family: BIZ UDGothic, Roboto, HelveticaNeue, Arial, sans-serif; } - .misskey_app { - display: none; + #misskey_app { + display: none !important; } body, From 47bc3821514cfd582f9557ca3f020bc8e412df35 Mon Sep 17 00:00:00 2001 From: ThatOneCalculator Date: Wed, 6 Jul 2022 20:42:54 -0700 Subject: [PATCH 17/22] Adjust style --- packages/backend/src/server/web/boot.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/backend/src/server/web/boot.js b/packages/backend/src/server/web/boot.js index 6ff4b3723..44df773f1 100644 --- a/packages/backend/src/server/web/boot.js +++ b/packages/backend/src/server/web/boot.js @@ -230,6 +230,7 @@ .icon-warning { color: #dec340; height: 4rem; + padding-top: 2rem; } h1 { @@ -244,7 +245,8 @@ background: #333; margin-bottom: 2rem; padding: 0.5rem 1rem; - border-radius: 5px; + width: 40rem; + border-radius: 10px; justify-content: center; margin: auto; } From bd05c804954ff3824bb08f917c294c7a649a9aa6 Mon Sep 17 00:00:00 2001 From: ThatOneCalculator Date: Wed, 6 Jul 2022 20:43:40 -0700 Subject: [PATCH 18/22] Adjust text --- packages/backend/src/server/web/boot.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/backend/src/server/web/boot.js b/packages/backend/src/server/web/boot.js index 44df773f1..acf6bc0a5 100644 --- a/packages/backend/src/server/web/boot.js +++ b/packages/backend/src/server/web/boot.js @@ -138,7 +138,7 @@

From efda6b0b7db92c3d00ce89b4af7ad61751e6c733 Mon Sep 17 00:00:00 2001 From: ThatOneCalculator Date: Wed, 6 Jul 2022 20:50:11 -0700 Subject: [PATCH 19/22] Flush -> Clear --- packages/backend/src/server/web/boot.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/backend/src/server/web/boot.js b/packages/backend/src/server/web/boot.js index acf6bc0a5..48474eeae 100644 --- a/packages/backend/src/server/web/boot.js +++ b/packages/backend/src/server/web/boot.js @@ -126,7 +126,7 @@

If the problem persists after refreshing, please contact your instance's administrator.
You may also try the following options:


From 7863088beafe4c59fb996f128c152f3bca75008a Mon Sep 17 00:00:00 2001 From: ThatOneCalculator Date: Wed, 6 Jul 2022 21:17:56 -0700 Subject: [PATCH 20/22] Revert flush changes --- .../backend/src/server/web/views/flush.pug | 93 +++++++------------ 1 file changed, 35 insertions(+), 58 deletions(-) diff --git a/packages/backend/src/server/web/views/flush.pug b/packages/backend/src/server/web/views/flush.pug index 7e0e77dc7..ec585a34d 100644 --- a/packages/backend/src/server/web/views/flush.pug +++ b/packages/backend/src/server/web/views/flush.pug @@ -1,70 +1,47 @@ doctype html html + #msg + script. + const msg = document.getElementById('msg'); + const successText = `\nSuccess Flush! Back to Misskey\n成功しました。Misskeyを開き直してください。`; - head - meta(charset='utf-8') - meta(name='application-name' content='Misskey') - title Misskey Repair Tool - style. - * { - font-family: BIZ UDGothic, Roboto, HelveticaNeue, Arial, sans-serif; - font-size: 16px; - color: #dfddcc; - } + message('Start flushing.'); - body, - html { - background-color: #222; - justify-content: center; - margin: auto; - padding: 10px; - text-align: center; - } + (async function() { + try { + localStorage.clear(); + message('localStorage cleared.'); - script. - const msg = document.getElementById('msg'); - const successText = `\nSuccess Flush! Back to Misskey\n成功しました。Misskeyを開き直してください。`; + const idbPromises = ['MisskeyClient', 'keyval-store'].map((name, i, arr) => new Promise((res, rej) => { + const delidb = indexedDB.deleteDatabase(name); + delidb.onsuccess = () => res(message(`indexedDB "${name}" cleared. (${i + 1}/${arr.length})`)); + delidb.onerror = e => rej(e) + })); - message('Start flushing.'); + await Promise.all(idbPromises); - (async function() { - try { - localStorage.clear(); - message('localStorage cleared.'); - - const idbPromises = ['MisskeyClient', 'keyval-store'].map((name, i, arr) => new Promise((res, rej) => { - const delidb = indexedDB.deleteDatabase(name); - delidb.onsuccess = () => res(message(`indexedDB "${name}" cleared. (${i + 1}/${arr.length})`)); - delidb.onerror = e => rej(e) - })); - - await Promise.all(idbPromises); - - if (navigator.serviceWorker.controller) { - navigator.serviceWorker.controller.postMessage('clear'); - await navigator.serviceWorker.getRegistrations() - .then(registrations => { - return Promise.all(registrations.map(registration => registration.unregister())); - }) - .catch(e => { throw Error(e) }); - } - - message(successText); - } catch (e) { - message(`\n${e}\n\nFlush Failed. Please retry.\n失敗しました。もう一度試してみてください。`); - message(`\nIf you retry more than 3 times, clear the browser cache or contact to instance admin.\n3回以上試しても失敗する場合、ブラウザのキャッシュを消去し、それでもだめならインスタンス管理者に連絡してみてください。\n`) - - console.error(e); - setTimeout(() => { - location = '/'; - }, 10000) + if (navigator.serviceWorker.controller) { + navigator.serviceWorker.controller.postMessage('clear'); + await navigator.serviceWorker.getRegistrations() + .then(registrations => { + return Promise.all(registrations.map(registration => registration.unregister())); + }) + .catch(e => { throw Error(e) }); } - })(); - function message(text) { - msg.insertAdjacentHTML('beforeend', `

[${(new Date()).toString()}] ${text.replace(/\n/g,'
')}

`) + message(successText); + } catch (e) { + message(`\n${e}\n\nFlush Failed. Please retry.\n失敗しました。もう一度試してみてください。`); + message(`\nIf you retry more than 3 times, clear the browser cache or contact to instance admin.\n3回以上試しても失敗する場合、ブラウザのキャッシュを消去し、それでもだめならインスタンス管理者に連絡してみてください。\n`) + + console.error(e); + setTimeout(() => { + location = '/'; + }, 10000) } + })(); - body - #msg + function message(text) { + msg.insertAdjacentHTML('beforeend', `

[${(new Date()).toString()}] ${text.replace(/\n/g,'
')}

`) + } From c57e7894148214afa366fee37783ef3518125122 Mon Sep 17 00:00:00 2001 From: ThatOneCalculator Date: Wed, 6 Jul 2022 23:16:37 -0700 Subject: [PATCH 21/22] Responsive --- packages/backend/src/server/web/boot.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/backend/src/server/web/boot.js b/packages/backend/src/server/web/boot.js index 48474eeae..af7f21de6 100644 --- a/packages/backend/src/server/web/boot.js +++ b/packages/backend/src/server/web/boot.js @@ -258,6 +258,11 @@ summary > * { display: inline; } + + @media screen and (max-width: 500px) { + details { + width: 50%; + } `) } From 349b288a8b5738a757e64e4d40d6f80cf43e7ed0 Mon Sep 17 00:00:00 2001 From: ThatOneCalculator Date: Wed, 6 Jul 2022 23:19:06 -0700 Subject: [PATCH 22/22] Also hide splash --- packages/backend/src/server/web/boot.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/backend/src/server/web/boot.js b/packages/backend/src/server/web/boot.js index af7f21de6..0a5cc0e0d 100644 --- a/packages/backend/src/server/web/boot.js +++ b/packages/backend/src/server/web/boot.js @@ -159,7 +159,8 @@ font-family: BIZ UDGothic, Roboto, HelveticaNeue, Arial, sans-serif; } - #misskey_app { + #misskey_app, + #splash { display: none !important; }