fix(pwa): bump field-shell cache to v2 — evicts stale UI for installed PWAs
Deploy to route.crispygoat.com / deploy (push) Successful in 4m7s
Deploy to route.crispygoat.com / deploy (push) Successful in 4m7s
The Apple HIG polish pass (liquid-glass chrome, iOS SegmentedControl, ThresholdMeter) was already on origin/main and live, but anyone with the /water PWA installed on their home screen kept seeing the OLD UI because the SW cache name never bumped. Old SW had field-shell-v1 baked into its bytes for every prior deploy. The activate handler only deletes caches that aren't SHELL_CACHE or DATA_CACHE and start with 'field-'. Same name = no eviction = stale HTML + chunks forever. Bumping SHELL_CACHE to 'field-shell-v2' makes the SW bytes change, which triggers the normal SW upgrade flow: install → skipWaiting → activate → claim clients The activate handler then evicts field-shell-v1 (it's now a foreign field-* cache). On next navigation the new SHELL_CACHE is repopulated with the fresh /water HTML + static assets, and the user gets the new UI.
This commit is contained in:
+6
-1
@@ -12,7 +12,12 @@
|
||||
// Cache names are deliberately prefixed with `field-` so they never
|
||||
// collide with the main `rc-shell-v*` / `rc-data-v*` caches.
|
||||
|
||||
const SHELL_CACHE = "field-shell-v1";
|
||||
// Bumped to v2 after the Apple HIG polish pass (liquid-glass chrome,
|
||||
// iOS SegmentedControl, ThresholdMeter). The activate handler keeps
|
||||
// only this name + DATA_CACHE — anything else starting with `field-`
|
||||
// (including the old v1) is evicted on the next SW activation, which
|
||||
// happens automatically because the bytes of this file changed.
|
||||
const SHELL_CACHE = "field-shell-v2";
|
||||
const DATA_CACHE = "field-data-v1";
|
||||
const OFFLINE_URL = "/offline.html";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user