diff --git a/public/sw.js b/public/serviceWorker.js similarity index 54% rename from public/sw.js rename to public/serviceWorker.js index 718e87074..b02eaf058 100644 --- a/public/sw.js +++ b/public/serviceWorker.js @@ -1,3 +1,20 @@ +self.addEventListener("install", function (event) { + self.skipWaiting(); +}); + +// Clear old caches from vite-plugin-pwa +self.addEventListener("activate", function (event) { + event.waitUntil( + (async function () { + const cacheNames = await caches.keys(); + for (const cacheName of cacheNames) { + await caches.delete(cacheName); + } + await self.clients.claim(); + })() + ); +}); + // Receive push notifications self.addEventListener("push", function (event) { if (self.Notification?.permission !== "granted") { diff --git a/src/main.js b/src/main.js index a22b80764..4c8858367 100644 --- a/src/main.js +++ b/src/main.js @@ -44,8 +44,10 @@ app.component("FontAwesomeIcon", FontAwesomeIcon); app.mount("#app"); +// Service Worker +// Mainly for Webpush notification if ("serviceWorker" in navigator) { - navigator.serviceWorker.register("/sw.js", { scope: "/" }).catch((error) => { + navigator.serviceWorker.register("/serviceWorker.js", { scope: "/" }).catch((error) => { console.error("Service worker registration failed:", error); }); }