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.

  • Fixes #9485
  • /claim #9485

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.

Claim

Total prize pool $500
Total paid $0
Status Pending
Submitted June 14, 2025
Last updated June 14, 2025

Contributors

LA

laz-001

@laz-001

100%

Sponsors

CA

Cal.com, Inc.

@cal

$500