Allow refetchQueries
to refetch observerless queries (again)
#9616
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.
This PR is a follow-up to PR #8825, which was first released in Apollo Client v3.4.14. As a number of commenters have reported in issue #5419, it appears we did not completely fix the problem, so this PR attempts to finish that work.
To reiterate the motivation behind #8825: an
ObservableQuery
redelivers the most recent result/error to new subscribers, so it is not completely pointless to refetch anObservableQuery
that (currently) has no subscribers.However, any
ObservableQuery
instandby
mode (whoseoptions.fetchPolicy
isstandby
) should still be excluded from "active" status as far asrefetchQueries
is concerned. This logic handlesuseLazyQuery
queries that have not yet been executed, since they start out instandby
mode until called.