f84d934da5
Telemetry isolated the last boot-slow source (id9): warm edge, fast shell (60ms), but chunks took 2.6-4.7s on the LAN-fast dev box, 26min post-deploy — i.e. NOT network/origin. Cause: on the first load of a new build the new SW ran skipWaiting()+clients.claim(), activating mid-boot — deleting the old cache and seizing the loading page, yanking the cache from under the ~16 in-flight chunk requests (the sz0 + clustered-start + staggered-finish signature). Fix (Codex-approved): remove skipWaiting() and clients.claim() so a new worker installs quietly and takes control on the NEXT navigation, never mid-boot. The post-deploy first load then completes under the stable old worker (cache intact) against the warmed edge. Cache cleanup stays in activate (now runs only at the deferred, safe activation); old immutable chunks live 14 days at the origin regardless, so a slightly-behind worker still loads safely. Trade-off — SW/shell update applies one navigation later — is fine: the shell is edge-cached and the SW's only job is offline/slow-network fallback. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>