-
Notifications
You must be signed in to change notification settings - Fork 319
Closed
Description
Where
Location: TPAC, Lyon, France.
When: 9AM, October, 25, 2018
Minutes
Attendance
Please let us know if you're planning on attending the F2F meeting.
Agenda
The agenda is subject to change reflecting the progress of the work. Please update it if you notice things outdated or missing.
Implementer update
Share implementation status and issues, performance issues, compatibility issues, etc.
- Discuss on the concerns Safari folks had around the push API.
Changes & bugs
- Multiple service worker instances
- Allowing multiple worker threads: consider allowing multiple worker thread instances for a single registration #756.
- Exposing mulitple instances via DOM: thoughts on exposing multiple-instances to sites via the DOM #1185.
- Using separate instances for each functional event: consider allowing multiple worker thread instances for a single registration #756 (comment).
- Service worker resurrection
- Should we ditch resurrection?: resurrected service workers don't fire an activate event which may break expectations #1204.
- Behavior of
ready
promise when controlling rgistration is resurrected: ready promise doesn't work right when controlling registration is resurrected #1198.
ready
promise weirdnessready
promise is kind of weird with overlapping scopes: ready promise is kind of weird with overlapping scopes #1278.ready
promise is kind of weird after you call unregister(): ready promise is kind of weird after you call unregister() #1279.
- Does changing
updateViaCache
mint a newServiceWorkerRegistration
or update them all?: Does changing updateViaCache mint a new ServiceWorkerRegistration or update them all? #1189. This is being implemented. We need to help them by working on the corresponding part of the spec. - FetchEvent.navigationLoadType: Proposal: FetchEvent.navigationLoadType #1167. The spec and the implmentations are underway. We need to review them.
- Is the browser required to start the ServiceWorker for
postMessage()
if there is no message event handler?: is the browser required to start the ServiceWorker for postMessage() if there is no message event handler? #1200, Nerfing all events on all event targets in a serviceworker after initial script evaluation seems odd whatwg/dom#371 (comment). - Async waitUntil microtask issue: async waitUntil microtask issue #1213.
- "no-cors" CSS SOP violation: "no-cors" CSS SOP violation #719.
- What happens to the request body if the fetch isn't handled?: What happens to the request body if the fetch isn't handled? #1191.
- Exposing the identity of service workers and a clients: Find a way for service workers to get their current state #1077, Expose environment ids? #643.
- "Unregister" operation may be interrupted by
ServiceWorker#postMessage
: "Unregister" operation may be interrupted byServiceWorker#postMessage
#1146. - Should a service worker be allowed to register new service workers?: Should a service worker be allowed to register new service workers? #1117.
- What happens if an initial about:blank inherits a controller, but its navigation request does not match any service worker?: what happens if an initial about:blank inherits a controller, but its navigation request does not match any service worker? #1232.
- Should
Client.navigate()
reject on uncontrolled clients?: should Client.navigate() reject on uncontrolled clients? #1254. updatefound
event in service worker context seems unreliable:updatefound
event in service worker context seems unreliable #1255.- Should blob URLs inherit controller from parent environment or environment that called
createObjectURL
: should blob URLs inherit controller from parent environment or environment that calledcreateObjectURL()
? #1261. - Should local URLs check origin before inheritting a controller?: should local URLs check origin before inheritting a controller? #1262.
- Should a SW
client.id
persists across Discards/Reloads of the same page?: Should a SW client.id persists across Discards/Reloads of the same page? #1263. - Scope matching algorithm breaks sites that don't end in a slash: Scope matching algorithm breaks sites that don't end in a slash #1272.
- Should the worker be removed from the registration before its state is set to "redundant"?: Should the worker be removed from the registration *before* its state is set to "redundant"? #1273.
- The Cache objects do not expire unless authors or users delete the entries.: The Cache objects do not expire unless authors *or users* delete the entries. #1276.
- Possible race between Activate and Update Algorithms: Possible race between Activate and Update Algorithms #1285.
- Consider a method to force immediate disk deletion even if there are live Cache/Response js objects: consider a method to force immediate disk deletion even if there are live Cache/Response js objects #1287.
- SharedWorker script interception after redirects: SharedWorker script interception after redirects #1289.
Client.postMessage()
throwing for unloaded client is problematic: Client.postMessage() throwing for unloaded client is problematic #1291.- Confusion around new events after
skipWaiting
: Confusion around new events after skipWaiting #1295. - Cache API: Cache-Control headers and Opaque Responses: Cache API: Cache-Control headers and Opaque Responses #1299.
- Should prefetch loads trigger FetchEvents?: should prefetch loads trigger FetchEvents? #1302.
- Spec says
update()
should resolve to a registration, but browsers do different things: spec saysupdate()
should resolve to a registration, but browsers do different things #1304. - How can
unregister()
's same-origin check ever fail?: how can unregister()'s same-origin check ever fail? #1305. - Service-Worker-Allowed can be cross-origin to the script URL.: Service-Worker-Allowed can be cross-origin to the script URL. #1307.
- Merge with storage: Merge with storage #1230.
- Background Fetch review
- Related issues: Keeping the service worker awake during a fetch. Does Background Fetch satisfy these requirements?
- Error handling for aborted streams feeding a navigation request: error handling for aborted streams feeding a navigation request #1184.
- How long can the service worker stay awake during an active fetch: How long can the service worker stay awake during an active fetch #1182.
- Related issues: Keeping the service worker awake during a fetch. Does Background Fetch satisfy these requirements?
- Covering use cases of foreign fetch?
- Dynamic import modules: Clarify dynamic-imported scripts are never installed #1356
- No way to beacon during activate: No good way to beacon during activate #1336
WPT status
TODO: Update this section.
Interesting feature requests
- Bypassing the service worker in particular cases
- Proposal: Allow
addEventListener
/removeEventListener
for 'fetch
' to called at anytime: Proposal: Allow addEventListener/removeEventListener for 'fetch' to called at anytime #1195. - Consider mechanisms to bypass the service worker for things that we know won't be in it's cache: Consider mechanisms to bypass the service worker for things that we know won't be in it's cache #1026.
- Proposal: Allow
- Service workers in the clients API & adding to windows
Clients.matchAll()
should exclude the current environment:Clients.matchAll()
should exclude the current environment #1037.- Support returning ServiceWorker Client environments from
Clients.matchAll()
: Support returning ServiceWorker Client environments fromClients.matchAll()
#1036. - Consider exposing
self.clients
on window and other worker globals: consider exposing self.clients on window and other worker globals #955.
- Recovering from fetch failures: Recovering from fetch failures #939.
- Enabling multiple Service Workers for a single scope: Enabling multiple Service Workers for a single scope #921.
- Consider providing
navigation
event: Consider providingnavigation
event #1028.- Service Worker Launch Event: https://wicg.github.io/sw-launch/
- Single-window mode option manifest#597
- A way to control which client (or type of client) receives a navigation: A way to control which client (or type of client) receives a navigation #758.
- Lifecycle for the web
- User initiated 'uninstall' event: user initiated 'uninstall' event #998.
- WICG proposal: https://github.com/WICG/web-lifecycle.
- Back forward cache
- Consider how Client API should behave with bfcache: consider how Client API should behave with bfcache #1038.
- Consider firing a "clientcontrolled" event on ServiceWorkerGlobalScope: consider firing a "clientcontrolled" event on ServiceWorkerGlobalScope #886.
- Allow caches to opt-in to granular cleanup: Allow caches to opt-in to granular cleanup #863.
- Preventing / delaying service worker updates
- Preventing server-forced updates: Preventing server-forced updates #822.
- Feature request: Provide a way to delay execution of a new service worker: Feature request: Provide a way to delay execution of a new service worker #1208.
- Allow preventing the update process to finish: Allow preventing the update process to finish #761.
- Save initial files into cache storage instead of browser's cache: Save initial files into cache storage instead of browser's cache #820.
registration.ready
promise: registration.ready promise #770.- Support updating multiple service workers coherently: support updating multiple service workers coherently #727.
- A way to immediately unregister a service worker: A way to immediately unregister a service worker #614.
- Consider exposing size for cache entries: consider exposing size for cache entries #587.
- Provide a one-line way to listen for a waiting Service Worker: Provide a one-line way to listen for a waiting Service Worker #1222.
- Provide a way to skipWaiting when the last tab refreshes: Provide a way to skipWaiting when the last tab refreshes #1238.
- Provide an easier way to listen for waiting/activated/redundant Service Workers: Provide an easier way to listen for waiting/activated/redundant Service Workers #1247.
- Service Worker handling of first page load subresources: Service Worker handling of first page load subresources #1282.
- Allow users to extend ExtendableEvent, anywhere: Allow users to extend ExtendableEvent, anywhere #1290.
- Formalizing a timeout API: Formalizing a timeout API #1292.
- Allow active worker to immediately evict itself: Allow active worker to immediately evict itself #1296.
- Give a fine grade to the Service Worker's lifetime: Give a fine grade to the Service Worker's lifetime #1297.
V1
Should have been done by this point.
asakusuma and flaki
Metadata
Metadata
Assignees
Labels
No labels