From 47e763239944991d1a06a89dc8a8e26190235d3d Mon Sep 17 00:00:00 2001 From: or-else Date: Mon, 9 Aug 2021 16:04:31 -0700 Subject: [PATCH] better caching of out-of-band images --- service-worker.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/service-worker.js b/service-worker.js index d0967c87..59683739 100644 --- a/service-worker.js +++ b/service-worker.js @@ -135,7 +135,10 @@ self.addEventListener('fetch', event => { event.respondWith((async () => { // Try to find the response in the cache. const cache = await caches.open(PACKAGE_VERSION); - const cachedResponse = await cache.match(event.request); + + const reqUrl = new URL(event.request.url); + // Using ignoreSearch=true to read cached images and docs despite different auth signatures. + const cachedResponse = await cache.match(event.request, {ignoreSearch: (self.location.origin == reqUrl.origin)}); if (cachedResponse) { return cachedResponse; } @@ -144,7 +147,7 @@ self.addEventListener('fetch', event => { if (!response || response.status != 200 || response.type != 'basic') { return response; } - if (event.request.url && (event.request.url.startsWith('http://') || event.request.url.startsWith('https://'))) { + if (reqUrl.protocol == 'http:' || reqUrl.protocol == 'https:') { await cache.put(event.request, response.clone()); } return response;