ivan-lednev / obsidian-day-planner

An Obsidian plugin for day planning with a clean UI and a simple task format
MIT License
1.93k stars 485 forks source link

Exceptions to recurring events Microsoft 365 still showing in timeline #418

Open neutron246 opened 2 months ago

neutron246 commented 2 months ago

Describe the bug If I delete a single occurrence of a recurring event in Microsoft Business 365 it is still shown in the timeline. I create the events in thunderbird, so I am unsure if that has something to do with it.

Possible cause I had a look through the ICS file and found one line which seems to define the exceptions to recurring tasks. Possibly, this is not being recognized. EXDATE;TZID=Romance Standard Time:20240405T114500,20240501T114500

Here is the whole block: BEGIN:VEVENT RRULE:FREQ=WEEKLY;UNTIL=20250404T094500Z;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR;WK ST=SU EXDATE;TZID=Romance Standard Time:20240405T114500,20240501T114500 UID:040000008200E00074C5B7101A82E008000000003F4F17A3F17EDA01000000000000000 0100000007A311FFAC1405A4DAC057696E03E1030 SUMMARY:Mittag DTSTART;TZID=Romance Standard Time:20240402T114500 DTEND;TZID=Romance Standard Time:20240402T131500 CLASS:PUBLIC PRIORITY:5 DTSTAMP:20240405T024604Z TRANSP:OPAQUE STATUS:CONFIRMED SEQUENCE:0 LOCATION: X-MICROSOFT-CDO-APPT-SEQUENCE:0 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

gr2mx commented 1 month ago

I can confirm the bug occurs for me as well.

aahventures commented 3 weeks ago

Copying my comment from #431

I took a quick look and it seems like a pretty simple fix. I hacked my local main.js by excluding any dates in icalEvent.exdate (exclude or exception dates), in addition to excluding recurrence overrides and it seems to fix it. Apparently there is another iCal property called EXRULE also, which should be taken into account if we want to be 100% correct, see: https://www.kanzaki.com/docs/ical/exrule.html.

If I have time, I'll try to open a PR. Otherwise I'd be happy if someone else took my findings and opened a PR too.