offline_first_sync_drift 0.1.0
offline_first_sync_drift: ^0.1.0 copied to clipboard
Offline-first synchronization library for Dart/Flutter built on Drift. Features conflict resolution, outbox pattern, and incremental sync.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.1.0 - 2024-11-27 #
Added #
- Initial release
SyncEnginefor push/pull synchronization with conflict resolutionSyncDatabaseMixinfor Drift database integrationSyncColumnsmixin for syncable tables (addsupdatedAt,deletedAt,deletedAtLocal)SyncableTable<T>registration for entities- Conflict resolution strategies:
autoPreserve(default) - smart merge preserving all dataserverWins- server version winsclientWins- client version wins with force pushlastWriteWins- latest timestamp winsmerge- custom merge functionmanual- manual resolution via callback
TransportAdapterinterface for custom transports- Outbox pattern for offline-first operations
- Cursor-based pagination for incremental sync
- Full resync support with configurable intervals
- Events stream for UI integration and monitoring
SyncStatsfor sync operation statistics