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(); + } } }