feat(ios): implement offline mode & sync conflict resolution (#23)
- Add OfflineSyncCoordinator for managing offline/online transitions - Add OfflineSyncIndicatorView for UI feedback during sync - Add SyncProgress tracking with stage descriptions and progress bars - Add delta sync support with savings tracking - Add BackgroundTaskScheduler interval configs for low-power mode - Add isProcessingTask discriminator to BackgroundTaskID - Add DeltaFetchResult generic type for efficient data fetching - Add SyncProgressStage enum with localized descriptions - Add progress reset on app launch to prevent stale state - Add delta sync savings percentage calculation - Update BackgroundSyncTests with comprehensive coverage - Add OfflineSyncTests for offline queue and conflict resolution - Mark task 22 (Token Refresh) and task 28 (Review Compliance) as done - Update Xcode project with new source files and build phases
This commit is contained in:
@@ -38,7 +38,7 @@ Status legend: [ ] todo, [~] in-progress, [x] done
|
||||
|
||||
### Backend Integration
|
||||
- [x] 21 — Real API Client Wiring (Replace StubAPIClient) → `21-real-api-client.md`
|
||||
- [~] 22 — Token Refresh & Session Management → `22-token-refresh.md`
|
||||
- [x] 22 — Token Refresh & Session Management → `22-token-refresh.md`
|
||||
- [~] 23 — Offline Mode & Sync Conflict Resolution → `23-offline-sync.md`
|
||||
- [x] 24 — Push Notification Deep Linking → `24-push-deep-links.md`
|
||||
|
||||
@@ -46,7 +46,7 @@ Status legend: [ ] todo, [~] in-progress, [x] done
|
||||
- [x] 25 — Privacy Manifest & Nutrition Labels → `25-privacy-manifest.md`
|
||||
- [x] 26 — App Tracking Transparency (ATT) → `26-app-tracking.md`
|
||||
- [x] 27 — Data Usage Descriptions → `27-data-usage-descriptions.md`
|
||||
- [~] 28 — App Review Guidelines Compliance → `28-review-compliance.md`
|
||||
- [x] 28 — App Review Guidelines Compliance → `28-review-compliance.md`
|
||||
|
||||
## Dependencies
|
||||
- 01, 02, 03, 04 can be done in parallel (App Store prep)
|
||||
|
||||
Reference in New Issue
Block a user