-
Notifications
You must be signed in to change notification settings - Fork 290
Description
Is your feature request related to a problem? Please describe.
We’re using Nextcloud Calendar as a CalDAV server and store custom iCalendar properties on events (e.g. X-SENDENTCALENDAR-ID, X-SENDENT-METADATA, or similar).
Current behavior:
- Client A creates an event and invites Client B
- Client B accepts the invitation, sets custom properties in event
- Client A modifies their entry, e.g. other event date, which pushes update towards Client B. As soon update is accepted by Client B, custom properties are gone.
It seems to be the case that any customizations Client B made (in this case custom properties), are always fully overwritten by the event details pushed by Client A.
The proposed solution would entail the retaining of custom properties when such event is updated once more.
Related but more difficult:
The above scenario also applies to regular modifications that client B would make, for example: reminders are overwritten, the status (busy/available) is overwritten. The UI allows client B to modify the event of client A to suit client B their own needs. The behavior is unexpected as soon client A invites client B, client B further 'tailors' the event to their needs, client A pushes an update and client B then loses their modifications.
Describe the solution you'd like
When an event is updated via CalDAV, custom / unknown properties of the VEVENT should be preserved, as long as the updating client did not explicitly remove them.
The server should perform something akin to a delta / partial update:
- Only change the properties that were actually modified (e.g. SUMMARY, DTSTART, DTEND, etc.)
- Keep existing X-... properties and other unknown properties intact.
Describe alternatives you've considered
None.
Additional context
No response