isar_sync 0.1.0-dev.1
isar_sync: ^0.1.0-dev.1 copied to clipboard
Offline-first synchronization framework for Isar-based apps.
Changelog #
All notable changes to this project are documented in this file.
Changelog #
All notable changes to this project are documented in this file.
Unreleased #
- DefaultApplyEngine: added optional
localDeviceIdto silently drop events that originated from the same device, preventing self-echo when a device pulls back its own pushed events from shared cloud storage. - SyncCore: serialized concurrent
syncOnce()calls via an in-flight guard so the same queue items are not pushed twice when sync is triggered from multiple call sites. - SyncCore: added
drainPull(andmaxPullPages) so a singlesyncOnce()can page through the entire backlog when bootstrapping a fresh device. - Added
FileSyncCursorStore, a JSON-file backedSyncCursorStorefor persisting pull cursors across process restarts. - Added
FileSyncQueue, a JSON-file backedSyncQueueso queued mutations survive app restarts.
0.1.0-dev.1 #
- Initial public draft of isar-sync core.
- Added sync orchestration primitives:
- SyncCore
- QueueBackedChangeCapture
- InMemorySyncQueue
- DefaultApplyEngine
- LastWriteWinsConflictResolver
- Added pluggable adapter architecture.
- Added Google Drive adapter:
- GoogleDriveSyncAdapter
- GoogleApisDriveClient
- Added iCloud bridge adapter:
- ICloudSyncAdapter
- ICloudClient interface
- Added test suite for core flow, codec, and adapters.
- Added publish documentation and setup guides.