refactor: canonicalize calendar external identity #392

Merged
barrettruth merged 1 commit from issue-388-calendar-external-identity into main 2026-05-12 13:44:55 +00:00
Owner

Problem

iCal import was deriving calendar external link identity inline from UID and recurrence IDs, while upcoming Google Calendar work needs the same provider/upstream/instance rules.

Solution

  • Add a small calendar external identity helper for calendar link providers, upstream event IDs, and recurrence instance identities.
  • Route iCal import duplicate checks and link creation through the helper without changing imported task shape or existing external IDs.
  • Add focused tests for master events, recurring instances, and provider-scoped external IDs.

Verification

  • nix develop --command pnpm vitest run tests/core/calendar-external-identity.test.ts tests/core/ical/import.test.ts --reporter=verbose
  • nix develop --command pnpm exec biome check src/core/calendar-external-identity.ts src/core/ical/import.ts tests/core/calendar-external-identity.test.ts tests/core/ical/import.test.ts
  • nix develop --command just ci

Closes #388

## Problem iCal import was deriving calendar external link identity inline from UID and recurrence IDs, while upcoming Google Calendar work needs the same provider/upstream/instance rules. ## Solution - Add a small calendar external identity helper for calendar link providers, upstream event IDs, and recurrence instance identities. - Route iCal import duplicate checks and link creation through the helper without changing imported task shape or existing external IDs. - Add focused tests for master events, recurring instances, and provider-scoped external IDs. ## Verification - `nix develop --command pnpm vitest run tests/core/calendar-external-identity.test.ts tests/core/ical/import.test.ts --reporter=verbose` - `nix develop --command pnpm exec biome check src/core/calendar-external-identity.ts src/core/ical/import.ts tests/core/calendar-external-identity.test.ts tests/core/ical/import.test.ts` - `nix develop --command just ci` Closes #388
refactor: canonicalize calendar external identity
All checks were successful
quality / Test (pull_request) Successful in 16s
quality / Lint (pull_request) Successful in 20s
quality / Build (pull_request) Successful in 44s
d09005c822
barrettruth deleted branch issue-388-calendar-external-identity 2026-05-12 13:44:55 +00:00
Sign in to join this conversation.
No reviewers
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!392
No description provided.