Discuss reclaiming service workers on hard-refresh
Goal
If there is no Service Worker (SW) controller (active/activating SW) we are NOT be considering push notifications supported following the merge of !1890 (merged), because otherwise, the users will see a button to enable push notifications that just times out on click because it cannot communicate with a service worker to register. Following the merge, the button will just not appear if there is no service worker controller, which regardless of the decision made on the actionable section of this card is correct behavior.
This state can happen when you HARD refresh your browser ((ctrl + ) shift + f5). This is intentional behavior so that the reload is cacheless (meaning without an active service worker).
There is an argument that we could attempt to reregister the SW on hard refresh to improve UX, which is what the purpose of this card is, however it is a contested argument, because it flies against the spec. It seems the intent is that a HARD refresh, should load the page without a SW controller, presumably to aide in development and prevent caching. To pick one example: Twitter DOES respect that F5 loads without a controlling service worker.
(here is an Angular core dev weighing in on the debate)
My personal opinion is that we should respect the spec and allow hard refreshes to NOT load service workers, but other people's opinions should weigh in, thus I'm making a card explaining the problem space.
What needs to be done
Discuss and come up with actionables, if any (which this section could be replaced by)
QA
Unknown at present.
UX/Design
Not applicable though UX is a big factor in the discussion - is it acceptable to not have the buttons to enable show on HARD refresh if that is what a HARD refresh is supposed to do?
Personas
Dev team to discuss, if we decide to proceed, end-users would be the persona.
Experiments
Not applicable.
Acceptance Criteria
-
Discuss whether we want to change this. Make further criteria if we do. ...
Definition of Ready Checklist
-
Definition Of Done (DoD) -
Acceptance criteria -
Weighted -
QA -
UX/Design -
Personas -
Experiments