開発者がClaudeの助けを借りてNext.js PWAのサービスワーカー冗長バグをデバッグする

✍️ OpenClawRadar📅 公開日: March 15, 2026🔗 Source
開発者がClaudeの助けを借りてNext.js PWAのサービスワーカー冗長バグをデバッグする
Ad

ある開発者が、コーディングパートナーとしてClaudeをほぼ独占的に使用してSomniaという夢のインキュベーション・プログラミングアプリを構築した経験を共有しました。このアプリはNext.js 14のプログレッシブウェブアプリで、ネイティブアプリのようにホーム画面にインストールでき、睡眠/起床時間にプッシュ通知を送信し、すべてのデータをデバイス上にローカルで保存し、アプリストアでの配布を回避しています。

問題のバグ

開発者は、ウェブプッシュ通知が機能しないという重大な問題を3週間かけてデバッグしました。サービスワーカーは、Samsung AndroidデバイスのPWAスタンドアロンモードでインストール直後にREDUNDANT状態になり続けました。navigator.serviceWorker.getRegistrations()は、このモードでは常に空の配列を返しました。

デバッグプロセス

デバッグプロセス中、開発者は以下のことを行いました:

  • Claude、GPT、Gemini、Perplexityに支援を求めた
  • 完全なデバッグレポートを生成した
  • 15種類以上の異なる修正を試した
  • 最終的にサービスワーカーがREDUNDANTになる様子を表示するデバッグページを構築した
  • Claudeの助けを借りてchrome://serviceworker-internalsの出力を解釈した

根本原因

実際の問題は、sw.jsが古いビルドIDで誤ってgitにコミットされていたことでした。内部のプリキャッシュマニフェストは古いデプロイメントからアセットを取得しようとしており、それらはすべて404エラーを返していました。Workboxのインストールイベントは暗黙的に失敗し、サービスワーカーが毎回自己破壊する原因となっていました。

修正方法

解決策はシンプルでした:git rm --cachedコマンドでキャッシュから古いファイルを削除することで問題が修正されました。

開発者が諦めかけたとき、Claudeは体系的なデバッグを維持するのに役立ちました。また、このアプリにはAI生成コンテンツは一切含まれていません(すべての夢の記録は人間によって書かれています)が、ほぼ完全にClaudeとの対話を通じて構築されました。

📖 Read the full source: r/ClaudeAI

Ad

👀 See Also

Claudeで作られた偶然のダッシュボードが製品コミットメントの悪夢を生み出した
Use Cases

Claudeで作られた偶然のダッシュボードが製品コミットメントの悪夢を生み出した

ある開発者がClaudeを使って2日でダッシュボードを構築し、フィーチャーフラグを忘れてしまった。40人の顧客がそれを見つけて気に入っている。今、顧客はカスタマイズを求めており、ハードコードされたコードを拡張可能にするために3週間のリファクタリングが必要になっている。

OpenClawRadar
オープンソースのクロードコードスキルによる家族物流調整
Use Cases

オープンソースのクロードコードスキルによる家族物流調整

開発者が「Parent Helper」というClaude Codeスキルを構築しました。このスキルは、単一のマークダウンファイルとMCP連携を使用して、家族のスケジュール調整、食事計画、食料品の最適化を一元管理します。価格に基づいて店舗間でリストを分割することで、年間4,300ドルの食料品節約を見込んでいます。

OpenClawRadar
Redditユーザーがポートフォリオプロジェクト用のClaude Codeセットアップを共有
Use Cases

Redditユーザーがポートフォリオプロジェクト用のClaude Codeセットアップを共有

ある開発者が、手動のClaude.aiワークフローから、ファイルベースのメモリとCLAUDE.mdファイルを計画とドキュメントに使用する構造化されたClaude Codeアプローチへの移行について説明しています。

OpenClawRadar
非技術系のClaudeユーザーのためのSlackベースのデバッグシステム構築
Use Cases

非技術系のClaudeユーザーのためのSlackベースのデバッグシステム構築

開発者が7秒ごとにSlackチャンネルをポーリングするローカルClaudeスキルを作成し、非技術系チームメンバーがSlackスレッドで直接Claudeインスタンスにpingを送ることでデバッグ支援を受けられるようにしました。

OpenClawRadar