From 591671ef82546ab21d7a53bcf34b0d9efcf0e565 Mon Sep 17 00:00:00 2001 From: ayoayco Date: Thu, 15 Aug 2024 16:25:25 +0200 Subject: [PATCH] fix: prevent fetch duplication & use preloadResponsePromise --- src/sw.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/sw.js b/src/sw.js index 4d51b43..a86d9f7 100644 --- a/src/sw.js +++ b/src/sw.js @@ -34,12 +34,12 @@ const tryCache = async (request, fallbackUrl) => { try { // get network response for revalidation of stale assets - const responseFromNetwork = await fetch(request.clone(), {signal: AbortSignal.timeout(5000)}); + const responseFromNetwork = await fetch(request.clone()); if (responseFromNetwork) { console.info('[cozy-sw]: fetched updated assets', responseFromNetwork.url); putInCache(request, responseFromNetwork.clone()); } - } catch { + } catch(error) { console.info('[cozy-sw]: failed to fetch updated assets', request.url); } @@ -56,7 +56,7 @@ const tryCache = async (request, fallbackUrl) => { const cacheAndRevalidate = async ({ request, preloadResponsePromise, fallbackUrl }) => { - tryCache(request, fallbackUrl); + return tryCache(request, fallbackUrl); try { // Try to use the preloaded response, if it's there @@ -65,7 +65,7 @@ const cacheAndRevalidate = async ({ request, preloadResponsePromise, fallbackUrl // https://github.com/mdn/dom-examples/issues/145 // To avoid those errors, remove or comment out this block of preloadResponse // code along with enableNavigationPreload() and the "activate" listener. - // const preloadResponse = await preloadResponsePromise; + const preloadResponse = await preloadResponsePromise; if (preloadResponse) { console.info('[cozy-sw]: using preload response', preloadResponse.url); putInCache(request, preloadResponse.clone());