Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Editorial: Introduce 'push subscription owner' concept #367

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 15 additions & 8 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,9 @@
a <a>push service</a>. An <a>application server</a> can send a <a>push message</a> at any
time, even when a web application or <a>user agent</a> is inactive. The <a>push service</a>
ensures reliable and efficient delivery to the <a>user agent</a>. <a>Push messages</a> are
delivered to a <a>Service Worker</a> that runs in the origin of the web application, which
can use the information in the message to update local state or display a notification to
the user.
delivered to a [=push subscription owner=] that runs in the origin of the web application,
which can use the information in the message to update local state or display a
notification to the user.
</p>
<p>
This specification is designed for use with the <a>web push protocol</a>, which describes
Expand Down Expand Up @@ -172,9 +172,16 @@ <h2>
<p>
A <dfn>push subscription</dfn> is a message delivery context established between the
<a>user agent</a> and the <a>push service</a> on behalf of a web application. Each
<a>push subscription</a> is associated with a <a>service worker registration</a> and a
<a>push subscription</a> is associated with a [=push subscription owner=].
</p>
<p>
A <dfn>push subscription owner</dfn> refers to a <a>service worker registration</a>. A
<a>service worker registration</a> has at most one <a>push subscription</a>.
</p>
<p class="note">
Future updates to this specification could expand the definition of a [=push subscription
owner=] to include other types, broadening the range of possible implementations.
Comment on lines +182 to +183
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like to see that future update before adding another layer of indirection. Do you have something more concrete to share?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I can send the larger PR... thought I'd start small and build it up, but happy to just send the larger change that separates between service worker and using window.navigator.pushManager.

</p>
<p>
A <a>push subscription</a> has an associated <dfn>push endpoint</dfn>. It MUST be the
absolute URL exposed by the <a>push service</a> where the <a>application server</a> can
Expand Down Expand Up @@ -431,13 +438,13 @@ <h2>
<li>the <a>push service</a> delivers the message to a specific <a>user agent</a>,
identifying the <a>push endpoint</a> in the message;
</li>
<li>the <a>user agent</a> identifies the intended <a>Service Worker</a> and activates it as
necessary, and delivers the <a>push message</a> to the <a>Service Worker</a>.
<li>the <a>user agent</a> identifies the intended [=push subscription owner=] and activates
it as necessary, and delivers the <a>push message</a> to the [=push subscription owner=].
</li>
</ul>
<p>
This overall framework allows <a>application servers</a> to activate a <a>Service
Worker</a> in response to events at the <a>application server</a>. Information about those
This overall framework allows <a>application servers</a> to activate a [=push subscription
owner=] in response to events at the <a>application server</a>. Information about those
events can be included in the <a>push message</a>, which allows the web application to
react appropriately to those events, potentially without needing to initiate network
requests.
Expand Down
Loading