Add rejected mutation requeue flow in sync UI
This commit is contained in:
+30
-2
@@ -2,6 +2,35 @@
|
||||
|
||||
Updated: 2026-02-15
|
||||
|
||||
## Latest Milestone (2026-02-15): Rejected-Mutation Requeue Flow
|
||||
|
||||
Extended sync conflict handling so rejected mutations can be retried after local
|
||||
fixes:
|
||||
|
||||
- Expanded sync state model:
|
||||
- `lib/features/sync/sync_state.dart`
|
||||
- stores `lastRejectedChanges` alongside rejection reasons
|
||||
- Updated sync queue repository:
|
||||
- `lib/features/sync/sync_queue_repository.dart`
|
||||
- captures rejected envelopes during push
|
||||
- adds `requeueRejectedChanges()` to move rejected envelopes back into pending
|
||||
queue
|
||||
- keeps clear/dismiss behavior for rejected metadata
|
||||
- Updated sync UX:
|
||||
- `lib/features/sync/sync_view.dart`
|
||||
- rejected section now includes:
|
||||
- entity context (`entityType:entityId`)
|
||||
- `Requeue` action for manual retry flow
|
||||
- existing `Dismiss` action
|
||||
- Added/updated tests:
|
||||
- `test/features/sync/sync_queue_repository_test.dart`
|
||||
- verifies rejected envelope capture and requeue behavior
|
||||
|
||||
Validation for this milestone:
|
||||
|
||||
- `flutter analyze` -> pass
|
||||
- `flutter test` -> pass
|
||||
|
||||
## Latest Milestone (2026-02-15): Sync Auto-Trigger Backoff
|
||||
|
||||
Improved sync trigger resilience for repeated failures:
|
||||
@@ -82,8 +111,7 @@ Validation for this milestone:
|
||||
- replace no-op scheduler with platform local notifications implementation
|
||||
for Android/iOS/macOS/Windows/Linux/Web-safe fallback.
|
||||
2. Conflict resolution UX:
|
||||
- current UX shows and dismisses rejections; still missing guided
|
||||
resolve/retry/inspect flows per entity.
|
||||
- reject/requeue is implemented; still missing guided per-entity repair UI.
|
||||
3. Sync trigger maturity:
|
||||
- connectivity-aware triggers are still missing.
|
||||
4. Test depth:
|
||||
|
||||
Reference in New Issue
Block a user