From e275b3da94a83060db82dde54318722314005b29 Mon Sep 17 00:00:00 2001 From: murdle Date: Sun, 21 Dec 2025 16:33:44 +0200 Subject: [PATCH] fix unregister --- assets/public/custom/pushMessages.js | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/assets/public/custom/pushMessages.js b/assets/public/custom/pushMessages.js index 662158de..bd21709c 100644 --- a/assets/public/custom/pushMessages.js +++ b/assets/public/custom/pushMessages.js @@ -5,9 +5,10 @@ function checkServiceWorkerSupport() { async function isPushRegistered() { checkServiceWorkerSupport(); + try { - const regs = await navigator.serviceWorker.getRegistrations(); - for (const reg of regs) { + const registrations = await navigator.serviceWorker.getRegistrations(); + for (const reg of registrations) { if (!reg.pushManager) continue; const sub = await reg.pushManager.getSubscription(); @@ -26,14 +27,21 @@ async function isPushRegistered() { async function unregisterPush() { checkServiceWorkerSupport(); - const reg = await navigator.serviceWorker.ready; - const sub = await reg.pushManager.getSubscription(); - if (sub) { - await sub.unsubscribe(); - } - if (!window.IS_IOS) { - await reg.unregister(); + const registrations = await navigator.serviceWorker.getRegistrations(); + if (!registrations || registrations.length === 0) return; + + for (const reg of registrations) { + if (!reg.pushManager) continue; + + const sub = await reg.pushManager.getSubscription(); + if (sub) { + await sub.unsubscribe(); + } + + if (!window.IS_IOS) { + await reg.unregister(); + } } }