isar_sync 0.1.0-dev.3
isar_sync: ^0.1.0-dev.3 copied to clipboard
Offline-first, event-sourced sync for Isar apps: capture local changes and converge them across devices through pluggable cloud adapters (Drive, iCloud).
Changelog #
All notable changes to this project are documented in this file.
0.1.0-dev.3 #
- Docs: added dartdoc comments across the public API and an
example/README.mdso the example is recognized (raises pub.dev documentation score). - Deps: widened
googleapisto>=13.2.0 <17.0.0(supports 16.x) and bumpedlintsto^6.0.0. - No library API changes.
0.1.0-dev.2 #
- Docs: rewrote the README in English and documented the load-bearing
conventions (payload
updatedAtfor Last-Write-Wins,localDeviceIdecho suppression) and fresh-device bootstrap viadrainPull. - Metadata: corrected
homepage/repository/issue_tracker/documentationto the actual repository and expanded the package description. - No library API changes.
0.1.0-dev.1 #
- Initial public draft of isar_sync core.
- Fixed adapter pull ordering: Google Drive and iCloud adapters now order and
cursor by the event's
happenedAt(encoded in the file name) instead of the remote filecreatedAt, so events uploaded out of order are no longer skipped or reordered. - Fixed
InMemorySyncStoreto honor a payloadupdatedAtfor Last-Write-Wins so an upsert-then-delete in one batch converges correctly. - DefaultApplyEngine: 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:
drainPull(andmaxPullPages) so a singlesyncOnce()can page through the entire backlog when bootstrapping a fresh device. - Added
FileSyncCursorStoreandFileSyncQueue, JSON-file backed stores so pull cursors and queued mutations survive process restarts. - 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.