Skip to content

calendarQuery() returns 0 events with iCloud CalDAV server #142

@one-kash

Description

@one-kash

Might be running into an edge case around modified occurrences of recurring events (RECURRENCE-ID). When I modify a single occurrence of a recurring event in Apple Calendar (e.g., reschedule one meeting), that change doesn't sync to my app - the modified occurrence either doesn't appear or shows at the original time.

Scenario:

  1. User has a recurring event in iCloud (e.g., "Weekly Team Meeting" every Sunday at 10am)
  2. User modifies ONE occurrence in Apple Calendar (e.g., moves Dec 8th's meeting to Dec 9th at 2pm)
  3. iCloud stores this as two VEVENTs in the same .ics file

Main recurring event

BEGIN:VEVENT
UID:event-123
DTSTART:20241201T100000Z
RRULE:FREQ=WEEKLY;BYDAY=SU
SUMMARY:Weekly Meeting
END:VEVENT

Modified occurrence (same UID, but with RECURRENCE-ID)

BEGIN:VEVENT
UID:event-123
RECURRENCE-ID:20241208T100000Z ← identifies which occurrence
DTSTART:20241209T140000Z ← new date/time
SUMMARY:Weekly Meeting (rescheduled)
END:VEVENT

  1. When fetching via dav4jvm's calendarQuery(): The modified instance (RECURRENCE-ID event) either:
    - Wasn't returned at all (0 events for that query)
    - Was returned but dav4jvm's response handling didn't expose it correctly
    - The callback wasn't invoked for the second VEVENT in the same file

5. When fetching via raw HTTP REPORT: Both VEVENTs are returned in the XML response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions