nextcloud / nextcloud/calendar
Implement SCHEDULE-FORCE-SEND support (RFC 6638 §3.2.7)
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 1.2k
- Forks
- 332
- Avg merge
- 16h 13m
- Merged PRs (30d)
- 137
Description
Is your feature request related to a problem? Please describe.
There is currently no way to resend a calendar invitation to an attendee who has not responded. The only workaround is to remove the attendee and re-add them, which sends an unwanted cancellation email first. This is tracked as a user-facing issue in nextcloud/calendar#4019 (https://github.com/nextcloud/calendar/issues/4019).
The root blocker is missing support for SCHEDULE-FORCE-SEND in calendar-js.
Describe the solution you'd like
Implement support for the SCHEDULE-FORCE-SEND iCalendar property parameter as defined in RFC 6638 §3.2.7 (https://datatracker.ietf.org/doc/html/rfc6638#section-3.2.7). This parameter instructs the CalDAV server to send a scheduling message to an attendee or organizer even in cases where it would not normally do so, enabling a "resend invitation" flow without modifying the event itself.
RFC 6638 is a finalized Proposed Standard published in June 2012, so the specification is stable and unambiguous.
Describe alternatives you've considered
The remove-and-re-add workaround (referenced in nextcloud/calendar#4019) is the only current option. It is disruptive as it sends a spurious cancellation email to the attendee before the new invitation arrives.
Additional context
This is a prerequisite for implementing the "resend invitation" button requested in nextcloud/calendar#4019 (https://github.com/nextcloud/calendar/issues/4019). Once SCHEDULE-FORCE-SEND is available in calendar-js, the calendar app can expose a per-attendee resend action in the UI.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating calendar-js's handling of iCalendar property parameters, then read RFC 6638 §3.2.7 alongside the existing scheduling implementation. Done means calendar-js supports SCHEDULE-FORCE-SEND so a CalDAV server can be instructed to resend a scheduling message without modifying the event.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- api
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100