JMAP CalendarEvent: recurrenceOverrides silently dropped on set
### What happened?
Setting `recurrenceOverrides` on a `CalendarEvent` via JMAP `CalendarEvent/set` is accepted without error but the data is silently discarded. Subsequent `CalendarEvent/get` always returns `null` for `recurrenceOverrides`.
Verified on v0.15.5.
### Reproduction steps
1. Create a recurring event:
```json
{
"methodCalls": [["CalendarEvent/set", {
"accountId": "...",
"create": {
"ev1": {
"@type": "Event",
"calendarIds": { "default": true },
"title": "Weekly",
"start": "2026-04-06T10:00:00",
"duration": "PT1H",
"recurrenceRule": { "frequency": "weekly", "byDay": [{ "day": "mo" }] }
}
}
}, "c1"]]
}
```
2. Set a `recurrenceOverrides` entry:
```json
{
"methodCalls": [["CalendarEvent/set", {
"accountId": "...",
"update": {
"{eventId}": {
"recurrenceOverrides": {
"2026-04-13T10:00:00": {
"title": "Special meeting"
}
}
}
}
}, "u1"]]
}
```
Returns `updated: { "{eventId}": {} }` — no error.
3. Fetch the event:
```json
{ "methodCalls": [["CalendarEvent/get", { "accountId": "...", "ids": ["{eventId}"] }, "g1"]] }
```
**Result:** `recurrenceOverrides` is `null`.
### Impact
This makes it impossible to implement per-occurrence RSVP status or any per-occurrence modification via JMAP. `recurrenceOverrides` is the canonical mechanism in JSCalendar (RFC 8984) and the JSCalendar-bis draft for representing per-occurrence data.
### Related
- Issue #2925 — updates targeting synthetic occurrence IDs (related but separate: this issue is about `recurrenceOverrides` on the master event itself)
### Code of Conduct
- [x] I agree to follow this project's Code of Conduct
0 条评论