Fix issue where no-cache
fetch policy causes empty query results
#3777
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.
When
QueryManager.getCurrentQueryResult
is called, it first tries to get the current data from anewData
property stored alongside a previously created query (usinggetQuery
). If data can't be found, it then tries to load data from the cache. When ano-cache
fetch policy is used however, thenewData
property is being improperly removed beforegetCurrentQueryResult
has a chance to get it. Then when it tries to fallback on loading data from the cache, it finds no matching data, since theno-cache
fetch policy means the cache isn't being used.This commit adjusts
QueryManager.queryListenerForObserver
such that is doesn't remove thenewData
that is stored with a query, if ano-cache
fetch policy is being used. This allowsQueryManager.getCurrentQueryResult
to return the loadedno-cache
data.Related to the following issue comments:
#3256 (comment)
#3452 (comment)
P.S. > This PR also includes a few test file CRLF to LF conversions, so please ignore the crazy diffs.