Roundcube Community Forum

 

Does RoundcubePlus CalDAV support RECURRENCE-ID (recurring event exceptions)?

Started by ikus060, Today at 11:29:44 AM

Previous topic - Next topic

ikus060

Hi all,

I'm running into an issue where recurring event exceptions (single-instance overrides using RECURRENCE-ID) seem to get silently dropped by the CalDAV backend. I wanted to check here before filing a bug report — maybe I'm missing something, or maybe this is a known limitation.

Backend: RoundcubePlus//XCalendar//Sabre//VObject//4.5.6//EN

The issue

When I PUT an ICS containing a recurring master event (RRULE) plus a modified single occurrence (same UID, with RECURRENCE-ID), the server responds 204 No Content (success). But a subsequent GET on that same resource only returns the master event — the exception/override VEVENT is gone.

```
BEGIN:VCALENDAR
PRODID:-//Test//EN
VERSION:2.0
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTART:20260317T140000Z
DTEND:20260317T150000Z
RRULE:FREQ=WEEKLY
DTSTAMP:20260714T144618Z
SEQUENCE:10
STATUS:CONFIRMED
SUMMARY:Recurring Master
TRANSP:OPAQUE
UID:test-recur-exception-001
END:VEVENT
BEGIN:VEVENT
DTSTART:20260609T143000Z
DTEND:20260609T150000Z
RECURRENCE-ID:20260609T140000Z
DTSTAMP:20260714T144618Z
SEQUENCE:11
STATUS:CONFIRMED
SUMMARY:Exception - moved 30 min later
TRANSP:OPAQUE
UID:test-recur-exception-001
END:VEVENT
END:VCALENDAR
```

The GET response should contain two VEVENT blocks: the master (with RRULE) and the exception (with RECURRENCE-ID:20260609T140000Z and the updated time of 14:30–15:00).

But with my instance of roundcube, only the master VEVENT is returned. The exception is gone entirely — no error, no partial data, just missing.

1. Has anyone else run into this with RoundcubePlus's CalDAV backend?
2. Is there a server-side config option that needs to be enabled to support recurrence overrides?
3. Is this a known limitation of this sabre/vobject-based backend, or should I file this as a bug?