make PWA chat resume idempotent
This commit is contained in:
+13
-2
@@ -2,8 +2,19 @@ export function registerServiceWorker() {
|
||||
if (!import.meta.env.PROD || !("serviceWorker" in navigator)) return;
|
||||
|
||||
window.addEventListener("load", () => {
|
||||
void navigator.serviceWorker.register("/sw.js").catch((error: unknown) => {
|
||||
console.warn("Sybil service worker registration failed", error);
|
||||
const hadController = Boolean(navigator.serviceWorker.controller);
|
||||
let isReloadingForUpdate = false;
|
||||
navigator.serviceWorker.addEventListener("controllerchange", () => {
|
||||
if (!hadController || isReloadingForUpdate) return;
|
||||
isReloadingForUpdate = true;
|
||||
window.location.reload();
|
||||
});
|
||||
|
||||
void navigator.serviceWorker
|
||||
.register("/sw.js", { updateViaCache: "none" })
|
||||
.then((registration) => registration.update())
|
||||
.catch((error: unknown) => {
|
||||
console.warn("Sybil service worker registration failed", error);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user