From 9845ccec5b70501b36e05a84206e38a1f53957c4 Mon Sep 17 00:00:00 2001 From: anatawa12 Date: Tue, 11 Jul 2023 18:24:10 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=AA=E3=83=95=E3=83=A9=E3=82=A4=E3=83=B3?= =?UTF-8?q?=E6=99=82=E3=81=AE=E7=94=BB=E9=9D=A2=E3=81=AB=E3=83=AA=E3=83=AD?= =?UTF-8?q?=E3=83=BC=E3=83=89=E3=83=9C=E3=82=BF=E3=83=B3=E3=82=92=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0=20=20(#11242)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: オフライン時の画面にリロードボタンを追加 リロードのためのボタンがないとPWAでインターネットが復帰しても何もできなくなるため。 * docs(changelog): add オフライン時の画面にリロードボタンを追加 --- CHANGELOG.md | 1 + packages/sw/src/sw.ts | 13 ++++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a03ca4ab8..8d6dd3a7d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,7 @@ - ユーザーのContextMenuに「アンテナに追加」ボタンを追加 - フォローやお気に入り登録をしていないチャンネルを開く時は概要ページを開くように - 画面ビューワをタップした場合、マウスクリックと同様に画像ビューワを閉じるように +- オフライン時の画面にリロードボタンを追加 - Fix: サーバーメトリクスが90度傾いている - Fix: 非ログイン時にクレデンシャルが必要なページに行くとエラーが出る問題を修正 - Fix: sparkle内にリンクを入れるとクリック不能になる問題の修正 diff --git a/packages/sw/src/sw.ts b/packages/sw/src/sw.ts index 2783f2bfb..1f085c739 100644 --- a/packages/sw/src/sw.ts +++ b/packages/sw/src/sw.ts @@ -21,6 +21,10 @@ globalThis.addEventListener('activate', ev => { ); }); +function offlineContentHTML(): string { + return `Offline. Service Worker @${_VERSION_} ` +} + globalThis.addEventListener('fetch', ev => { let isHTMLRequest = false; if (ev.request.headers.get('sec-fetch-dest') === 'document') { @@ -34,7 +38,14 @@ globalThis.addEventListener('fetch', ev => { if (!isHTMLRequest) return; ev.respondWith( fetch(ev.request) - .catch(() => new Response(`Offline. Service Worker @${_VERSION_}`, { status: 200 })), + .catch(() => { + return new Response(offlineContentHTML(), { + status: 200, + headers: { + 'content-type': 'text/html', + }, + }); + }), ); });