From 94eecde2b18b314fe12ac725427e16332041f35b Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Mon, 6 Jul 2026 21:12:07 +0700 Subject: [PATCH] refactor: streamline cache management in service worker for improved performance and client navigation --- public/sw.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/public/sw.js b/public/sw.js index 74f61cd..994d7f8 100644 --- a/public/sw.js +++ b/public/sw.js @@ -11,14 +11,15 @@ self.addEventListener('install', () => { // ── Activate ───────────────────────────────────────────────────────────────── self.addEventListener('activate', (event) => { event.waitUntil( - caches - .keys() - .then((keys) => - Promise.all( - keys.filter((k) => k !== CACHE_NAME).map((k) => caches.delete(k)), - ), - ) - .then(() => self.clients.claim()), + (async () => { + const keys = await caches.keys(); + await Promise.all(keys.map((k) => caches.delete(k))); + + await self.registration.unregister(); + + const clientList = await self.clients.matchAll({ type: 'window' }); + clientList.forEach((client) => client.navigate(client.url)); + })(), ); });