From 239ff865bfe5d34af4eeb652b9657024b1bd027b Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Feb 2026 13:16:49 +0800 Subject: [PATCH] fix: Clear 2.1.0 frontend PWA cache (#6933) Co-authored-by: Louis Lam --- public/{sw.js => serviceWorker.js} | 17 +++++++++++++++++ src/main.js | 4 +++- 2 files changed, 20 insertions(+), 1 deletion(-) rename public/{sw.js => serviceWorker.js} (54%) 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); }); }