const CACHE = 'snapkitty-sovereign-v1.1' const CORE = ['/sovereign-emulator/', '/sovereign-emulator/index.html'] self.addEventListener('install', e => { self.skipWaiting() e.waitUntil(caches.open(CACHE).then(c => c.addAll(CORE).catch(() => {}))) }) self.addEventListener('activate', e => { e.waitUntil( caches.keys().then(keys => Promise.all(keys.filter(k => k !== CACHE).map(k => caches.delete(k))) ) ) self.clients.claim() }) self.addEventListener('fetch', e => { e.respondWith( caches.match(e.request).then(r => r || fetch(e.request).catch(() => caches.match('/sovereign-emulator/'))) ) })