lfos / calcurse

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

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

Open dymn opened 10 months ago

dymn commented 10 months 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