Intended outcome:
Apollo re-render component with data.errors prop
Actual outcome:
Apollo just re-render with data.loading true
How to reproduce the issue:
In my server, I always throw when something go wrong. It is as expected that the response will be 200 OK and response.errors will contain my throw message.
On first connect / request by the client app, Apollo re-render correctly with data.errors but in second request with the same output from server, Apollo just re-render with loading: true.
I'm using apollo-link-error, and put a breakpoint on that. From what I observed, only the first error got caught in that, the rest errors response to the same query will not trigger the error handler.
Version

@Altiano this is fixed in the next release (coming out shortly!)
@jbaxleyiii could you please let us know the subversion so we can test?
is it 2.2.7 ?
@jbaxleyiii In which commit has it been fix ? I can't find one which could fix this issue.
getting the same issue with 2.2.7, on the first component render the apollo-link-error catches the error, when I unmount and render the component again, apollo-link-error does not catch it.
@jbaxleyiii can you please shed some light on this? is this a serious issue with the apollo client or are we composing out components incorrectly?
My understanding was that each client was pure in the sense it only cared about the data it queried/received. Which meant that if there was an error, it would only fail one component. Kinda working hand in hand with the new React error boundaries API.
But if one failure fails subsequent requests then it defeats the purpose of graphql/apollo
is my understanding incorrect? I don't understand how this issue has never been raised before !?
EDIT: it seems like this is fixed with "react-apollo": "^2.1.0"
EDIT2: is silencing the console.error in react-apollo thats actually causing this to not blow up anymore? not sure if its actually fixed then https://github.com/apollographql/react-apollo/pull/1725/files
Most helpful comment
@jbaxleyiii can you please shed some light on this? is this a serious issue with the apollo client or are we composing out components incorrectly?
My understanding was that each client was pure in the sense it only cared about the data it queried/received. Which meant that if there was an error, it would only fail one component. Kinda working hand in hand with the new React error boundaries API.
But if one failure fails subsequent requests then it defeats the purpose of graphql/apollo
is my understanding incorrect? I don't understand how this issue has never been raised before !?
EDIT: it seems like this is fixed with "react-apollo": "^2.1.0"
EDIT2: is silencing the console.error in react-apollo thats actually causing this to not blow up anymore? not sure if its actually fixed then https://github.com/apollographql/react-apollo/pull/1725/files