lfos / calcurse

A text-based calendar and scheduling application
https://calcurse.org
BSD 2-Clause "Simplified" License
995 stars 96 forks source link

Not properly formatted TRIGGER caused exceptions in other Caldav clients #480

Open dymn opened 1 year ago

dymn commented 1 year ago

Gentoo, calcurse-4.8.1.

Description. Synchronizing an event with a notification from calcurse to Baikal and then to DAVx5 or Mercury Calendar (KDE) causes an exception in DAVx5 and the absence of this event in the Android calendar, and Mercury Calendar (KDE) simply does not show this event.

Reproduce.

  1. Create an event in calcurse-4.8.1.
  2. Flag them in calcurse with ! hotkey (for alarm enable).
  3. Sync this calendar with baikal with calcurse-caldav.
  4. Sync android with DAVx5.
  5. Get exception. No this event in calendar in Android at all.

Expected Behavior. That the issue comes from the TRIGGER of the event's alarm, which isn't well formatted. The issue here is that we are specifying seconds (S suffix), and as stated in the documentation:

The ASCII letter "T" must occur before the first occurrence, if any, of an hour, minute or second section.

So that is clearly missing the T, so the correct duration would be -PT5S (for example): trigger.patch.zip

Ozan8 commented 4 weeks ago

Hi. I have this same problem. I am using Baikal server as CalDAV. whenever I add an event with "!" flag, I receive error. But when I do not flag the appointment with notification, then it is synced correctly.