What does this PR do?
There is a property (SCHEDULE-AGENT=CLIENT) a CalDAV client can add to the event that would prevent CalDAV servers from sending invitations.
This PR patches the used ics-2.37.0 to provide this functionality.
Commits
- one commit 3e398bd57252232d18251f20f502cceed4ad24aa implements the OPTIONAL/NON-BREAKING functionality
- one commit 982f2e0eda7bc6299c82a56d9f9ce17702c24324 hardcodes
SCHEDULE-AGENT=CLIENT
in order to tests this within the app
Visual Demo
(me backend/core/hw designer - loosing it completely with UI workflows, and not sure what to produce here. Steps are trivial for another dev with a ready setup.)
Mandatory Tasks
- I have self-reviewed the code (A decent size PR without self-review might be rejected).
- I have updated the developer docs in /docs if this PR makes changes that would require a documentation change.
- N/A (I assume its autogenerated)
- I confirm automated tests are in place that prove my fix is effective or that my feature works.
How should this be tested?
- run this version as usual (e.g. via
yarn dev
)
- add a fastmail CalDav Calendar
- create an event
- => fastmail does NOT send an email anymore
Tests Applied by me
- I have validated the changes with the original tests in the ics repo-code (does not break anything)
- I have validated the changes within cal.com tests
- does not break existent tests
- new unit tests work as expected
- A: used cal.com on web, added
fastmail CaDav
, booked event
- fastmail calendar DID send an email.
- B:
yarn dev
my version, connected fastmail CalDav, booked event
- fastmail calendar did NOT send an email
User Interface
My understanding is that this core/backend-level work needs to be complemented by UI work.
Not sure about this though.
Summary by cubic
Added support for the SCHEDULE-AGENT property in calendar events by patching the ics library, allowing CalDAV clients to prevent servers from sending invitations.
- Dependencies
- Applied a custom patch to ics@2.37.0 to support SCHEDULE-AGENT for organizers and attendees.