diff options
| author | Adam Soltys <[email protected]> | 2026-03-06 22:57:02 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-03-06 22:57:02 -0800 |
| commit | d51f8c8629c804e5b86ca29873175ba922e64e92 (patch) | |
| tree | 68cabe954dbae3beb9ee006bac98b297808811de /src | |
| parent | 7a4a59b044026f139ecfb144d1e24664d0f6f4cc (diff) | |
| download | coinos-ui-d51f8c8629c804e5b86ca29873175ba922e64e92.tar.gz coinos-ui-d51f8c8629c804e5b86ca29873175ba922e64e92.zip | |
register service worker on demand for push notifications
If no service worker is registered (e.g. staging static file serving),
register it explicitly so pushManager is available.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Diffstat (limited to 'src')
| -rw-r--r-- | src/routes/(app)/settings/account/+page.svelte | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/routes/(app)/settings/account/+page.svelte b/src/routes/(app)/settings/account/+page.svelte index 7560aad0..86d6c7f4 100644 --- a/src/routes/(app)/settings/account/+page.svelte +++ b/src/routes/(app)/settings/account/+page.svelte @@ -32,7 +32,10 @@ if (!browser) return; try { - pm = navigator?.serviceWorker && (await navigator.serviceWorker.getRegistration())?.pushManager; + if (!navigator?.serviceWorker) { pmReady = true; return; } + let reg = await navigator.serviceWorker.getRegistration(); + if (!reg) reg = await navigator.serviceWorker.register("/service-worker.js"); + pm = reg?.pushManager; if (!pm) { pmReady = true; return; } permission = await pm.permissionState({ |
