Intent to Implement and Ship: PushSubscription.expirationTime

47 views
Skip to first unread message

Peter Beverloo

unread,
May 5, 2017, 9:11:07 AM5/5/17
to blink-dev
Contact emails
 
Spec
 
A TAG review for the entire Push API has been requested here:
 
 
Summary
The Push API has a concept for refreshing a subscription, enabling the user agent to create a new subscription on behalf of the application at a time of its choosing. The time of doing such a refresh, if at all, is implementation-defined.
 

The `expirationTime` attribute, when set, attribute gives the developer an upper bound on when such a refresh may happen, enabling them to clean up their databases if a subscription has not been replaced yet at the indicated time.
 
Chrome does not refresh subscriptions yet, but we plan to start doing so later this year. (Which will be covered in a separate Intent to Implement.) For now we will always return NULL.
 
Motivation
There are push services that always expire subscriptions, so this is a step in preparing developers for the idea that this *can* happen.
 
Interoperability and Compatibility Risk
Very low. Discussion happened on GitHub: https://github.com/w3c/push-api/issues/86
 
Edge: Public support
Firefox: Public support
Safari: No signals
Web developers: No signals
 
Ongoing technical constraints
None.
 
Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
All but Android WebView, where the Push API is not supported.
 
OWP launch tracking bug
 
Link to entry on the feature dashboard
 
Requesting approval to ship?
Yes

Chris Harrelson

unread,
May 8, 2017, 1:48:58 PM5/8/17
to Peter Beverloo, blink-dev
LGTM1

--
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+unsubscribe@chromium.org.

Jochen Eisinger

unread,
May 9, 2017, 12:35:34 PM5/9/17
to Chris Harrelson, Peter Beverloo, blink-dev
lgtm2

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

Rick Byers

unread,
May 11, 2017, 12:53:13 PM5/11/17
to Jochen Eisinger, Chris Harrelson, Peter Beverloo, blink-dev
It sounds like (in the future) there will be some compat risk to Chrome starting to refresh subscriptions, right?  But I guess that's a concern for a future intent.  This LGTM3

lgtm2

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

Rick Byers

unread,
May 11, 2017, 12:58:21 PM5/11/17
to Jochen Eisinger, Chris Harrelson, Peter Beverloo, blink-dev
Forgot to ask: what's the status of interop testing?  The current template has this section:

Is this feature fully tested by web-platform-tests?

Please link to the test suite. If any part of the feature is not tested by web-platform-tests, please include links to issues, e.g.:

  • A web-platform-tests issue with the "infra" label explaining why a certain thing cannot be tested. (example)

  • A spec issue for some change that would make it possible to test. (example)

  • A Chromium issue to upstream some existing tests. (example)

An Intent to Ship requires either a web platform test suite or such issues to be filed explaining why such a test suite is currently impossible or in the progress of being upstreamed.

Peter Beverloo

unread,
May 11, 2017, 3:00:25 PM5/11/17
to Rick Byers, Jochen Eisinger, Chris Harrelson, blink-dev
Yeah, refreshing subscriptions will bring a significant compatibility risk. Question for another day. Even when (and if) we start doing so, it'll continue to be valid for other user agents to never refresh subscriptions, so the value of `null` will continue to be entirely valid.

On Thu, May 11, 2017 at 5:57 PM, Rick Byers <rby...@chromium.org> wrote:
Forgot to ask: what's the status of interop testing?  The current template has this section:

Is this feature fully tested by web-platform-tests?

Please link to the test suite. If any part of the feature is not tested by web-platform-tests, please include links to issues, e.g.:

  • A web-platform-tests issue with the "infra" label explaining why a certain thing cannot be tested. (example)

  • A spec issue for some change that would make it possible to test. (example)

  • A Chromium issue to upstream some existing tests. (example)

An Intent to Ship requires either a web platform test suite or such issues to be filed explaining why such a test suite is currently impossible or in the progress of being upstreamed.

Per the other thread: captured in the following GitHub issue against WPT:


Thanks,
Peter


m...@kanishkdudeja.com

unread,
Jun 22, 2017, 9:38:14 AM6/22/17
to blink-dev
I see that Firefox supports this and Chrome might be supporting this later this year.

How can we, as developers, manually trigger an expiration? Since we will need to test our code for the time when subscriptions actually start to expire.

Peter Beverloo

unread,
Jun 22, 2017, 12:42:00 PM6/22/17
to m...@kanishkdudeja.com, blink-dev
Hi Kanishk,

For now you can't, but we're definitely going to make sure it's well testable when we implement subscription expiration in Chrome. (Maybe with a button in DevTools or something similar.)

Thanks,
Peter

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
Reply all
Reply to author
Forward
0 new messages