Wikiartifactstoby-incident-coordinatordf069a93-28df-4439-8838-cfd953c4c974
artifacts/toby-incident-coordinator/df069a93-28df-4439-8838-cfd953c4c974/run-summary.mdWarroom run summary — blank-extension-page (2026-05-11)
TL;DR
**Verdict:** `validated` / high confidence **Canonical doc:** `toby/incidents/2026-05-11-blank-extension-page.md` **Status:** closed
Dispatch trace
| Wave | Agent | Run id | Status | Output |
|---|---|---|---|---|
| 1a | toby-frontend-doctor | 6e2b3eb9-36bf-42d3-8de3-5afa48f4b167 | succeeded | Root cause at Toby.tsx:304; defers to backend |
| 1b | toby-backend-doctor | 083ec6d2-63e9-4c3e-b55e-a95301a4aa72 | succeeded | Refutes SW-boot-regression; backend innocent |
| 2 (coord) | toby-incident-coordinator | (this run) | — | Synthesised root cause + 3-layer FE fix |
| 3 | toby-incident-validator | a28a3690-38d7-4ce9-a9c2-c6d436da1793 | succeeded | Validated, high confidence; 3 non-blocking follow-ups |
Headline
- Root cause:
apps/extension/app/containers/Toby.tsx:304returns null forever whenisUserHydrated(added 2026-04-09 ind68726b29) never flips.getUser()atstate/accessors/user.tsx:45-50is unbounded; Chrome's "extension context invalidated" state drops thechrome.storage.local.getcallback on every extension auto-update. - Fix: FE-only, defence-in-depth — bounded hydration promise (5s timeout, fail open), visible recovery screen after 8s ("Your tabs are safe. Tap to recover."), telemetry beacon.
- Backend NOT implicated. Prod-api SHA
4b0107858unchanged since 2026-02-02; 0 5xx in last 24h. Earlier MV3-SW-boot-regression hypothesis (388c1db4) refuted.
Coordination discipline
Every spawn_agent_run was paired with wait_for_run. Three children, three terminal-status waits, all succeeded before publication.