Hi Antonio,

Thank you for working on this - this is a great change: especially on
Android it's very easy for users to accidentally disable, and then
immediately re-enable notification permission, without realising that they
have to visit the site again in order to continue receiving notifications.
This creates a convenient recovery path in the way the spec intended.

We should monitor whether we could safely create a new subscription
internally and pass it to the `pushsubscriptionchange` event, but as you
mention it's not entirely clear what existing implementations of the event
do. Manually creating a new subscription is safe in either scenario, and
forward compatible with passing in one ourselves as `subscribe()` is
designed to be called any number of times.

Thanks,
Peter

On Fri, Apr 11, 2025 at 1:46 PM Antonio Sartori <antoniosart...@chromium.org>
wrote:

> Contact emailsantoniosart...@chromium.org
>
> ExplainerNone
>
> Specification
> https://w3c.github.io/push-api/#the-pushsubscriptionchange-event
>
> Summary
>
> Fire the pushsubscriptionchange event in service workers when an origin
> for which a push subscription existed in the past, but which was revoked
> because of a permission change (from granted to deny/default), is
> re-granted notification permission. The event will be fired with an empty
> oldSubscription and newSubscription.
>
>
> Blink componentBlink>PushAPI
> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EPushAPI%22>
>
> Motivation
>
> This change is helpful for web developers and for users. On the one hand,
> when regranting notification permissions, used are likely to expect to
> start receiving again notifications right away. On the other hand, web
> developers must basically keep trying resubscribing to notifications in
> order to recover from a permission being ungranted and then granted again.
> The specification supports the pushsubscriptionchange event, although is
> relatively vague around the exact circumstances in which such event may or
> should be fired.
>
>
> Initial public proposalNone
>
> TAG reviewNone
>
> TAG review statusNot applicable
>
> Risks
>
>
> Interoperability and Compatibility
>
> None
>
>
> *Gecko*: Shipped/Shipping (
> https://bugzilla.mozilla.org/show_bug.cgi?id=1497429) Firefox seems to
> already implement a similar behavior, see
> https://bugzilla.mozilla.org/show_bug.cgi?id=1497429
>
> *WebKit*: No signal Seems shipped, but couldn't figure out the exact
> details. See
> https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerGlobalScope/pushsubscriptionchange_event
>
> *Web developers*: No signals Likely positive, see for example
> https://issues.chromium.org/issues/40129474
>
> *Other signals*:
>
> WebView application risks
>
> Does this intent deprecate or change behavior of existing APIs, such that
> it has potentially high risk for Android WebView-based applications?
>
> None
>
>
> Debuggability
>
> None
>
>
> Is this feature fully tested by web-platform-tests
> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
> ?No
>
> Flag name on about://flagsNone
>
> Finch feature nameNone
>
> Non-finch justificationNone
>
> Requires code in //chrome?False
>
> Tracking bughttps://issues.chromium.org/issues/407523313
>
> Launch bughttps://launch.corp.google.com/launch/4390563
>
> Estimated milestones
>
> M137
>
> Link to entry on the Chrome Platform Status
> https://chromestatus.com/feature/5147683423256576?gate=6273678305918976
>
> This intent message was generated by Chrome Platform Status
> <https://chromestatus.com/>.
>
> --
> You received this message because you are subscribed to the Google Groups
> "blink-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to blink-dev+unsubscr...@chromium.org.
> To view this discussion visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOzWxF6xvYb-0qkPaZbhNFuS86__DEg8curFPGRtuDak8x%3D31g%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOzWxF6xvYb-0qkPaZbhNFuS86__DEg8curFPGRtuDak8x%3D31g%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALt3x6nyXW7e6Z5Ay2TNEJcJUaTfK46o9icqijTLZ1NsgNT70Q%40mail.gmail.com.

Reply via email to