apollographql / apollo-ios

📱  A strongly-typed, caching GraphQL client for iOS, written in Swift.
https://www.apollographql.com/docs/ios/
MIT License
3.89k stars 728 forks source link

Remove `hasDeferredFragments` property and associated logic #3277

Closed calvincestari closed 8 months ago

calvincestari commented 1 year ago

For context, at the time of creating this issue, hasDeferredFragment is used to alter the accept header of the request when it is an operation that uses the @defer directive. In standardizing the HTTP headers sent by the Apollo clients we may just be able to send the multipart/mixed part of the accept header with all query and mutation operations regardless of whether they use @defer or not. If that's done then there will be no value to the hasDeferredFragment property.

Note that this is before the executor and caching layers of the defer work are complete so it's possible the hasDeferredFragment property proves necessary for those to function correctly. So..TBD.

calvincestari commented 8 months ago

In standardizing the HTTP headers sent by the Apollo clients we may just be able to send the multipart/mixed part of the accept header with all query and mutation operations regardless of whether they use @defer or not. If that's done then there will be no value to the hasDeferredFragment property.

I'm closing this issue because this is the current state of behaviour in the feature/defer-execution-networking branch.

github-actions[bot] commented 8 months ago

Do you have any feedback for the maintainers? Please tell us by taking a one-minute survey. Your responses will help us understand Apollo iOS usage and allow us to serve you better.