export function flushCachesAndUnregisterServiceWorker() { return new Promise((resolve) => { if (!navigator.serviceWorker) { console.log("No service worker active"); return resolve(); } navigator.serviceWorker.addEventListener("message", (event) => { if (event.data.type === "cacheFlushed") { console.log("Cache flushed"); // Then unregister all service workers navigator.serviceWorker.getRegistrations().then((registrations) => { for (const registration of registrations) { registration.unregister(); console.log("Service worker unregistered"); resolve(); } }); } }); // First flush active cache navigator.serviceWorker.ready.then((registration) => { registration.active!.postMessage({ type: "flushCache" }); }); }); }