-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
ApolloError.graphQLErrors
are not of type GraphQLError
#11787
Comments
In tests it's done correctly
|
Thank you, that's a very good writeup and it's clear that we have to change something. We're still undecided if we'll solve this in runtime or by adjusting our types, but I've opened #11789 to help us along with the decision process here. |
We adopted |
Do you have any feedback for the maintainers? Please tell us by taking a one-minute survey. Your responses will help us understand Apollo Client usage and allow us to serve you better. |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Issue Description
I'd like to resurrect #11168 since issue got stale and closed.
As you can see in the graphql spec, the errors returned by the server are not required to specify e.g.
extensions
key.However,
if you look at the
GraphQLError
class, theextensions
field is not optionalhttps://github.com/graphql/graphql-js/blob/8e9813f8c283d94da66fad6fd9562432846c17d4/src/error/GraphQLError.ts#L89
That is achieved by taking server response and routing it through
GraphQLError
class' constructor:https://github.com/graphql/graphql-js/blob/8e9813f8c283d94da66fad6fd9562432846c17d4/src/error/GraphQLError.ts#L125
So that implies that using
GraphQLError[]
as a type forApolloError.graphQLErrors
is wrong since the server data were not manipulated and may not comply with theGraphQLError
interface.Link to Reproduction
https://spec.graphql.org/October2021/#sec-Errors.Error-result-format
Reproduction Steps
No response
@apollo/client
version3.9.1
The text was updated successfully, but these errors were encountered: