Allow missing __typename if field added by addTypenameToDocument. #5787
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Solves #5781 by keeping data written by
cache.writeData
from appearing incomplete just because it does not have__typename
fields that were not explicitly present in the original query.Since
InMemoryCache#transformDocument
is responsible for adding these__typename
fields automatically, it makes sense for theStoreReader
belonging to theInMemoryCache
to detect and ignore those fields later, rather than handling this somewhere else, such as theQueryManager#transform
method, wheretransformDocument
is called.@hwillson Another way of looking at this issue is that this bit of code in the
queryListenerForObserver
callback is mishandling "incomplete" data, as we've observed before:The changes in this commit work around the problem by removing a category of
__typename
-related reasons whystale
might be true here, but I think we still need to decide what staleness should mean for this logic.