At a glance
- Identifier: #1052
- Stage: RFC X / Superseded
- Champion: @yaacovCR
- Latest activity: 8 commits pushed on 2024-01-30
- Spec PR: https://github.com/graphql/graphql-spec/pull/1052
Spec PR description
Iterating on #1034 and #1026, removed mutation of internal state, event stream management, and the need for subprocedures.
YieldSubsequentPayloads now is passed the entirety of the "state," pending futures, etc, monitors for any changes to pending futures, rebuilds a new "state" representation based on any changes, yields a single result as necessary, and then recursively calls itself to yield remaining results.
[The diff to main might be helpful, but this is built on top of the amazing #742 and so the diff from that branch could be more useful.]
Timeline
- 8 commits pushed on 2024-01-30:
- yaacovCR committed "simplify"
- yaacovCR committed "minor fixes to the major rewrite"
- yaacovCR committed "switch line order"
- yaacovCR committed "add return line when finished"
- yaacovCR committed "finish renaming update"
- yaacovCR committed "initialize only after yielding"
- yaacovCR committed "fix reset of variable"
- yaacovCR committed "fix variable name typo"
- 2 commits pushed on 2024-01-29:
- yaacovCR committed "fix typo, changing ancestors to parent"
- yaacovCR committed "move ExecuteInitialResult to later"
- 2 commits pushed on 2024-01-28:
- yaacovCR committed "refine ReleaseFragment"
- yaacovCR committed "complete renaming"
- Commit pushed on 2024-01-27 by yaacovCR: typo
- 9 commits pushed on 2024-01-26:
- yaacovCR committed "use some initialization magic"
- yaacovCR committed "Remove GetNonEmptyParent"
- yaacovCR committed "this should never be previously defined, as each future is returned e…"
- yaacovCR committed "fix mistake when setting count"
- yaacovCR committed "rename {defers} to {deferredFragments}"
- yaacovCR committed "a child defer state is always defined unless removed here"
- yaacovCR committed "get rid of count and sent"
- yaacovCR committed "Rename GetSinglyDeferredFutures to FilterNestedFutures"
- yaacovCR committed "add some more magic"
- 4 commits pushed on 2024-01-19:
- yaacovCR committed "change to have an incremental update stream mapped to an incremental …"
- yaacovCR committed "small fix with regard to update packaging"
- yaacovCR committed "editorial change"
- yaacovCR committed "Fix typo"
- Commit pushed on 2024-01-18 by yaacovCR: rewrite
- Commit pushed on 2024-01-15 by yaacovCR: fix how new defer usages are collected
- 3 commits pushed on 2024-01-10:
- yaacovCR committed "only save defer parent rather than all ancestors"
- yaacovCR committed "remove Incremental Digests concept"
- yaacovCR committed "if nested defers are completed, keep processing them"
- 8 commits pushed on 2024-01-09:
- yaacovCR committed "Add GetPending algorithm"
- yaacovCR committed "fix nomenclature for GetParentAndParentDeferState"
- yaacovCR committed "doc: add more prose for ProcessIncrementalDigests"
- yaacovCR committed "fix: add missing incremental digest processing for streams"
- yaacovCR committed "nit: add caps for Deferred Fragment"
- yaacovCR committed "fix: remove unnecessary variable"
- yaacovCR committed "fix: change variable name to be consistent"
- yaacovCR committed "fix typos in GetUpdatesForDeferredResult"
- Commit pushed on 2023-12-07 by yaacovCR: enhance(ResolveFieldValue): add async collection language
- 2 commits pushed on 2023-12-06:
- yaacovCR committed "move Field Collection section earlier"
- robrichard committed "Introduce @defer."
- Spec PR created on 2023-11-06 by yaacovCR
- Commit pushed on 2023-08-21 by benjie: Correct reference to MergeSelectionSets
- 2 commits pushed on 2023-04-28:
- benjie committed "Extract common logic from ExecuteQuery, ExecuteMutation and ExecuteSu…"
- benjie committed "Change ExecuteSelectionSet to ExecuteGroupedFieldSet"
- Commit pushed on 2022-08-18 by robrichard: Introduce @stream.