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

Rework handling of fully active status #276

Merged
merged 2 commits into from
Jun 4, 2024
Merged

Conversation

rakuco
Copy link
Member

@rakuco rakuco commented Jun 3, 2024

Related to #275, where it is explained that the current model of activating
data delivery again when a document becomes fully active is unclear.

Furthermore, doing the same thing to workers based on whether they are
active needed workers or not does not have precedent in other specs and it
is not clear if the current steps even work or not.

Instead, do the following:

  • Remove the steps that handle a document becoming fully active again and
    point to Properly determine bfcache integration strategy #275.
  • Remove the steps that handle a worker becoming an active needed worker
    again for symmetry (and also because it is not clear if it can become an
    active worker again once it it stops being so).
  • Merge the "Handle unloading document and closing of workers" section into
    the "Handling change of fully active" one.
    • For documents, the former was basically duplicating the latter. In fact,
      the "unloading document cleanup steps" are how specs are supposed to
      react to a document no longer being fully active.
    • For workers, the "active needed worker" references have been replaced by
      a check for the value of the closing flag in WorkerGlobalScope.
  • Use proper algorithm steps instead of prose to outline the steps that must
    be performed in both cases.

Preview | Diff

@rakuco rakuco requested review from kenchris and arskama June 3, 2024 16:13
Related to #275, where it is explained that the current model of activating
data delivery again when a document becomes fully active is unclear.

Furthermore, doing the same thing to workers based on whether they are
active needed workers or not does not have precedent in other specs and it
is not clear if the current steps even work or not.

Instead, do the following:
- Remove the steps that handle a document becoming fully active again and
  point to #275.
- Remove the steps that handle a worker becoming an active needed worker
  again for symmetry (and also because it is not clear if it _can_ become an
  active worker again once it it stops being so).
- Merge the "Handle unloading document and closing of workers" section into
  the "Handling change of fully active" one.
  - For documents, the former was basically duplicating the latter. In fact,
    the "unloading document cleanup steps" are how specs are supposed to
    react to a document no longer being fully active.
  - For workers, the "active needed worker" references have been replaced by
    a check for the value of the `closing` flag in WorkerGlobalScope.
- Use proper algorithm steps instead of prose to outline the steps that must
  be performed in both cases.
@rakuco rakuco force-pushed the rework-fully-active-sections branch from 66c00f5 to 33d8962 Compare June 4, 2024 08:36
@rakuco rakuco merged commit 0c7812f into main Jun 4, 2024
2 checks passed
@rakuco rakuco deleted the rework-fully-active-sections branch June 4, 2024 09:33
rakuco pushed a commit that referenced this pull request Jun 4, 2024
… list

Follow-up to #276: use `|relevantGlobal|` in the Document fully active
checks just like we do in the workers section right after it.
rakuco pushed a commit that referenced this pull request Jun 4, 2024
… list (#277)

Follow-up to #276: use `|relevantGlobal|` in the Document fully active
checks just like we do in the workers section right after it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants