Calendar: cancel events for guests, apply organizers' cancellations, invitation settings
Deleting an event the user organizes, with other guests, asks "Would you like to inform the participants that this event is canceled?" (Yes, inform them and delete / No, just delete / Cancel; for a recurring one after which occurrences). Yes sends each guest an iTIP CANCEL from the organizer's mailbox — of one occurrence via RECURRENCE-ID — or, for "this and following", the shortened series. Invitations now carry their RRULE, so recurring events repeat for guests too. An organizer's cancellation is applied as the email arrives (message.new hook) or, for older mail, when the card is opened — always, whatever the settings: only from that event's organizer and not older than the calendar's copy; one occurrence becomes an EXDATE. The card says "Event was removed from calendar". Settings → Calendars → Invitations now work, defaulting to "Do not automatically update my calendar": "Only update events that I have already added" applies the organizer's changes (keeping the user's answer), "Add new events…" also adds new invitations, unanswered — from contacts or anyone — to the chosen calendar, and "mark as read and file" archives such messages. With no automatic updates, a changed invitation says so on its card. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1845,7 +1845,7 @@ function CalendarOptions({ calendars }: { calendars: CalendarOut[] }) {
|
||||
type="radio"
|
||||
name="invitation_policy"
|
||||
className="accent-app-accent"
|
||||
checked={(s?.invitation_policy ?? "add_update") === val}
|
||||
checked={(s?.invitation_policy ?? "none") === val}
|
||||
onChange={() => patch.mutate({ invitation_policy: val })}
|
||||
/>
|
||||
{txt}
|
||||
|
||||
Reference in New Issue
Block a user