Skip to content

Fix recurring tasks syncing as one-time across providers#4

Closed
deeqdev wants to merge 1 commit intomainfrom
deeq/fix-recurring-roundtrip
Closed

Fix recurring tasks syncing as one-time across providers#4
deeqdev wants to merge 1 commit intomainfrom
deeq/fix-recurring-roundtrip

Conversation

@deeqdev
Copy link
Collaborator

@deeqdev deeqdev commented Feb 13, 2026

Summary

  • preserve recurrence in Google metadata as machine RRULE text instead of humanized text
  • accept both key:value and legacy key=value metadata formats and support legacy recurrence keys (repeat, rrule, recurrence_raw)
  • improve recurrence parsing/normalization for legacy human strings (including interval/day/count/until patterns)
  • preserve recurrence range details (DTSTART/TZID/WKST) during Microsoft serialize/deserialize
  • allow Microsoft updates to re-apply recurrence payload (with due-date fallback start date) so one-time drift can be corrected

Root cause

Recurrence was written to Google notes in a human-readable form (for example: Every 2 weeks on Mon, Thu) that could not always be parsed back into RRULE, so Microsoft received no valid recurrence object and tasks were created/kept as one-time items.

Tests

  • npm test
  • npm run typecheck
  • npm run lint

@deeqdev
Copy link
Collaborator Author

deeqdev commented Feb 13, 2026

Superseded by #5, which is already merged into main with the latest recurrence fixes.

@deeqdev deeqdev closed this Feb 13, 2026
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.

2 participants