Skip to content

Commit 53d8c3c

Browse files
committed
flushがうごかないのを修正
1 parent fb697ac commit 53d8c3c

File tree

5 files changed

+40
-53
lines changed

5 files changed

+40
-53
lines changed

gulpfile.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ gulp.task('cleanall', gulp.parallel('clean', cb =>
6262
gulp.task('build:client:script', () => {
6363
// eslint-disable-next-line node/no-unpublished-require
6464
const client = require('./built/meta.json');
65-
return gulp.src(['./src/client/app/boot.js'])
65+
return gulp.src(['./src/client/app/boot.js', './src/client/app/flush.js'])
6666
.pipe(replace('VERSION', JSON.stringify(client.version)))
6767
.pipe(replace('ENV', JSON.stringify(env)))
6868
.pipe(replace('LANGS', JSON.stringify(Object.keys(locales))))

src/client/app/flush.js

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
const msg = document.getElementById('msg');
2+
const successText = `\nSuccess Flush! <a href="/">Back to Misskey</a>\n成功しました。<a href="/">Misskeyを開き直してください。</a>`;
3+
4+
message('Start flushing.');
5+
6+
(async function() {
7+
try {
8+
localStorage.clear();
9+
10+
if (navigator.serviceWorker && navigator.serviceWorker.controller) {
11+
navigator.serviceWorker.controller.postMessage('clear');
12+
await navigator.serviceWorker.getRegistrations()
13+
.then(registrations => {
14+
return Promise.all(registrations.map(registration => registration.unregister()));
15+
})
16+
.catch(e => { throw Error(e) });
17+
}
18+
19+
document.cookie = 'i=; path=/';
20+
21+
message(successText);
22+
} catch (e) {
23+
message(`\n${e}\n\nFlush Failed. <a href="/flush">Please retry.</a>\n失敗しました。<a href="/flush">もう一度試してみてください。</a>`);
24+
message(`\nIf you retry more than 3 times, clear the browser cache or contact to instance admin.\n3回以上試しても失敗する場合、ブラウザのキャッシュを消去し、それでもだめならインスタンス管理者に連絡してみてください。\n`)
25+
26+
console.error(e);
27+
setTimeout(() => {
28+
location = '/';
29+
}, 10000)
30+
}
31+
})();
32+
33+
function message(text) {
34+
msg.insertAdjacentHTML('beforeend', `<p>${text.replace(/\n/g,'<br>')}</p>`)
35+
}

src/client/assets/flush.html

-16
This file was deleted.

src/server/web/index.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -420,7 +420,9 @@ router.get('/othello', async ctx => ctx.redirect(override(ctx.URL.pathname, 'gam
420420
router.get('/reversi', async ctx => ctx.redirect(override(ctx.URL.pathname, 'games')));
421421

422422
router.get('/flush', async ctx => {
423-
await ctx.render('flush');
423+
await ctx.render('flush', {
424+
version: config.version
425+
});
424426
});
425427

426428
// streamingに非WebSocketリクエストが来た場合にbase htmlをキャシュ付きで返すと、Proxy等でそのパスがキャッシュされておかしくなる

src/server/web/views/flush.pug

+1-35
Original file line numberDiff line numberDiff line change
@@ -2,39 +2,5 @@ doctype html
22

33
html
44
#msg
5-
script.
6-
const msg = document.getElementById('msg');
7-
const successText = `\nSuccess Flush! <a href="/">Back to Misskey</a>\n成功しました。<a href="/">Misskeyを開き直してください。</a>`;
5+
script(src=`/assets/flush.js?${version}`)
86

9-
message('Start flushing.');
10-
11-
(async function() {
12-
try {
13-
localStorage.clear();
14-
15-
if (navigator.serviceWorker.controller) {
16-
navigator.serviceWorker.controller.postMessage('clear');
17-
await navigator.serviceWorker.getRegistrations()
18-
.then(registrations => {
19-
return Promise.all(registrations.map(registration => registration.unregister()));
20-
})
21-
.catch(e => { throw Error(e) });
22-
}
23-
24-
document.cookie = 'i=; path=/';
25-
26-
message(successText);
27-
} catch (e) {
28-
message(`\n${e}\n\nFlush Failed. <a href="/flush">Please retry.</a>\n失敗しました。<a href="/flush">もう一度試してみてください。</a>`);
29-
message(`\nIf you retry more than 3 times, clear the browser cache or contact to instance admin.\n3回以上試しても失敗する場合、ブラウザのキャッシュを消去し、それでもだめならインスタンス管理者に連絡してみてください。\n`)
30-
31-
console.error(e);
32-
setTimeout(() => {
33-
location = '/';
34-
}, 10000)
35-
}
36-
})();
37-
38-
function message(text) {
39-
msg.insertAdjacentHTML('beforeend', `<p>${text.replace(/\n/g,'<br>')}</p>`)
40-
}

0 commit comments

Comments
 (0)