From: Ardis Lu Date: Wed, 25 Sep 2024 04:04:06 +0000 (-0700) Subject: Immediately replace old service workers X-Git-Url: https://git.ardis.lu/?a=commitdiff_plain;h=794e48b8bfa36f2b27ad4420f9b59e85d6d4b076;p=ardislu.dev Immediately replace old service workers --- diff --git a/sw.js b/sw.js index 78b73a4..1e7c991 100644 --- a/sw.js +++ b/sw.js @@ -27,7 +27,7 @@ async function revalidate(request) { // Implements stale-while-revalidate strategy: if there's anything in the cache, return that immediately. // Wait for the origin server's response in parallel and notify cacheChannel if the cache changed. -globalThis.addEventListener('fetch', event => { +addEventListener('fetch', event => { if (event.request.method !== 'GET') { return; } @@ -37,3 +37,6 @@ globalThis.addEventListener('fetch', event => { return cacheResponse === undefined ? originResponse : cacheResponse; })); }); + +addEventListener('install', skipWaiting); // Immediately override any pre-existing service worker +addEventListener('activate', () => clients.claim()); // Immediately intercept fetch requests after first registration without page reload