| 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/'))) | |
| ) | |
| }) | |