saravanakumardb1
5e8cbbf556
feat(auth): implement refresh token flow with 401 auto-retry and dedup
2026-02-28 02:44:56 -08:00
saravanakumardb1
8ad31af72a
chore(telemetry): add tracing headers to flush + .env.example
2026-02-28 02:36:55 -08:00
saravanakumardb1
1f18c53b76
fix(auth): enable sync on login/logout + fix data copy + wire page-view tracking
2026-02-28 02:33:19 -08:00
saravanakumardb1
9d50a196bc
feat(analytics): bridge analytics.ts to platform telemetry client
2026-02-28 02:15:45 -08:00
saravanakumardb1
1713ce058b
feat(web): add platform-service telemetry client
2026-02-28 02:04:08 -08:00
saravanakumardb1
1fc1d6478a
feat(web): add auth flow via platform-service + productId header
2026-02-28 02:01:27 -08:00
saravanakumardb1
375d3a7ec0
feat(web): wire useSync hook into Dashboard with cloud sync status indicator
2026-02-28 01:54:40 -08:00
saravanakumardb1
bf2f7cde50
feat(wear): expand Wear OS with quick timer creation, timer detail, dismiss/snooze actions, navigation
2026-02-28 01:53:28 -08:00
saravanakumardb1
3ac658a89e
docs(roadmap): mark iOS Swift ports, routine models, routine views, and Android RoutineScreen as complete
2026-02-28 01:51:46 -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
8b6f44ac9a
docs(roadmap): mark all 4 backend modules complete (timers, routines, households, shared-timers)
2026-02-28 00:05:39 -08:00
saravanakumardb1
f92193139b
docs(roadmap): mark cross-platform cloud sync complete — timers module in platform-service (42 tests, 759 total)
2026-02-27 23:55:58 -08:00
saravanakumardb1
831fcfadd0
docs(roadmap): mark Google Calendar integration complete for Android
2026-02-27 23:18:05 -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
0848c9a041
docs(roadmap): mark Advanced NL parsing task as complete — timer-parse in extraction-service
2026-02-27 23:16:54 -08:00
saravanakumardb1
f6e78a454d
docs(roadmap): mark Room database and foreground service as complete in Phase 5
2026-02-27 23:15:07 -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
91b0bb6d63
chore(android): add .gitignore, gradle.properties, wrapper config; update roadmap with Quick Settings + foreground service
2026-02-27 23:13:02 -08:00
saravanakumardb1
4570c076ec
feat(android): add foreground service, Quick Settings tile, proguard rules
2026-02-27 23:12:18 -08:00
saravanakumardb1
449b2dc514
docs(roadmap): update Phase 5 Weeks 15-19 — Android app, Wear OS, timer engine Kotlin port, 30 JUnit5 tests
2026-02-27 23:10:58 -08:00
saravanakumardb1
ded0a0f0ea
feat(wear): add Wear OS app — Compose for Wear, timeline screen, timer chips, Material theme
2026-02-27 23:10:12 -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
saravanakumardb1
400b1e038c
docs(roadmap): mark Phase 4 exit criteria — 9/12 complete, remaining are non-code growth metrics
2026-02-27 23:00:53 -08:00
saravanakumardb1
0311980bfe
docs(roadmap): update Phase 4 Weeks 10-14 — macOS, calendar, location, sleep, mood, GDPR, sharing, referrals
2026-02-27 22:59:55 -08:00
saravanakumardb1
bebb566caf
feat(growth): add referral program — unique codes, invite tracking, Pro reward months
2026-02-27 22:59:02 -08:00
saravanakumardb1
fdcae8297a
feat(share): add shareable timer links with universal link support + import/export
2026-02-27 22:58:57 -08:00
saravanakumardb1
9be48f0abf
feat(gdpr): add data export (JSON) + account deletion — App Store and GDPR compliance
2026-02-27 22:57:56 -08:00
saravanakumardb1
3df8ac597b
feat(wellness): add sleep manager (HealthKit, bedtime routine, smart alarm) + mood/energy check-in with weekly insights
2026-02-27 22:57:47 -08:00
saravanakumardb1
639d606233
feat(web): add Playwright E2E tests, service worker, package updates
2026-02-27 22:37:04 -08:00
saravanakumardb1
4341502e33
feat(location): add CoreLocation geofencing triggers + MapKit travel time intelligence
2026-02-27 22:35:48 -08:00
saravanakumardb1
351410ba41
feat(calendar): add EventKit calendar sync — read events, convert to timers, auto-sync every 15m
2026-02-27 22:35:36 -08:00
saravanakumardb1
2fc277b663
feat(macos): add macOS menu bar app — popover timeline, quick timer, keyboard shortcut, settings
2026-02-27 22:35:26 -08:00
saravanakumardb1
a2e8f985d2
feat(web): recurring timer badge, recurringTimerId field, generateTimerFromRecurrence helper
2026-02-27 22:33:57 -08:00
saravanakumardb1
d909830fcd
feat(web): snooze suggestion card on Dashboard, event countdown large display
...
- Dashboard: adaptive snooze suggestion cards (dismissable, max 2 shown, pattern-based)
- TimerCard: event countdown type gets large days display with milestone progress bar
- Progress bar color-codes: accent → warning (70%) → danger (90%)
- Shows days + hours remaining with target date
- Updated roadmap: marked snooze suggestion card and event visual as completed
- 373 tests across 16 files, tsc clean
2026-02-27 22:31:20 -08:00
saravanakumardb1
f61483e7a5
feat(web): calendar import preview, repeat timer, CSV export, compact mode
...
- Calendar import preview: parse .ics → show events with conflict indicators → confirm/cancel before importing
- History page: repeat timer button (recreates alarm at same time-of-day, countdown with same duration)
- History page: CSV export (Label, Type, State, Urgency, Category, Created, Completed, Duration)
- Settings: compact mode toggle (persisted to localStorage, sets data-compact attribute)
- Updated roadmap Week 5 items
- 373 tests across 16 files, tsc clean
2026-02-27 22:28:36 -08:00
saravanakumardb1
48a4b7d024
feat(web): prep-time intelligence, adaptive snooze, event countdown, TimerCard badges
...
- Prep time intelligence (lib/prep-time.ts): 12 keyword rules + 6 category defaults, prep/travel time suggestions, warning formatter, shouldShowPrepWarning() (22 tests)
- Adaptive snooze learning (lib/adaptive-snooze.ts): snooze pattern tracking, label normalization, suggestion engine with 5+ data point threshold, localStorage persistence (22 tests)
- Event countdown timer: createEvent factory with milestone warnings (30/7/3/1 days), addEvent store action, Event tab in CreateTimerModal with date picker
- TimerCard: category badge, chain link badge, prep time warning integration
- Analytics: added 'event' to trackTimerCreated type union
- Updated roadmap: marked prep time, adaptive snooze, event countdown, export/import, history as completed
- Phase 2 exit criteria: 6/10 met, 373 tests across 16 files, tsc clean
2026-02-27 22:25:36 -08:00
saravanakumardb1
9fcd256364
docs(roadmap): update Week 9 — iCloud sync, crash reporting, feedback form complete
2026-02-27 22:24:06 -08:00
saravanakumardb1
e87e027c0f
feat(testflight): add MetricKit crash reporting + feedback form in Settings
2026-02-27 22:24:00 -08:00
saravanakumardb1
01c0f5759e
feat(sync): add iCloud sync via NSUbiquitousKeyValueStore with merge strategy
2026-02-27 22:23:45 -08:00
saravanakumardb1
5a9a855ec9
docs(roadmap): update Phase 3 exit criteria — 9/11 checkmarks complete
2026-02-27 22:21:13 -08:00
saravanakumardb1
2c224c5c4f
test(week9): add urgency tests (14) + accessibility tests (14) + update roadmap Week 9
2026-02-27 22:20:29 -08:00
saravanakumardb1
3bec3602d2
feat(a11y): add VoiceOver, Dynamic Type, Reduce Motion, High Contrast accessibility helpers
2026-02-27 22:20:22 -08:00
saravanakumardb1
be0e8748b2
feat(ipad): adaptive layout — NavigationSplitView sidebar + timer detail side panel on iPad
2026-02-27 22:20:15 -08:00
saravanakumardb1
29cd7ffc62
fix(deploy): add --webpack flag to dev script for Serwist compatibility
2026-02-27 22:19:21 -08:00