feat(firestore): add support for onSnapshotsInSync
Description
Currently the firebase-js-sdk has an onSnapshotsInSync API and react-native-firebase does not
This PR (when complete) will close that feature gap)
Related issues
Release Summary
Checklist
- I read the Contributor Guide and followed the process outlined there for submitting PRs.
- [ ] Yes
- My change supports the following platforms;
- [ ]
Android - [ ]
iOS - [ ]
Other(macOS, web)
- [ ]
- My change includes tests;
- [ ]
e2etests added or updated inpackages/\*\*/e2e - [ ]
jesttests added or updated inpackages/\*\*/__tests__
- [ ]
- [ ] I have updated TypeScript types that are affected by my change.
- This is a breaking change;
- [ ] Yes
- [ ] No
Test Plan
Think react-native-firebase is great? Please consider supporting the project with any of the below:
- 👉 Star this repo on GitHub ⭐️
- 👉 Follow
React Native FirebaseandInvertaseon Twitter
@mikehardy, it's a feature. onSnapshotsInSync is not supported in RNFB, both in the JS and natively. This PR is not complete.
Ah, thanks. I updated the description to match in case I take a peek again
Hello 👋, this PR has been opened for more than 2 months with no activity on it.
If you think this is a mistake please comment and ping a maintainer to get this merged ASAP! Thanks for contributing!
You have 15 days until this gets closed automatically
The latest updates on your projects. Learn more about Vercel for Git ↗︎
| Name | Status | Preview | Comments | Updated (UTC) |
|---|---|---|---|---|
| react-native-firebase | ✅ Ready (Inspect) | Visit Preview | 💬 Add feedback | Jun 9, 2025 0:10am |
@MichaelVerdon - I've updated so it works on android. Setup a test app for onSnapshotInSync.
You will need to update the path to point towards it here: https://github.com/invertase/react-native-firebase/blob/feat-add-onSnapshotsInSync-support/tests/test-app/index.js#L6
To run the example test app, run these scripts: https://github.com/invertase/react-native-firebase/blob/feat-add-onSnapshotsInSync-support/package.json#L56-L58
Remember to have the emulator or simulator running depending on if you're running android or iOS.