Caldav sync: Error regarding end date of recurrence event.

Hi. I disovered a bug in your caldav sync. When a recurrence event has stated an “UNTIL” date in it’s RRULE. Em Client treats it as an exclusive date and doesn’t show an event on this date. Referencing to RFC 5545 Sec. 3.3.10., the UNTIL date is an inclusive date

Hi Richard,
could you take a screenshot or copy the content of this error message that accompanied this?

Best regards,
Olivia

There is no error message. The end date of a recurrence is calculated wrong.

Hi Richard,
I see, I misunderstood. Can I just ask on which device/which program you create the recurring event on that later synces wrong?

It was created on a caldav server i am developing atm. But it is very easy to reproduce. Take this iCalendar file and import it via File->Import

BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VEVENT
DTSTART;TZID=Europe/Berlin:20151019T080000
DTEND;TZID=Europe/Berlin:20151019T083000
RRULE:FREQ=WEEKLY;BYDAY=MO;UNTIL=20151228
DTSTAMP:20151016T112331Z
UID:3vi8do8b55jdjhouqjsgnuedkg
CREATED:20151015T131138Z
DESCRIPTION:
LAST-MODIFIED:20151015T131139Z
LOCATION:Maihäldenstraße, 11111 Mustertown, Germany
SUMMARY:Recurrence with UNTIL date
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR

The UNTIL date is set to 28. December inclusive. But em client only shows events until 21. December.

Hello Richard,
the problem is actually not with eM Client then. Looking at your example your server is not following the RFC5545 specification: “The value of the UNTIL rule part MUST have the same value type as the “DTSTART” property.”
You set only the day of the UNTIL date, which then probably takes the time after midnight (or any time BEFORE the 8:00 appointment you set up, so the last instance is not present.)
When I set up the until date to 20151228T083000 it works correctly (just as making the event directly in eM Client).

Best regards,
Olivia

You are right. There was a bug in my server. I have to thank you. Some clients showed the event on 28. December and some didn’t, so i thought the bug would be on clientside :slight_smile: