Re: Progress on Push API

On 1 May 2014 17:31, Jonas Sicking <jonas@sicking.cc> wrote:
>> If it's going to happen over and over, why not an event?
>>
>> function register() {
>>   navigator.push.register().then(endpoint => sendToAppServer(endpoint));
>> }
>> navigator.push.onderegister = e => register;
>
> For two reasons:
>
> * If the page does some initialization asynchronously then it might
> miss that the "deregister" event fires. I.e. it is very easy to
> accidentally register the onderegister event handler "too late".
> * It would require that we for each page that the user visits check if
> that page has a registration, and if that registration has been lost
> by the server. We only want to do this on pages that care about push
> registration and is actually going to make a registration if needed.
> Not for every page the user visits.

Fair points, but with a an event coupled to a state (attribute boolean
registered), this can be avoided.  I guess that the point of your
second proposal at least is that it sort of rolls all that into the
one package.

I think that I prefer the "registration needed callback" approach,
even though it seems to be a little surprising in the sense that it
shares many characteristics with events.  Maybe a onregistrationneeded
event would be a closer fit.

Received on Friday, 2 May 2014 05:18:42 UTC