Avoid stuck state for push subscriptions and fix path vs. url in notification itself #2421
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR includes a few fixes related to web push notifications:
When you had already granted notification permission but hadn't completed the subscription flow (no service worker or no push subscription), the UI showed neither the subscribe button nor the enabled state, leaving you stuck with no way to subscribe, and wrong instructions to fix it.
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.readybefore attempting to subscribe to push notifications. This prevents the following error:and the button not working.
Fix notification click URL by using the correct data propertyThe web push payload sends the URL inReverted: see comment.data.url, but the service worker was looking fordata.path, resulting in `/undefined' URLs and 404 errors.