From a7b349241cc7f3ad7efd6b63cf471a553552b39c Mon Sep 17 00:00:00 2001 From: murdle Date: Sun, 21 Dec 2025 16:21:14 +0200 Subject: [PATCH] fix push changes 2 --- assets/public/custom/pushMessages.js | 33 ++++++++++++++++------------ 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/assets/public/custom/pushMessages.js b/assets/public/custom/pushMessages.js index 8bbf05d6..cc96a1ed 100644 --- a/assets/public/custom/pushMessages.js +++ b/assets/public/custom/pushMessages.js @@ -4,14 +4,24 @@ function checkServiceWorkerSupport() { } async function isPushRegistered() { - checkServiceWorkerSupport(); - try { - const reg = await navigator.serviceWorker.ready; - const sub = await reg.pushManager.getSubscription(); - return !!sub; - } catch { - return false; - } + checkServiceWorkerSupport(); + try { + const regs = await navigator.serviceWorker.getRegistrations(); + for (const reg of regs) { + if (!reg.pushManager) continue; + + const sub = await reg.pushManager.getSubscription(); + if (sub) return true; + } + + const reg = await navigator.serviceWorker.getRegistration(); + if (!reg || !reg.pushManager) return false; + + const sub = await reg.pushManager.getSubscription(); + return !!sub; + } catch { + return false; + } } async function unregisterPush() { @@ -42,17 +52,14 @@ async function registerPush(publicKey) { } const registration = await navigator.serviceWorker.register("/assets/custom/serviceWorker.js"); - console.log("Service Worker registered"); let subscription = await registration.pushManager.getSubscription(); - if (!subscription) { const applicationServerKey = urlBase64ToUint8Array(publicKey); subscription = await registration.pushManager.subscribe({ userVisibleOnly: true, applicationServerKey }); - console.log("Push subscription obtained"); } const response = await fetch(`${window.GLOBAL_ENV.API_ENDPOINT}/v9/users/@me/devices`, { @@ -67,9 +74,7 @@ async function registerPush(publicKey) { }) }); - if (response.ok) { - console.log("Device registered successfully"); - } else { + if (!response.ok) { const text = await response.text(); throw new Error("Failed to register: ", text) }