apollo-angular icon indicating copy to clipboard operation
apollo-angular copied to clipboard

When `notifyOnNetworkStatusChange` is set to true and call refetch, then the network states sticks and always shows NetworkStatus.loading

Open dkhrunov opened this issue 3 years ago • 0 comments

Describe the bug

When notifyOnNetworkStatusChange is set to true and call refetch, then the network states sticks and always shows loading spinner

To Reproduce Steps to reproduce the behavior:

  1. Create queryRef:
this.queryRef = this.readQuery.watch(variables, {
      fetchPolicy: 'cache-and-network',
      // BUG if uncomment next line, then there will be an infinite load when calling refetch
      // notifyOnNetworkStatusChange: true,
      ...readQuery?.options
    })
  1. Call refetch
this.queryRef.refetch(variables);
  1. Observe loading status
this.querying$ = this.queryRef?.valueChanges.pipe(
      map((x) => x.loading),
      distinctUntilChanged(),
      shareReplay(1)
);

Expected behavior

Then refetch complete network request loading indicator should be false

Environment:

- @angular/[email protected]
- @angular/[email protected]
- @apollo/[email protected]
- [email protected]
- [email protected]
- [email protected]

dkhrunov avatar Jan 26 '23 22:01 dkhrunov