From 29bd405fa75c78d3cb169ea9ae4587f5ccab4f9b Mon Sep 17 00:00:00 2001 From: sajald77 Date: Thu, 26 Sep 2024 15:44:26 -0400 Subject: [PATCH] fix: add refetch service worker on load --- src/context/serviceWorkerUpdate.tsx | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/context/serviceWorkerUpdate.tsx b/src/context/serviceWorkerUpdate.tsx index f7c494ad9..e99b04589 100644 --- a/src/context/serviceWorkerUpdate.tsx +++ b/src/context/serviceWorkerUpdate.tsx @@ -43,11 +43,7 @@ export const ServiceWorkerProvider = ({ children }: { children: React.ReactNode } = useRegisterSW({ onRegisteredSW(swUrl, r) { if (r) { - setInterval(async () => { - if (!(!r.installing && navigator)) return - - if ('connection' in navigator && !navigator.onLine) return - + const refetch = async () => { const resp = await fetch(swUrl, { cache: 'no-store', headers: { @@ -56,6 +52,15 @@ export const ServiceWorkerProvider = ({ children }: { children: React.ReactNode }, }).catch((error) => console.log('error', error)) if (resp?.status === 200) await r.update() + } + + refetch() + setInterval(async () => { + if (!(!r.installing && navigator)) return + + if ('connection' in navigator && !navigator.onLine) return + + refetch() }, REFETCH_SW_INTERVAL_MS) } },