Skip to content

fix(calendar): M1 — propagate Google pull-side updates and deletes - #276

Merged
h4yfans merged 7 commits into
mainfrom
quirky-blackburn-a3e39a
Apr 18, 2026
Merged

fix(calendar): M1 — propagate Google pull-side updates and deletes#276
h4yfans merged 7 commits into
mainfrom
quirky-blackburn-a3e39a

Conversation

@h4yfans

@h4yfans h4yfans commented Apr 18, 2026

Copy link
Copy Markdown
Collaborator

Summary

Milestone 1 of Google Calendar Phase 2. Fixes three correctness bugs in the Google pull loop so Google-side updates, deletions, and cursor-invalidation reach bound Memry records.

  • Route bound-remote updates through applyGoogleCalendarWriteback (previously never invoked by the pull loop)
  • Propagate Google cancellations through applyGoogleCalendarDelete (previously dropped)
  • Archive the mirror row when an unbound Google event is cancelled + skip phantom materialization for never-seen cancellations
  • Defensive 410 Gone handling around client.listEvents — insurance for future client variants; see docs commit for why current path is dormant

No schema changes, no new IPC surface, no renderer changes.

Design: .claude/plans/2026-04-18-google-calendar-phase-2-design.md
Plan: .claude/plans/2026-04-18-google-calendar-phase-2-m1-correctness.md

Test plan

  • Unit: findCalendarBindingByRemoteEvent returns the active binding and skips archived ones
  • Integration: bound Google update writes through to native calendar_events row; mirror stays empty; binding etag refreshed
  • Integration: bound Google cancellation deletes the native row and archives the binding
  • Integration: unbound Google cancellation archives the existing mirror row
  • Integration: unbound Google cancellation with no pre-existing mirror does NOT materialize a phantom archived row
  • Integration: 410 Gone on listEvents clears syncCursor and retries with null
  • Full pnpm --filter @memry/desktop exec vitest run green
  • pnpm typecheck:node and pnpm typecheck:web clean (modulo known pre-existing test-file errors called out in CLAUDE.md)
  • pnpm lint clean

@h4yfans
h4yfans merged commit e5db83c into main Apr 18, 2026
5 checks passed
@h4yfans
h4yfans deleted the quirky-blackburn-a3e39a branch April 18, 2026 18:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant