Skip to content

onSnapshot getting out of sync when useFetchStreams enabled and brittle network #8903

Open
@neelance

Description

@neelance

Operating System

primarily Android, but not always

Environment (if applicable)

primarily on mobile devices, but not always

Firebase SDK Version

11.6.0

Firebase SDK Product(s)

Firestore

Project Tooling

Web app with Webpack

Detailed Problem Description

We're seeing that for some users, onSnapshot for a query does not keep up with changes on the server. It seems to miss a change and it does not catch up later.

Unfortunately we can not reproduce the issue at will. It seems to be some race condition that only happens on brittle internet connections and we do not have a setup to hammer a test with simulated connection issues until we could see it happening.

What we can see in our error tracking is that in many occurrences the browser has the error @firebase/firestore: Firestore (11.6.0): WebChannelConnection RPC 'Listen' stream 0x24eae879 transport errored: [object Object] earlier in its JS console logs.

We also found out that if we pass useFetchStreams: false to initializeFirestore, then the issue goes away completely.

Steps and code to reproduce issue

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions