Open installed dashboard offline with a versioned app shell #226

Closed
opened 2026-08-07 20:48:28 +00:00 by timmy · 0 comments
Owner

Problem

The installable mobile dashboard caches only its manifest and icons. Navigations and the HTML/JavaScript shell remain network-only, so an installed app cannot reopen during an outage to recover local drafts. Service-worker activation also deletes unrelated origin caches.

Vertical slice

Ship a revisioned, subpath-safe app shell that opens offline, keeps all API traffic network-only, preserves unrelated caches, exposes an accessible offline state, and refreshes live data on reconnection.

Acceptance criteria

  • Install atomically caches the dashboard HTML, manifest, icons, and every first-party JavaScript module.
  • Navigations are network-first and fall back to the cached shell, including share-target query URLs.
  • Shell assets are cache-first; API, non-GET, and cross-origin requests are never intercepted or cached.
  • Activation removes only old stackchain-dashboard-* caches.
  • The UI announces offline state, keeps local draft recovery reachable, and refreshes live data after reconnection.
  • Root and /dashboard/ deployments generate correctly scoped cache URLs.
  • Executable service-worker behavioral tests and the full suite pass.
## Problem The installable mobile dashboard caches only its manifest and icons. Navigations and the HTML/JavaScript shell remain network-only, so an installed app cannot reopen during an outage to recover local drafts. Service-worker activation also deletes unrelated origin caches. ## Vertical slice Ship a revisioned, subpath-safe app shell that opens offline, keeps all API traffic network-only, preserves unrelated caches, exposes an accessible offline state, and refreshes live data on reconnection. ## Acceptance criteria - Install atomically caches the dashboard HTML, manifest, icons, and every first-party JavaScript module. - Navigations are network-first and fall back to the cached shell, including share-target query URLs. - Shell assets are cache-first; API, non-GET, and cross-origin requests are never intercepted or cached. - Activation removes only old `stackchain-dashboard-*` caches. - The UI announces offline state, keeps local draft recovery reachable, and refreshes live data after reconnection. - Root and `/dashboard/` deployments generate correctly scoped cache URLs. - Executable service-worker behavioral tests and the full suite pass.
timmy self-assigned this 2026-08-07 20:48:28 +00:00
timmy closed this issue 2026-08-07 20:57:33 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: stackchain/stackchain-dashboard#226
No description provided.