diff --git a/frontend/src/routes/+layout.svelte b/frontend/src/routes/+layout.svelte index 55ff97d..bd3a8e9 100644 --- a/frontend/src/routes/+layout.svelte +++ b/frontend/src/routes/+layout.svelte @@ -25,7 +25,7 @@ } navigator.serviceWorker.ready.then((registration) => { - registration.active?.postMessage('Save client'); + registration.active.postMessage('Save client'); }); } }); diff --git a/frontend/src/sw.ts b/frontend/src/sw.ts index e873ab8..d7bd8dc 100644 --- a/frontend/src/sw.ts +++ b/frontend/src/sw.ts @@ -14,6 +14,12 @@ const ASSETS = [ ...prerendered // dynamic routes ]; +let client; + +addEventListener('message', event => { + client = event.source; +}); + self.addEventListener('install', (event) => { // Create a new cache and add all files to it async function addFilesToCache() { @@ -24,7 +30,7 @@ self.addEventListener('install', (event) => { event.waitUntil(addFilesToCache()); }); -const channel = new BroadcastChannel('sw-messages'); + self.addEventListener('activate', (event) => { @@ -36,7 +42,13 @@ self.addEventListener('activate', (event) => { } event.waitUntil(deleteOldCaches()); - channel.postMessage({title: 'Cache downloaded!'}); + let channel; + if(BroadcastChannel) { + channel = new BroadcastChannel('sw-messages'); + channel.postMessage({title: 'Cache Downloaded'}); + } else { + client.postMessage("Cache Downloaded") + } }); self.addEventListener('fetch', (event) => {