Wait for service worker to be active before subscribing

The push subscription requires an active service worker. When
registering a new service worker, we now wait for it to become
active using navigator.serviceWorker.ready before attempting
to subscribe to push notifications.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Rosa Gutierrez
2026-01-23 13:40:19 +01:00
committed by Rosa Gutierrez
parent c650cba179
commit 26d5701217
@@ -55,8 +55,9 @@ export default class extends Controller {
return navigator.serviceWorker.getRegistration("/service-worker.js", { scope: "/" })
}
#registerServiceWorker() {
return navigator.serviceWorker.register("/service-worker.js", { scope: "/" })
async #registerServiceWorker() {
await navigator.serviceWorker.register("/service-worker.js", { scope: "/" })
return navigator.serviceWorker.ready
}
async #subscribe(registration) {