Better boot handling

This commit is contained in:
syuilo 2021-01-16 13:46:46 +09:00
parent 1a50ddbd48
commit 652cae6c59
2 changed files with 6 additions and 10 deletions

View File

@ -60,8 +60,6 @@ import { getThemes } from './theme-store';
console.info(`Misskey v${version}`);
window.clearTimeout((window as any).mkBootTimer);
if (_DEV_) {
console.warn('Development mode!!!');
@ -170,6 +168,8 @@ if ($i && $i.token) {
//#endregion
fetchInstance().then(() => {
localStorage.setItem('v', instance.version);
// Init service worker
//if (this.store.state.instance.meta.swPublickey) this.registerSw(this.store.state.instance.meta.swPublickey);
});

View File

@ -50,14 +50,9 @@
script.setAttribute('src', `/assets/app.${v}.js${salt}`);
script.setAttribute('async', 'true');
script.setAttribute('defer', 'true');
head.appendChild(script);
script.addEventListener('error', async () => {
document.documentElement.innerHTML = '読み込みに失敗しました。';
// 3秒経ってもスクリプトがロードされない場合はバージョンが古くて
// 404になっているせいかもしれないので、バージョンを確認して古ければ更新する
//
// 読み込まれたスクリプトからこのタイマーを解除できるように、
// グローバルにタイマーIDを代入しておく
window.mkBootTimer = window.setTimeout(async () => {
// TODO: サーバーが落ちている場合などのエラーハンドリング
const res = await fetch('/api/meta', {
method: 'POST',
@ -74,7 +69,8 @@
'New version of Misskey available. The page will be reloaded.');
refresh();
}
}, 3000);
});
head.appendChild(script);
//#endregion
//#region Theme