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

Add @defer support to the execution engine. #59

Closed
michaelstaib opened this issue Jun 13, 2018 · 14 comments
Closed

Add @defer support to the execution engine. #59

michaelstaib opened this issue Jun 13, 2018 · 14 comments
Assignees
Labels
🎉 enhancement New feature or request
Milestone

Comments

@michaelstaib michaelstaib added the 🔍 investigate Indicates that an issue or pull request needs more information. label Jun 13, 2018
@michaelstaib michaelstaib added this to the 1.1.0 milestone Jun 13, 2018
@michaelstaib michaelstaib modified the milestones: 1.1.0, Backlog Jan 16, 2019
@michaelstaib michaelstaib changed the title Defer Directive Add @defer support to the execution engine. Mar 4, 2019
@michaelstaib michaelstaib modified the milestones: Backlog, 9.0.0 Mar 4, 2019
@cgatian
Copy link

cgatian commented Mar 27, 2019

This would seriously blow people's minds.

@michaelstaib
Copy link
Member Author

This is coming in April

@cgatian
Copy link

cgatian commented Mar 28, 2019

Dont tease me! April 1st? 😉

@michaelstaib
Copy link
Member Author

We are aiming at April 14 or the week after that.

@michaelstaib
Copy link
Member Author

#677

@michaelstaib michaelstaib modified the milestones: 9.0.0, 9.1.0 Apr 28, 2019
@michaelstaib
Copy link
Member Author

So, after talking to people on the relay channel I have changed my perspective on this one.... the Apollo way for @defer seemed so messy. But talking to guys on the relay channel it seems that relay will go a different way and instead will provide @defer on fragments rather than fields.

This makes much more sense and allows for much more powerful ways to delay fields. Moreover, with this we would not be forced to make a field nullable in order to be able to defer it.

@michaelstaib
Copy link
Member Author

en_js [1 day ago]
Thanks for the extra context. We're currently experimenting with "native" support for @defer and @stream in our internal GraphQL server and our GraphQL clients (Relay and our native client). As we did with GraphQL itself and our subscriptions RFC/spec we plan to get experience using the approach and validating it at scale before proceeding with any RFC.

Our current approach is that @defer can be used with inline fragments or fragment spreads while @stream can be used on plural fields. We don't have a publicly available version of a spec because, as noted, we aren't ready to proceed with an RFC yet. If you're curious you can look at the defer/stream-related tests and transforms, but again, just beware that they're subject to change.

@michaelstaib michaelstaib added 🎉 enhancement New feature or request and removed 🔍 investigate Indicates that an issue or pull request needs more information. labels Jul 7, 2019
@michaelstaib michaelstaib modified the milestones: 9.1.0, 9.2.0 Jul 8, 2019
@michaelstaib
Copy link
Member Author

@michaelstaib michaelstaib added this to To do in Query Execution Plans via automation Dec 3, 2019
@michaelstaib
Copy link
Member Author

@michaelstaib
Copy link
Member Author

Facebook will start moving this into the spec.

@michaelstaib
Copy link
Member Author

graphql/graphql-spec#679

@Jan080906
Copy link

hello any update on @defer? is it going to be in version 11.0.0?

@PascalSenn
Copy link
Member

Still not spec'ed
graphql/graphql-spec#704

@michaelstaib
Copy link
Member Author

This one is now merged and released

Query Execution Plans automation moved this from To do to Done Sep 26, 2020
@michaelstaib michaelstaib self-assigned this Sep 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🎉 enhancement New feature or request
Projects
No open projects
Development

No branches or pull requests

4 participants