From 37917ac1dac2149551401e0cd8d4c67f950df938 Mon Sep 17 00:00:00 2001 From: Ardis Lu Date: Thu, 3 Aug 2023 21:04:06 -0700 Subject: [PATCH] Match with latest cache instead of all caches Fixes endless refresh bug when multiple cache versions exist --- sw.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sw.js b/sw.js index 87c02cf..78b73a4 100644 --- a/sw.js +++ b/sw.js @@ -2,7 +2,7 @@ const cacheName = 'v5'; const cacheChannel = new BroadcastChannel('cache'); async function revalidate(request) { - const cachePromise = caches.match(request); + const cachePromise = caches.open(cacheName).then(c => c.match(request)); const originPromise = fetch(request); const [cacheResponse, originResponse] = await Promise.all([cachePromise, originPromise]); @@ -32,7 +32,7 @@ globalThis.addEventListener('fetch', event => { return; } - event.respondWith(caches.match(event.request).then(cacheResponse => { + event.respondWith(caches.open(cacheName).then(c => c.match(event.request)).then(cacheResponse => { const originResponse = revalidate(event.request); return cacheResponse === undefined ? originResponse : cacheResponse; })); -- 2.47.3