Skip to content
This repository was archived by the owner on May 26, 2026. It is now read-only.

Events: add VALUE=DATE to EXDATE for cancelled all-day exceptions#441

Merged
rfc2822 merged 2 commits into
mainfrom
406-exdate-for-all-day-events-serialized-without-valuedate-http-415
May 26, 2026
Merged

Events: add VALUE=DATE to EXDATE for cancelled all-day exceptions#441
rfc2822 merged 2 commits into
mainfrom
406-exdate-for-all-day-events-serialized-without-valuedate-http-415

Conversation

@rfc2822

@rfc2822 rfc2822 commented May 24, 2026

Copy link
Copy Markdown
Member

No description provided.

@rfc2822 rfc2822 linked an issue May 24, 2026 that may be closed by this pull request
@rfc2822 rfc2822 self-assigned this May 24, 2026
@rfc2822 rfc2822 added pr-bugfix Fixes something that isn't working (only used for PRs) events Regarding events / everything that's stored in Android Calendar Provider labels May 24, 2026
@rfc2822 rfc2822 requested a review from Copilot May 24, 2026 09:38

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Ensures that cancelled all-day recurring exceptions are exported as EXDATE entries with the correct iCalendar value type (VALUE=DATE), matching RFC 5545 expectations and improving interoperability with clients that require explicit VALUE=DATE for date-only exclusions.

Changes:

  • Update AndroidEventHandler.asExDate() to emit EXDATE;VALUE=DATE:<yyyymmdd> for cancelled all-day exceptions.
  • Strengthen recurrence-related tests to assert presence of VALUE=DATE on all-day EXDATE.
  • Add a dedicated mapping test case for cancelled all-day exceptions to prevent regression.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
lib/src/main/kotlin/at/bitfire/synctools/mapping/calendar/AndroidEventHandler.kt Adds VALUE=DATE parameter when generating EXDATE for cancelled all-day exceptions.
lib/src/test/kotlin/at/bitfire/synctools/mapping/calendar/AndroidEventHandlerTest.kt Adds test coverage asserting EXDATE uses VALUE=DATE for cancelled all-day exceptions.
lib/src/test/kotlin/at/bitfire/synctools/mapping/calendar/handler/RecurrenceFieldHandlerTest.kt Updates all-day recurrence test to assert EXDATE includes VALUE=DATE.

@rfc2822 rfc2822 marked this pull request as ready for review May 24, 2026 09:41
@rfc2822 rfc2822 requested a review from sunkup May 24, 2026 09:42
@sunkup sunkup force-pushed the 406-exdate-for-all-day-events-serialized-without-valuedate-http-415 branch from 55b0c1b to 30de943 Compare May 26, 2026 11:42

@sunkup sunkup left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good ~

@rfc2822 rfc2822 merged commit 614026c into main May 26, 2026
1 check passed
@rfc2822 rfc2822 deleted the 406-exdate-for-all-day-events-serialized-without-valuedate-http-415 branch May 26, 2026 11:45
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

events Regarding events / everything that's stored in Android Calendar Provider pr-bugfix Fixes something that isn't working (only used for PRs)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

EXDATE for all-day events serialized without VALUE=DATE (→ HTTP 415)

3 participants