Offline-First Service Worker

Overview Modernized the service worker to handle fingerprinted assets and surface a polite update prompt. The Challenge Stale caches and outdated asset paths broke offline support and confused users. The Approach Static list replaced with cache-by-prefix for /css/ and /js/. Added updatefound banner wiring with SKIP_WAITING. Network-aware guard to skip SW on localhost and slow connections. The Outcome Reliable offline behavior, clearer updates, and fewer cache-related support pings.

October 5, 2025