RFC: incremental delivery: without branching, with deduplication#3886
RFC: incremental delivery: without branching, with deduplication#3886yaacovCR merged 1 commit intographql:mainfrom
Conversation
✅ Deploy Preview for compassionate-pike-271cb3 ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
|
Hi @yaacovCR, I'm @github-actions bot happy to help you with this PR 👋 Supported commandsPlease post this commands in separate comments and only one per comment:
|
0e36b36 to
d4f1dc1
Compare
8cb6f27 to
a62d71e
Compare
7c321d2 to
00cf75e
Compare
d103d3e to
2fbb293
Compare
a95891b to
77a74c1
Compare
0d5368e to
fb33581
Compare
|
This week's update: I have pushed a few fixes to the spec and impl PRs ==> these revolve mostly around when it's actually appropriate to figure whether a deferred fragment is "empty," we now do so lazily rather than eagerly to avoid some edge cases. This serendipitously also simplifies the Now the only events/messages from the (A). or what has happened at a given path of execution, i.e.: (F). No hidden knowledge required. For those interested: The birds eye flow within the implementation/spec:
The In fact, because the |
|
Merging to implement graphql/defer-stream-wg#69 |
This in the main PR implements the major ideas from the latest incremental delivery proposal, graphql/defer-stream-wg#69 which is centered around the idea of deduplication of execution and delivery.
This PR is part of the following stack:
#3886 = main PR (this PR!) switching to deduplication of execution/delivery
#3897 = adds pending
#3911 = adds helpers to resolvers to further delay execution of deferred fields or manage concurrency
#3895 = consolidates payloads
TODO:
[x] convert existing tests
[x] error handling
[x] filter late nulls correctly
[x] defer/streams interactions
[x] completed
[x] pending
[ ] ids and subpaths instead of paths
[ ] even more tests?