pimutils / khal

:calendar: CLI calendar application
https://lostpackets.de/khal/
MIT License
2.6k stars 199 forks source link

Added Support for Microsoft Busystatus #1220

Open sebu06 opened 1 year ago

sebu06 commented 1 year ago

I added support for the ics Attribute X-MICROSOFT-BUSYSTATUS. Since this is my fist contribution to the ikhal project, I would greatly appreciate feedback on this one.

Kind regards, Sebastian

sebu06 commented 1 year ago

this should close pull request #989 as well...

sebu06 commented 1 year ago

I'm using this with davmail. However, I just found out, that it only displays the status correctly, and the update only sometimes works - due to davmail doing some processing on their end as well. So if this should be fully supported, a patched version of davmail is required as well... For displaying it works well though

WhyNotHugo commented 1 year ago

due to davmail doing some processing on their end as well

Any idea what they're doing?

sebu06 commented 1 year ago

Any idea what they're doing?

Yes, they seem to do the following:

on update: set the busystatus to STATUS entry in VEVENT

on event creation:

  1. set status to Tentative if STATUS:TENTATIVE
  2. otherwise set status to Busy is X-MICROSOFT-CDO-BUSYSTATUS:BUSY
  3. if both is not true, set status to Free

I'm currently thinking there are two options: only supprort setting the status to Busy / Free / Tentative (as it seems to be the standard) and only display the MS-Status for events that have been added externally or modify davmail. I'm leaning towards the first option, since the latter would most likely lead to problems with other clients (like Dav5x) when they do not follow the MS standard.

sebu06 commented 1 year ago

Thanks for all the feedback, I will update it =)