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)); + })(), ); });