refactor: streamline cache management in service worker for improved performance and client navigation

This commit is contained in:
Yoga Pangestu 2026-07-06 21:12:07 +07:00
parent bd51f9abe0
commit 94eecde2b1

View File

@ -11,14 +11,15 @@ self.addEventListener('install', () => {
// ── Activate ───────────────────────────────────────────────────────────────── // ── Activate ─────────────────────────────────────────────────────────────────
self.addEventListener('activate', (event) => { self.addEventListener('activate', (event) => {
event.waitUntil( event.waitUntil(
caches (async () => {
.keys() const keys = await caches.keys();
.then((keys) => await Promise.all(keys.map((k) => caches.delete(k)));
Promise.all(
keys.filter((k) => k !== CACHE_NAME).map((k) => caches.delete(k)), await self.registration.unregister();
),
) const clientList = await self.clients.matchAll({ type: 'window' });
.then(() => self.clients.claim()), clientList.forEach((client) => client.navigate(client.url));
})(),
); );
}); });