isar_sync 0.1.0-dev.3 copy "isar_sync: ^0.1.0-dev.3" to clipboard
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.md so the example is recognized (raises pub.dev documentation score).
  • Deps: widened googleapis to >=13.2.0 <17.0.0 (supports 16.x) and bumped lints to ^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 updatedAt for Last-Write-Wins, localDeviceId echo suppression) and fresh-device bootstrap via drainPull.
  • Metadata: corrected homepage/repository/issue_tracker/documentation to 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 file createdAt, so events uploaded out of order are no longer skipped or reordered.
  • Fixed InMemorySyncStore to honor a payload updatedAt for Last-Write-Wins so an upsert-then-delete in one batch converges correctly.
  • DefaultApplyEngine: optional localDeviceId to 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 (and maxPullPages) so a single syncOnce() can page through the entire backlog when bootstrapping a fresh device.
  • Added FileSyncCursorStore and FileSyncQueue, 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.
0
likes
160
points
13
downloads

Documentation

Documentation
API reference

Publisher

unverified uploader

Weekly Downloads

Offline-first, event-sourced sync for Isar apps: capture local changes and converge them across devices through pluggable cloud adapters (Drive, iCloud).

Repository (GitHub)
View/report issues
Contributing

Topics

#isar #flutter #sync #offline-first #drive

License

MIT (license)

Dependencies

googleapis, http, meta, path

More

Packages that depend on isar_sync