Commit Graph

18 Commits

Author SHA1 Message Date
saravanakumardb1
6dd31490b2 fix(android): complete ChronoMind Android compile fixes — all tests pass
- Fix SyncRepository.timerToDTO: timer.pomodoro → timer.pomodoroConfig/pomodoroState
- Fix SyncRepository.dtoToEntity: add missing TimerEntity fields (dismissedAt, snoozedUntil,
  snoozeCount, elapsedBeforePause, category), fix non-nullable cascadePreset/cascadeIntervalsJson
- Fix PomodoroDTO field mapping: focusMinutes→workMinutes, shortBreakMinutes→breakMinutes, etc.
- ChronoMind Android now compiles and all tests pass
2026-03-19 17:07:57 -07:00
saravanakumardb1
9f2325078d fix(android): partial compile fixes for ChronoMind Android
- Fix AuthService: add MapSerializer/serializer imports, replace fully-qualified calls
- Fix CMColors: add missing textPrimary and textTertiary tokens
- Fix TimerWidget: add Glance clickable/ColorProvider imports, add night param
- Fix SyncRepository: replace pomodoroJson with individual pomodoro fields
- Note: SyncRepository still has CMTimer model drift errors (deferred)
2026-03-19 17:02:16 -07:00
saravanakumardb1
6b82ca1b33 feat(android): migrate auth, telemetry, feature flags to ByteLyst Kotlin Platform SDK 2026-03-01 18:16:13 -08:00
saravanakumardb1
77254b751e fix(telemetry): lowercase osFamily to match server enum 2026-02-28 19:26:52 -08:00
saravanakumardb1
672acadba6 feat(android): add telemetry client, feature flags client, wire into DI + ViewModel 2026-02-28 19:12:15 -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
11e50295ea feat: fix web build, add repo infra, port iOS engine modules, add routine screens
- fix(web): cast window through unknown in platform-sync.ts (TS2352)
- docs: add AGENTS.md, README.md, CLAUDE.md, .windsurfrules, .cursorrules, env.example
- feat(ios): port Recurrence.swift from web/src/lib/recurrence.ts
- feat(ios): port NLParser.swift from web/src/lib/nl-parser.ts
- feat(ios): port ContextMessages.swift from web/src/lib/context-messages.ts
- feat(ios): add CMRoutine model + Routines.swift engine with state machine + templates
- feat(ios): add RoutineListView, RoutineRunnerView, RoutineEditorView
- feat(android): add RoutineScreen.kt with list, runner, templates, step controls

Web: 373 tests passing, build succeeds with --webpack flag
2026-02-28 01:50:35 -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
31d1668ce8 feat(android): add Google Calendar sync via CalendarContract — read events, convert to timers, deterministic IDs 2026-02-27 23:17:50 -08:00
saravanakumardb1
8c7e64fab5 feat(android): add Room database persistence, Hilt DI module, timer entity mapper 2026-02-27 23:14:49 -08:00
saravanakumardb1
4570c076ec feat(android): add foreground service, Quick Settings tile, proguard rules 2026-02-27 23:12:18 -08:00
saravanakumardb1
9c34a92b9e feat(android): add Android app — Jetpack Compose, Hilt, timer engine Kotlin port, 4 screens, notifications, 3 Glance widgets, 30 JUnit5 tests 2026-02-27 23:09:12 -08:00
saravanakumardb1
4b1e969039 feat(android): add strings and themes resources 2026-02-27 23:08:23 -08:00
saravanakumardb1
74d084ba77 feat(android): add widget layouts and large widget config 2026-02-27 23:08:13 -08:00
saravanakumardb1
09e78d0920 feat(android): add AndroidManifest, BootReceiver, widget XML configs 2026-02-27 23:07:54 -08:00
saravanakumardb1
b68bd22cc3 feat(android): add TimerWidget for home screen 2026-02-27 23:07:21 -08:00
saravanakumardb1
0609281967 feat(android): add Android app scaffold + update E2E tests 2026-02-27 23:06:54 -08:00