export const forceUpdate = async () => { const registrations = await navigator.serviceWorker?.getRegistrations() ?? []; registrations.forEach(({ waiting }) => { waiting?.addEventListener('statechange', (event) => { if ((event.target as any)?.state === 'activated') { window.location.reload(); } }); // The logic that makes skipWaiting to be called when this message is posted is in service-worker.ts waiting?.postMessage({ type: 'SKIP_WAITING' }); }); };