react-native-sync-provider is an open-source React Native library that provides a native, offline-first HTTP sync queue with persistent retry and background dispatch -- the queue keeps working even after the app is force-quit or the device reboots. Built on Nitro Modules for the New Architecture, it's designed for production apps that cannot afford to drop user actions on flaky networks.
This library offers:
- Offline-first HTTP queue -- enqueue requests once, the native layer persists, retries, and dispatches them
- Survives app death -- queue items are persisted to disk and resumed on next launch
- Background dispatch -- iOS
BGTaskScheduler+URLSession.background, AndroidWorkManager, even when the app is killed - Smart retry policies -- exponential / linear / fixed backoff with jitter, status-code allowlists, and configurable max attempts
- Connectivity awareness -- pauses on disconnect, resumes on reconnect, optional metered-network gating
- Idempotency by default -- ULID per item to make at-least-once delivery safe
- First-class TypeScript -- full TSDoc, strict types, discriminated
SyncErrorCodeenum - New Architecture only -- Nitro Modules + Fabric, no legacy bridge
By sponsoring this project, you are:
- Supporting continuous development of an offline-sync primitive that the React Native community is missing
- Accelerating native parity (iOS Swift + Android Kotlin) and ecosystem integrations
- Enabling improvements such as conflict resolution helpers, multipart uploads, and observability hooks
- Ensuring quick bug fixes and responsive community support
- Improving documentation and creating more guides, examples, and migration playbooks
- Maintaining high quality through comprehensive tests and CI/CD across both platforms
- Active development -- new features, performance work, and platform parity
- Maintenance -- bug fixes and React Native / Nitro compatibility updates
- Documentation -- Docusaurus site, API reference, advanced guides, migration trail
- Infrastructure -- CI/CD costs, release tooling, Docusaurus hosting
- Support -- triaging issues and helping integrators in production
You can become a sponsor through GitHub Sponsors.
Click the Sponsor button at the top of the repo or visit:
https://github.com/sponsors/gabriel-sisjr
Other sponsorship channels (Open Collective, direct invoicing, etc.) can be added on request -- open a discussion if your organization needs an alternative.
Can't sponsor financially? You can still help:
- Star the repository
- Report bugs with reproducible examples
- Contribute code -- pull requests are welcome (see
CONTRIBUTING.md) - Improve documentation -- fixes, examples, and translations
- Share the project with other React Native developers
- Test prereleases and provide feedback on the API surface
Thank you to every sponsor and contributor who makes maintaining offline-sync infrastructure for the React Native community possible. Your support is what keeps this project moving.
For more information about the project, see the README and the full documentation.