Repository navigation
v0.2.3
TaskTick 0.2.3
Fixes the service worker that made the app look broken while online.
Reported as: the settings menu does not work, nothing saves, toggles do nothing.
The settings code was correct. The service worker was answering failed
navigations with the cached root shell, whatever route was requested, so the
client hydrated the wrong route's payload and every control on the page was
inert.
Compounding it, the worker's VERSION string had not changed since it was written
— not across the entire UI overhaul. Since sw.js was therefore byte-identical,
browsers never installed a new worker, and existing clients stayed pinned to the
old shell and old chunks indefinitely. A deploy that changes the app without
changing sw.js does not merely serve a stale page; it never updates the client at
all.
Fixes:
- A failing navigation is redirected to /offline instead of answered with a
document cached for a different URL. Only an exact-path match may be reused. - The offline page's own chunks are now precached. It previously loaded and
then died with ChunkLoadError, because the precache held documents but not
the content-hashed chunks they import. - A permanently-disabled push switch is replaced by a status row that explains
why notifications are unavailable, rather than looking like a broken toggle.
Verified in a real browser: an offline navigation to /settings redirects and
lands on a rendering /offline page. 550 unit tests, 94 API + 14 page + 23 origin
checks, zero type errors.
Full Changelog: https://github.com/ksmarty/tasktick/commits/v0.2.3