Commit Graph

  • 194f6a82a8 fix(02): show owner name / Family in event popover footer Lucas Berger 2026-06-05 15:14:43 -04:00
  • fc758e8ea6 fix(02): fix week/day time-grid clip and hour-label contrast Lucas Berger 2026-06-05 15:14:33 -04:00
  • d240657059 fix(02): remove custom ViewToolbar; use Schedule-X built-in header Lucas Berger 2026-06-05 14:54:40 -04:00
  • 1f0b9546a8 fix(02): include all-day recurring masters in events route pre-filter Lucas Berger 2026-06-05 14:50:27 -04:00
  • f70496871a fix(02): populate hasRrule on every sync upsert so recurring masters are flagged Lucas Berger 2026-06-05 14:50:18 -04:00
  • 5d82f859fd fix(02): wire calendar-controls plugin and Zustand selectors Lucas Berger 2026-06-05 14:45:27 -04:00
  • 1a24b00de9 fix(02): day-view 400, invalid date display, duplicate popover (BUG 2-4) Lucas Berger 2026-06-05 14:34:36 -04:00
  • ee2281fe81 fix(02): correct DURATION-only event end in expand.ts (BUG 1) Lucas Berger 2026-06-05 14:33:00 -04:00
  • bef4a83fe0 fix(02): CSS-safe occurrence ids + error boundary to surface render errors Lucas Berger 2026-06-05 14:30:32 -04:00
  • 93c368402c fix(02): update expand tests to assert IANA-annotated format + add cross-contract test Lucas Berger 2026-06-05 14:04:00 -04:00
  • 35f725d450 fix(02): emit IANA-annotated timed strings from serializeTime Lucas Berger 2026-06-05 14:02:36 -04:00
  • df5d36308a fix(02): add regression tests for /api/me under dev-auth bypass Lucas Berger 2026-06-05 13:48:05 -04:00
  • 4b34b16f02 fix(02): dev-auth bypass no longer blocked by oidcAuthMiddleware Lucas Berger 2026-06-05 13:48:00 -04:00
  • 11595e7924 docs(02-05): complete plan 05 autonomous tasks — SUMMARY.md Lucas Berger 2026-06-05 10:59:31 -04:00
  • 216ddcedf4 feat(02-05): ColorLegend, AppNav, ViewToolbar, SkeletonCalendar, EmptyState; retire EventProof Lucas Berger 2026-06-05 10:58:06 -04:00
  • 3eebfbff42 feat(02-05): EventDetailPopover read-only popover, XSS-safe, wired into CalendarShell Lucas Berger 2026-06-05 10:51:57 -04:00
  • 433fb9f900 test(02-05): add failing tests for EventDetailPopover (TDD RED) Lucas Berger 2026-06-05 10:47:41 -04:00
  • 00a4e66a8d docs(phase-02): update tracking after wave 3 Lucas Berger 2026-06-05 10:44:57 -04:00
  • 7b32bc1456 docs(02-04): complete CalendarShell plan — SUMMARY.md Lucas Berger 2026-06-05 10:44:04 -04:00
  • f0af43c4e6 test(02-04): CalendarShell CAL-03 render smoke — Temporal hydration + Pitfall 6 guard Lucas Berger 2026-06-05 10:42:30 -04:00
  • b79f649ac5 feat(02-04): mount Schedule-X CalendarShell wired to TanStack Query + Zustand + hydrateEvents Lucas Berger 2026-06-05 10:40:07 -04:00
  • dabe2ccd57 docs(phase-02): record D-16 (shared calendar on primary FM account) + defer is_shared marking Lucas Berger 2026-06-05 10:34:22 -04:00
  • bfddcb1da2 docs(phase-02): update tracking after wave 2 Lucas Berger 2026-06-05 10:33:53 -04:00
  • 010ef78230 docs(02-02): complete windowed events + expansion plan Lucas Berger 2026-06-05 10:32:30 -04:00
  • 9ee26c07a7 feat(02-02): evolve /api/events to windowed endpoint with color/owner join Lucas Berger 2026-06-05 10:30:36 -04:00
  • 6736194a4a feat(02-02): add expandOccurrences() with VTIMEZONE + allDay split + EXDATE Lucas Berger 2026-06-05 10:30:22 -04:00
  • 5435df6bbe docs(02-03): complete plan 03 summary — token layer, calendar config, hydration, store Lucas Berger 2026-06-05 09:49:39 -04:00
  • f377d7c3f8 feat(02-03): hydrateEvents + calendarStore + windowed fetchEvents; RED stubs green Lucas Berger 2026-06-05 09:47:07 -04:00
  • 43554f491b feat(02-03): colorUtils + calendarConfig; turn RED calendarConfig stubs green Lucas Berger 2026-06-05 09:44:19 -04:00
  • 0911a2330a feat(02-03): install Schedule-X stack + CSS token layer + main.tsx imports Lucas Berger 2026-06-05 09:42:34 -04:00
  • 6dc5d77f60 docs(phase-02): update tracking after wave 1 Lucas Berger 2026-06-05 09:38:23 -04:00
  • 2d75b2b73b docs(02-01): complete plan 01 — schema columns, test harness, dev-auth bypass summary Lucas Berger 2026-06-05 09:35:53 -04:00
  • 8bd44b33c7 feat(02-01): dev-auth bypass middleware with production hard guard Lucas Berger 2026-06-05 09:32:00 -04:00
  • 75252eb08c feat(02-01): schema columns, PWA vitest harness, ICS fixtures, RED test stubs Lucas Berger 2026-06-05 09:29:45 -04:00
  • 62ebb1f9d4 docs(phase-02): begin execution — consume handoff, advance state Lucas Berger 2026-06-05 09:24:49 -04:00
  • 81d5c61aa5 wip: calendar-display paused — planned, not executed (0/5 plans) Lucas Berger 2026-06-04 15:29:39 -04:00
  • 8bd52c6923 docs: add backlog item 999.1 — treat Fastmail as a calendar provider, support adding more Lucas Berger 2026-06-04 15:12:20 -04:00
  • fc4cc2ccf8 docs(02): create phase plan Lucas Berger 2026-06-04 15:09:55 -04:00
  • b842955612 docs(02): create calendar-display phase plan (5 plans, 4 waves) Lucas Berger 2026-06-04 14:56:57 -04:00
  • 5e14413024 docs(02): add pattern map Lucas Berger 2026-06-04 14:47:28 -04:00
  • a707f8d9ca docs(02): add research and validation strategy Lucas Berger 2026-06-04 14:44:14 -04:00
  • e9fcd7a372 docs(02): research calendar display phase Lucas Berger 2026-06-04 14:43:23 -04:00
  • 5b98fc097d docs(state): record phase 2 UI-SPEC session Lucas Berger 2026-06-04 14:24:20 -04:00
  • f1604b5057 docs(02): UI design contract Lucas Berger 2026-06-04 14:24:20 -04:00
  • 79a18b9ea2 docs(02): add UI design contract for calendar display phase Lucas Berger 2026-06-04 14:21:57 -04:00
  • 7d65ef0fa9 docs(state): record phase 2 context session Lucas Berger 2026-06-04 14:14:08 -04:00
  • dbec9b510c docs(02): capture phase context Lucas Berger 2026-06-04 14:14:07 -04:00
  • 6e74b3fc05 docs: capture D-14/D-15 (Gate 2 deferral + local-Newt test rig) + deployment runbook Lucas Berger 2026-06-04 11:55:31 -04:00
  • 5bed2228b7 test(01): verification (human_needed, 11/13) + persist Gate 2 human-UAT Lucas Berger 2026-06-04 11:44:52 -04:00
  • fe8d5c8e4b docs(phase-01): mark 01-04 code complete after wave 3 Lucas Berger 2026-06-04 11:40:00 -04:00
  • 0b074cd568 docs(01-04): record CAL-08 GO decision — broker read path proven live Lucas Berger 2026-06-04 11:39:44 -04:00
  • d6f5e7d7a5 fix: ignore all .env.* secret variants, not just bare .env Lucas Berger 2026-06-04 11:35:32 -04:00
  • 22a0f05170 docs(01-04): complete integration+gate plan summary; add CAL-08 decision template Lucas Berger 2026-06-04 11:18:04 -04:00
  • 48f90ceca9 feat(01-04): wire broker + routes into bootstrap, add SSE endpoint, EventProof Lucas Berger 2026-06-04 11:16:10 -04:00
  • d2d8333bf8 docs(phase-01): update tracking after wave 2 (01-02 OIDC, 01-03 broker) Lucas Berger 2026-06-04 11:10:44 -04:00
  • 191cea70cc docs(01-03): complete CalDAV broker slice plan summary Lucas Berger 2026-06-04 11:10:02 -04:00
  • 23b8e5326d feat(01-03): implement ctag poller with node-cron 5-min schedule Lucas Berger 2026-06-04 11:08:46 -04:00
  • 1b3ea4e99b test(01-03): add failing tests for broker poller ctag change detection Lucas Berger 2026-06-04 10:34:12 -04:00
  • dd02207318 feat(01-03): implement broker client, syncCalendar, and events route (CAL-01) Lucas Berger 2026-06-04 10:33:28 -04:00
  • 90b99296e8 test(01-03): refine sync RED tests with richer db mock (select + insert) Lucas Berger 2026-06-04 10:30:53 -04:00
  • ae21541e97 test(01-03): add failing tests for syncCalendar (D-13 all-day DATE handling) Lucas Berger 2026-06-04 10:29:29 -04:00
  • d6d91201b1 feat(01-03): implement AES-256-GCM app-password encryption (T-03-01) Lucas Berger 2026-06-04 10:27:40 -04:00
  • 04d7c23e94 test(01-03): add failing tests for AES-256-GCM crypto helpers Lucas Berger 2026-06-04 10:26:59 -04:00
  • 3bfffd60ae docs(01-02): complete OIDC auth slice plan summary Lucas Berger 2026-06-04 10:24:18 -04:00
  • 668ed9be0d feat(01-02): wire OIDC middleware, /api/me route, and authenticated PWA shell Lucas Berger 2026-06-04 10:22:46 -04:00
  • baabfce9e2 feat(01-02): implement upsertUser with stable color assignment (AUTH-03) Lucas Berger 2026-06-04 10:21:04 -04:00
  • 61c258c021 test(01-02): add failing tests for upsertUser color assignment + identity Lucas Berger 2026-06-04 10:20:27 -04:00
  • ee4c71fa46 docs(01-01): clear Task 3 checkpoint, mark plan complete Lucas Berger 2026-06-04 10:17:21 -04:00
  • 00efbab107 fix(01-01): build Docker image from repo-root pnpm workspace context Lucas Berger 2026-06-04 10:17:06 -04:00
  • 6b500170ab docs(01-01): complete walking skeleton plan — SUMMARY Lucas Berger 2026-06-04 09:54:10 -04:00
  • 96cda58509 feat(01-01): Drizzle schema + DB client + /health slice (GREEN) Lucas Berger 2026-06-04 09:52:36 -04:00
  • f31711af27 test(01-01): add failing health test (RED gate) Lucas Berger 2026-06-04 09:50:43 -04:00
  • 3f591566d1 chore(01-01): scaffold monorepo, Docker Compose stack, and Vitest harness Lucas Berger 2026-06-04 09:50:16 -04:00
  • fb849605b1 docs(01): mark research open questions deferred-to-spike Lucas Berger 2026-06-04 08:19:12 -04:00
  • 3c51e423ff docs(01-foundation-broker-spike): create phase plan (4 plans, 3 waves) + SKELETON + validation map Lucas Berger 2026-06-04 08:16:48 -04:00
  • 25460c9bd9 docs(01): add research + validation strategy Lucas Berger 2026-06-04 08:06:51 -04:00
  • ac41270fa1 docs(01): research phase 1 foundation + broker spike Lucas BergerandClaude Sonnet 4.6 2026-06-04 08:05:44 -04:00
  • d70a159dd0 docs(state): record phase 1 context session Lucas Berger 2026-06-04 07:55:08 -04:00
  • d6a8e99578 docs(01): capture phase context Lucas Berger 2026-06-04 07:55:02 -04:00
  • 31c78965a7 wip: project setup paused pre-Phase-1 (0/5 phases) Lucas Berger 2026-06-03 16:35:19 -04:00
  • ac82d32a36 docs: create roadmap (5 phases) Lucas Berger 2026-06-03 16:15:27 -04:00
  • a20afd472a docs: define v1 requirements Lucas Berger 2026-06-03 16:05:16 -04:00
  • 0f79277942 docs: complete project research (stack, features, architecture, pitfalls, summary) Lucas Berger 2026-06-03 15:01:33 -04:00
  • 1ce0348914 chore: add project config Lucas Berger 2026-06-03 14:48:13 -04:00
  • ad2aad83a8 docs: initialize project Lucas Berger 2026-06-03 14:45:59 -04:00
  • 16db88dabf initial commit Lucas Berger 2026-06-03 14:34:58 -04:00