You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For GraphQL fields that allows sub-selections, where the cache contains an empty array, or nulls for nullable object fields, it may block the proxy from capturing selections further down the tree.
A previous attempt #1757 reduces the effect, but it doesn't not prevent the issue in use cases with multiple concurrent fetches.
Steps to reproduce
These are user reported scenarios:
resolve() on paginated queries may trigger this after one of the result set contains a null object under an array.
useQuery() in React may fail when a new fetch is triggered during an active fetch, where the response of the first fetch clears selections before the second one has a chance to cache it.
createQuery() in Solid includes an attempt to fix this, but it triggers another issue where the last promise fails to resolve, locking the UI in a loading/suspended state.
Expected Results
When new fetches are triggered,
responses from previous fetches should update the cache
responses from previous fetches should not trigger cache listeners
responses from previous fetches should not trigger the onNext callback in subscribe
response of the last fetch should update the cache, notify cache listeners and trigger UI updates downstream.
Additional Information
#1758 will attempt to cover racing condition on cache updates and selection clearing for concurrent fetches.
The text was updated successfully, but these errors were encountered:
Summary
For GraphQL fields that allows sub-selections, where the cache contains an empty array, or nulls for nullable object fields, it may block the proxy from capturing selections further down the tree.
A previous attempt #1757 reduces the effect, but it doesn't not prevent the issue in use cases with multiple concurrent fetches.
Steps to reproduce
These are user reported scenarios:
resolve()
on paginated queries may trigger this after one of the result set contains a null object under an array.useQuery()
in React may fail when a new fetch is triggered during an active fetch, where the response of the first fetch clears selections before the second one has a chance to cache it.createQuery()
in Solid includes an attempt to fix this, but it triggers another issue where the last promise fails to resolve, locking the UI in a loading/suspended state.Expected Results
When new fetches are triggered,
onNext
callback insubscribe
Additional Information
#1758 will attempt to cover racing condition on cache updates and selection clearing for concurrent fetches.
The text was updated successfully, but these errors were encountered: