offliner
offliner copied to clipboard
Offliner is a proof of concept about bringing offline web applications through service workers
[As discussed](https://github.com/mozilla/wadi/issues/14#issuecomment-154212022), it seems more natural to provide a default update lifecycle of _activating on reload_ instead of waiting for explicit activation through `.activate()`.
This closes #8 , closes #7 , closes #6 and closes #5 . @mykmelez or @marco-c , do you want to take a look for a second opinion before merging?...
If the cache did not change, avoid opening the cache more than once.
Now it is possible to call `update()` and `activate()` with the client disconnected from the service worker. This is harmless but avoidable by using the `_connecting` promise introduced in #13...
@brittanystoroz did a very well job updating the documentation, the API should align with the vocabulary adopted by her.
Concepts like `data-root` or `data-worker` or the flag `isCalledFromInstall` are very service worker related, we should try to hide those _implementation details_.
The conditional here: https://github.com/delapuente/offliner/blob/master/demo/js/offliner-updater-reinstall.js#L29 Should be: ``` js if (this.flags.isCalledFromInstall || !this._onInstallOnly) { ```
If for some reason, in the last `activationPending` event, the new version did not get activated, the event won't be dispatched again unless the developer makes a explicit call to...
For completeness and to support transactional update strategies with rollback, include some way to notify inform the strategy about an activation.
Now _offliner_ is dispatching the messages to the worker controlling the client in which the `offliner-client` is running. This could no to be the same as the one with _offliner_....