From 9222f058ac24b6723ab9e59a2f1ebd7f00552a4e Mon Sep 17 00:00:00 2001 From: multipleof4 Date: Fri, 22 Aug 2025 21:20:51 -0700 Subject: [PATCH] Update sw.js --- public/sw.js | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/public/sw.js b/public/sw.js index 62301fc..3c1b73a 100644 --- a/public/sw.js +++ b/public/sw.js @@ -1,19 +1,19 @@ -const log = (...a) => console.log('[SW]', ...a) +const V="1" +const send=a=>self.clients.matchAll({type:"window",includeUncontrolled:true}).then(cs=>cs.forEach(c=>c.postMessage(a))) -self.addEventListener('install', e => { - log('install') +self.addEventListener('install',e=>{ self.skipWaiting() }) -self.addEventListener('activate', e => { - log('activate') - e.waitUntil(self.clients.claim()) +self.addEventListener('activate',e=>{ + e.waitUntil((async()=>{await self.clients.claim();await send({type:'SW_ACTIVE',v:V,ts:Date.now()})})()) }) -self.addEventListener('fetch', e => { - if (e.request.mode === 'navigate') log('navigate', e.request.url) +self.addEventListener('fetch',e=>{ + if(e.request.mode==='navigate') send({type:'SW_NAVIGATE',url:e.request.url,ts:Date.now()}) }) -self.addEventListener('message', e => { - log('message', e.data) +self.addEventListener('message',e=>{ + if(e.data&&e.data.type==='PING'){(e.source||null)?.postMessage({type:'PONG',v:V,ts:Date.now()})||send({type:'PONG',v:V,ts:Date.now()})} + else send({type:'SW_MESSAGE',data:e.data,ts:Date.now()}) })