const CACHE_NAME = 'whisper-money-v1'; self.addEventListener('install', (event) => { self.skipWaiting(); }); self.addEventListener('activate', (event) => { event.waitUntil( caches.keys().then((cacheNames) => Promise.all( cacheNames .filter((name) => name !== CACHE_NAME) .map((name) => caches.delete(name)), ), ), ); self.clients.claim(); }); self.addEventListener('fetch', (event) => { // Let all requests pass through to the network. // The app handles offline state via IndexedDB (Dexie). });