feat: Google Calendar bidirectional sync #123

Open
opened 2026-03-27 23:02:50 +00:00 by barrettruth · 1 comment
barrettruth commented 2026-03-27 23:02:50 +00:00
No description provided.
barrettruth commented 2026-03-29 17:44:27 +00:00

Status update: sync engine and mapper are built, not yet wired to UI.

Done:

  • google-calendar.ts: REST API client (list/create/update/delete events, list/create calendars)
  • google-calendar-mapper.ts: bidirectional field mapping (Google Event <-> Delta Task), 36 tests passing
  • google-calendar-sync.ts: pull phase (Google->Delta), push phase (Delta->Google), field-level merge, sync token management, auto-creates "delta" calendar
  • OAuth callback updated to handle incremental calendar.events scope
  • Google Calendar integration row in settings (connect via OAuth)

Remaining:

  • Wire sync engine to automation recipe / cron trigger
  • UI for sync status in status bar
  • Conflict resolution UX (currently auto-merges by field timestamp)
Status update: sync engine and mapper are built, not yet wired to UI. **Done:** - `google-calendar.ts`: REST API client (list/create/update/delete events, list/create calendars) - `google-calendar-mapper.ts`: bidirectional field mapping (Google Event <-> Delta Task), 36 tests passing - `google-calendar-sync.ts`: pull phase (Google->Delta), push phase (Delta->Google), field-level merge, sync token management, auto-creates "delta" calendar - OAuth callback updated to handle incremental `calendar.events` scope - Google Calendar integration row in settings (connect via OAuth) **Remaining:** - Wire sync engine to automation recipe / cron trigger - UI for sync status in status bar - Conflict resolution UX (currently auto-merges by field timestamp)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
barrettruth/delta#123
No description provided.