saravanakumardb1
|
d6b1bb6f63
|
fix(sync): fix BatchResult.errors type mismatch — backend returns {id,error} objects not strings
|
2026-03-01 21:27:44 -08:00 |
|
saravanakumardb1
|
48b88d3a29
|
fix(sync): add x-product-id header and fix pullDelta response decode mismatch
|
2026-03-01 21:26:12 -08:00 |
|
saravanakumardb1
|
b7688b55d1
|
fix(security): move PlatformSyncManager auth token from UserDefaults to Keychain
|
2026-03-01 16:37:39 -08:00 |
|
saravanakumardb1
|
d1b4534b22
|
refactor(ios): migrate Cloud/ files to ByteLystPlatformSDK — eliminate duplicated platform code
Replaced standalone implementations with thin wrappers over shared SDK:
- KeychainHelper → delegates to BLKeychain (53→27 lines)
- TelemetryService → delegates to BLTelemetryClient (139→55 lines)
- FeatureFlagService → delegates to BLFeatureFlagClient (72→39 lines)
- AuthService → delegates to BLAuthClient (359→171 lines)
- project.yml → added ByteLystPlatformSDK local package dependency
Total: 623 lines of duplicated code → 292 lines of thin wrappers.
PlatformSyncManager kept as-is (product-specific timer DTOs).
All existing call-site APIs preserved — zero breaking changes.
|
2026-02-28 22:12:37 -08:00 |
|
saravanakumardb1
|
77254b751e
|
fix(telemetry): lowercase osFamily to match server enum
|
2026-02-28 19:26:52 -08:00 |
|
saravanakumardb1
|
180c98160b
|
feat(ios): add telemetry client, feature flags client, Settings login/register form
|
2026-02-28 19:10:08 -08:00 |
|
saravanakumardb1
|
e3add90f87
|
feat(auth): add forgot password, reset password, change password, delete account, email verify, token refresh
Web:
- platform-sync.ts: Added forgotPassword, resetPassword, changePassword, verifyEmail, resendVerification, deleteAccount API functions
- auth-context.tsx: Added forgotPassword, resetPassword, changePassword, deleteAccount actions + successMessage state + 45min auto-refresh timer
- settings/page.tsx: Added forgot password link, change password form, delete account form with confirmation
- reset-password/page.tsx: New page for password reset via email token
- verify-email/page.tsx: New page for email verification via token
iOS:
- AuthService.swift: Added forgotPassword, changePassword, deleteAccount methods
- SettingsView.swift: Added change password, delete account, forgot password UI sections
Android:
- AuthService.kt: Added forgotPassword, changePassword, deleteAccount methods
|
2026-02-28 04:08:58 -08:00 |
|
saravanakumardb1
|
6a41cc9f48
|
feat(mobile): add auth login/register flow for iOS and Android
- iOS: Add KeychainHelper.swift for secure token storage
- iOS: Add AuthService.swift (CMAuthService) with login/register/refresh/logout
- iOS: Add LoginView.swift (CMLoginView) with ChronoMind theme
- iOS: Wire auth gate in ChronoMindApp.swift (LoginView vs ContentView)
- iOS: Add Account section to SettingsView with email/plan/sign-out
- iOS: Add Cloud group + 3 files to Xcode project.pbxproj
- Android: Add AuthService.kt with Hilt @Singleton, login/register/refresh/logout
- Android: Add LoginScreen.kt with Compose login/register form
- Android: Wire auth gate in MainActivity via Hilt-injected AuthService
- Android: Add Account section to SettingsScreen via HiltViewModel
- Android: Add x-product-id header to PlatformApiClient
|
2026-02-28 03:22:23 -08:00 |
|
saravanakumardb1
|
af33a2c86d
|
feat(sync): add cross-platform sync managers for iOS, Android, and Web
- iOS: PlatformSyncManager — URLSession, delta sync, batch upload, offline queue, HMAC auth
- Android: PlatformApiClient + SyncRepository — HttpURLConnection, Room integration, offline queue
- Web: platform-sync.ts + use-sync.ts — fetch client, localStorage queue, React hook with 60s auto-sync
All consume platform-service /timers/*, /routines/*, /households/* endpoints.
Sync protocol: syncVersion optimistic concurrency, delta sync via ?since=, batch upsert for offline flush.
|
2026-02-28 00:25:35 -08:00 |
|
saravanakumardb1
|
01c0f5759e
|
feat(sync): add iCloud sync via NSUbiquitousKeyValueStore with merge strategy
|
2026-02-27 22:23:45 -08:00 |
|