Skip to content

デモ: Service Worker の登録に上限を置き、消去の失敗の文言を直す - #164

Merged
kochizufan merged 1 commit into
masterfrom
fix/demo-tile-cache-sw-limit
Nov 9, 2026
Merged

kochizufan merged 1 commit into
masterfrom
fix/demo-tile-cache-sw-limit

Conversation

@kochizufan

Copy link
Copy Markdown
Member

症状

  • Service Worker が制御を始めたのに疎通確認(…/ping への fetch)が返らない環境では、Weiwudi.registerSW に待ちの上限が無く(上限があるのは制御を待つ 10 秒だけ)、デモ全体が起動しませんでした。
  • 消去の確認でサイズを読み取れなかったとき、「消去できませんでした(サイズ 不明が残っています)」と出ていました。

直し方

  • ensureServiceWorker に、デモ側の上限 15 秒を置きました。上限に達したら、既存の失敗と同じ経路でキャッシュ無しのまま起動し、節に「Service Worker の登録が時間内に終わりませんでした」を出します。上限に負けたあとで登録が解決・失敗しても、起動には影響しません。
  • 消去の確認でサイズを読み取れなかったときの文言を「消去を確認できませんでした(サイズを読み取れません)」にしました。サイズが読めて 0 でないときの文言は変えていません。
  • 変更は demo/demo.ts と e2e/demo-cache.spec.ts だけです(src/・package.json・CHANGELOG.md は触っていません)。

確かめ方

e2e/demo-cache.spec.ts に次を足しました(修正前は落ちることを確認してから直しています)。

  • register が返らない場合と、実際に登録・制御されたうえで ping の fetch だけが返らない場合の 2 つ。どちらも page.clock を goto の前に止め、待ちの開始(ページ上部の状態表示)を確かめてから 14 秒進めて「まだ起動していない」ことを、さらに 2 秒進めて「キャッシュ無しで起動する」ことを確かめます。
  • 読み取れないときの新しい文言、読めて残っているときの文言(回帰)。

手元で --repeat-each=5 を 95 回すべて緑で通しています(chromium)。

🤖 Generated with Claude Code

- ensureServiceWorker に 15 秒の上限を置く(Weiwudi.registerSW は疎通確認の fetch に上限が無い)
- 消去の確認でサイズを読み取れないときの文言を「消去を確認できませんでした」にする
- e2e: 登録が返らない場合と ping が返らない場合、新しい文言を試験する

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kochizufan
kochizufan marked this pull request as ready for review November 9, 2026 07:11
@kochizufan
kochizufan merged commit d2f7b14 into master Nov 9, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant