Write apps/web/docs/concepts-service-worker.md for sw.js: registration lifecycle, the content-free push handler, notification click routing, update/skip-waiting behaviour, and what the app does offline.
Acceptance criteria:
- Documents registration, activation and the update path, including how a stale worker is replaced
- Documents the push handler and confirms payloads are content-free by design, cross-linking the backend push docs
- Documents click-to-route behaviour, including focusing an existing tab rather than opening a duplicate
- States plainly what does and does not work offline today
Write
apps/web/docs/concepts-service-worker.mdforsw.js: registration lifecycle, the content-free push handler, notification click routing, update/skip-waiting behaviour, and what the app does offline.Acceptance criteria: