Meaning X-RELATIVE key in RRDATE field

A search in the GitHub repositories or in the help forums did not reveal any documentation on the X-RELATIVE key in the RRDATE field seemingly created by Nextcloud in a synced ICS file via CalDAV. As the preceding X- indicates, the key is non-standard. Since some applications, for example, the dateutil library, do not know how to handle it, they asked for documentation of this key so that they could properly parse and interpret it.

Are you really sure that it is created by Nextcloud and not a 3rd-party app which you use to edit/update your events, like e.g. Thunderbird? I cannot find any match in the Nextcloud code of “x-relative”.

Dear j-ed,

No, I am not sure. Unfortunately, I could not neither find any documentation on X-RELATIVE outside of the Nextcloud repository, say by googling.

The key is created via a platform that uses Nextcloud to host a Calendar that is accessed via CalDAV-Sync on Android (and vdirsyncer on Linux). I asked the CalDAV-Sync support if they know more.

To narrow down the problem, would it be possible that you create a list of apps/devices which have access to your calendar data? Could you remember how you’ve created your example event, using the Nextcloud gui, Thunderbird, the Android calendar app, the iPhone calendar app, DAVx5, etc., etc.?

Yes, this entry was created when adding a recurrent task on Android by the aCalendar / OpenTasks application synced by CalDAV-Sync via a Nextcloud server.

Afaik, it is not very likely that Nextcloud and a sync software like CalDAV-Sync are changing data on the fly. OpenTask seems also not to include “X-RELATIVE” in its source code, so I would start by contacting the developers of aCalendar and ask them for help.

Thank you for the hint, indeed X-RELATIVE is set by aCalendar to indicate a recurrent task that is repeated relative to the date of completion (which is not supported by ICS).

1 Like