There is A LOT here:
It is Friday (at least somewhere ;p ) so I will wait till Monday to merge.
This change is incredibly extensive and should give us significantly better ICS support.
- Unifies the pipeline for ICS generation - we only use one mechanism for both add to calendar and clicking on dates
- Corrects many small bits of nuance in the ics format
- We pass on RRULE so if you grab a recurring event
- Proper CRLF line breaks and general adherence to ICS format
- Timezone support so when you grab an ICS for an event it will signal the correct timezone vs be a UTC event - this means recurrence will work.
- Expands the local dates format to support an optionally encoded ics
An open question I have is yes, rrule or no, rrule.
If you click here:
Do we intend to add the recurring event? Or just a single instance of the event?
Similarly, what about here:
@lindsey I am on the fence here, I can see this argued either way.
- I clicked on a recurring event and wanted to add the recurrence to my calendar
OR
- I clicked on an INSTANCE of a recurrence and only want to add it.
I implemented (1) cause I tend to feel it is more correct, but I am open to changing it to 2 if you prefer.

