diff options
| author | Craig Jennings <c@cjennings.net> | 2026-02-03 07:39:50 -0600 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-02-03 07:39:50 -0600 |
| commit | 77310e4032e1b8bfe81d22bb27ced931334206d5 (patch) | |
| tree | 863bb2fb0b6f4ee5f24e4a45032e873816629695 /.gitignore | |
| parent | c0a9ee167df0f58bb5415ae49bf80be32429858b (diff) | |
| download | dotemacs-77310e4032e1b8bfe81d22bb27ced931334206d5.tar.gz dotemacs-77310e4032e1b8bfe81d22bb27ced931334206d5.zip | |
feat(calendar-sync): add RECURRENCE-ID exception handling for recurring events
Handle rescheduled instances of recurring calendar events by processing
RECURRENCE-ID properties from ICS files. When someone reschedules a single
instance of a recurring meeting in Google Calendar, the calendar-sync module
now shows the rescheduled time instead of the original RRULE time.
New functions:
- calendar-sync--get-recurrence-id: Extract RECURRENCE-ID from event
- calendar-sync--get-recurrence-id-line: Get full line with TZID params
- calendar-sync--parse-recurrence-id: Parse into (year month day hour minute)
- calendar-sync--collect-recurrence-exceptions: Collect all exceptions by UID
- calendar-sync--occurrence-matches-exception-p: Match occurrences to exceptions
- calendar-sync--apply-single-exception: Apply exception data to occurrence
- calendar-sync--apply-recurrence-exceptions: Apply all exceptions to occurrences
Also adds DeepSat calendar configuration (dcal-file) to user-constants,
init.el, and org-agenda-config.
48 unit and integration tests added covering normal, boundary, and error cases.
Diffstat (limited to '.gitignore')
| -rw-r--r-- | .gitignore | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore index 18d7586d3..691845df1 100644 --- a/.gitignore +++ b/.gitignore @@ -62,4 +62,5 @@ history # Calendar sync generated data /data/gcal.org /data/pcal.org +/data/dcal.org /data/calendar-sync-state.el |
