const C='lyra-v2'; self.addEventListener('install',e=>self.skipWaiting()); self.addEventListener('activate',e=>e.waitUntil(clients.claim())); self.addEventListener('fetch',e=>{ if(e.request.method!=='GET'||e.request.url.includes('/api/'))return; e.respondWith(caches.open(C).then(c=>c.match(e.request).then(r=> r||(fetch(e.request).then(res=>{if(res.ok)c.put(e.request,res.clone());return res}).catch(()=>r))))); });