Gate auto sync with network reachability checks

This commit is contained in:
Rijad Zuzo
2026-02-15 23:31:34 +01:00
parent 54321e8b64
commit 04d269ae10
10 changed files with 145 additions and 2 deletions
+29 -1
View File
@@ -2,6 +2,33 @@
Updated: 2026-02-15
## Latest Milestone (2026-02-15): Reachability-Gated Auto Sync
Added connectivity-aware gating to background sync auto-triggers:
- Added network reachability abstraction:
- `lib/core/network/reachability/network_reachability.dart`
- `lib/core/network/reachability/network_reachability_provider.dart`
- platform impls:
- `network_reachability_io.dart`
- `network_reachability_web.dart`
- `network_reachability_stub.dart`
- Integrated into background sync runner:
- `lib/features/sync/sync_background_runner.dart`
- auto-triggers now skip when reachability gate reports offline (REST mode)
- fake backend mode bypasses reachability gate
- Extended sync trigger controller:
- `lib/features/sync/sync_auto_trigger_controller.dart`
- added trigger gate callback support
- Added tests:
- `test/features/sync/sync_auto_trigger_controller_test.dart`
- validates denied-trigger behavior
Validation for this milestone:
- `flutter analyze` -> pass
- `flutter test` -> pass
## Latest Milestone (2026-02-15): App Session Flow Test Coverage
Added higher-level widget coverage for a core authenticated user journey:
@@ -132,7 +159,8 @@ Validation for this milestone:
2. Conflict resolution UX:
- reject/requeue is implemented; still missing guided per-entity repair UI.
3. Sync trigger maturity:
- connectivity-aware triggers are still missing.
- implemented via reachability gating; future improvement is explicit OS
connectivity event subscription.
4. Test depth:
- add integration tests for auth + sync + CRUD end-to-end app flows.