dakboard / Cloud-Platform

Feature requests, enhancements and anything you'd like to see in DAKboard!
https://dakboard.com
168 stars 39 forks source link

iCal - Deleted Events Still Displaying when multiple VEVENT EXDATEs are supplied #2246

Closed Dan-Peck closed 2 weeks ago

Dan-Peck commented 2 weeks ago

EXDATE parsing of ICAL content was corrected in #2196, but it was discovered that an issue still remains in some scenarios when there are multiple EXDATE values supplied.

This is evidenced in the following VEVENT sample where the 20241105T093000 still shows on the calendar:

BEGIN:VEVENT
RRULE:FREQ=WEEKLY;UNTIL=20250429T163000Z;INTERVAL=1;BYDAY=TU;WKST=SU
EXDATE;TZID=Pacific Standard Time:20241015T093000,20241022T093000,20241029T
 093000,20241105T093000
UID:01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890ABCDEF000000000000000
 01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ0
SUMMARY:Test of Multiple EXDATEs
DTSTART;TZID=Pacific Standard Time:20241008T093000
DTEND;TZID=Pacific Standard Time:20241008T103000
CLASS:PUBLIC
PRIORITY:5
DTSTAMP:20241105T181242Z
TRANSP:OPAQUE
STATUS:CONFIRMED
SEQUENCE:2
LOCATION:Microsoft Teams Meeting
X-MICROSOFT-CDO-APPT-SEQUENCE:2
X-MICROSOFT-CDO-BUSYSTATUS:BUSY
X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
X-MICROSOFT-CDO-ALLDAYEVENT:FALSE
X-MICROSOFT-CDO-IMPORTANCE:1
X-MICROSOFT-CDO-INSTTYPE:1
X-MICROSOFT-DONOTFORWARDMEETING:FALSE
X-MICROSOFT-DISALLOW-COUNTER:FALSE
X-MICROSOFT-REQUESTEDATTENDANCEMODE:DEFAULT
X-MICROSOFT-ISRESPONSEREQUESTED:FALSE
END:VEVENT
Dan-Peck commented 2 weeks ago

Dev Notes

Including some additional notes, for any future reference needed. iCal specification does allow for different ways to specify multiple Excluded Dates, but they are specified a bit differently depending on the server constructing the ICS VEVENT data. Samples follow:

Microsoft Method:


DTSTART;TZID=Pacific Standard Time:20241008T093000
EXDATE;TZID=Pacific Standard Time:20241015T093000,20241022T093000,20241029T
 093000,20241105T093000

Apple Method:


DTSTART;TZID=America/New_York:20240820T080000
EXDATE;TZID=America/New_York:20240920T080000
EXDATE;TZID=America/New_York:20241120T080000
EXDATE;TZID=America/New_York:20250120T080000
Dan-Peck commented 2 weeks ago

Merged in @ 9030e16 and added to the queue for upcoming release to the live site.