Skip to content

Send METHOD:CANCEL for self-sent calendar cancellations #277

Description

@mickenordin

Problem

The event action labelled “Send Cancellation” calls the ordinary
invitation path before deleting the event. That path generates
METHOD:REQUEST, so attendees of a self-sent JMAP or generic
IMAP/CalDAV meeting can receive another invitation instead of a
cancellation.

Gmail and Microsoft Graph invitation delivery remains
provider-owned and must not gain a duplicate manual message.

Scope

  • Generate a standards-compliant METHOD:CANCEL for providers
    where Chithi self-sends meeting messages.
  • Preserve the event UID, organizer, attendees, recurrence data,
    sequence, and available timestamps from the stored event.
  • Send the cancellation successfully before deleting local state.
  • Preserve provider-delegated cancellation for Gmail and Graph.

Acceptance criteria

  • “Send Cancellation” never emits METHOD:REQUEST.
  • JMAP and generic IMAP/CalDAV attendees receive one CANCEL with
    the original event identity.
  • A failed self-send does not silently delete the event.
  • Gmail and Graph do not receive duplicate manual invitation mail.
  • Focused generator and command-path tests cover both delivery
    ownership modes.

Out of scope

Evidence

  • src/components/calendar/EventDetail.vue:166-190
  • src-tauri/src/commands/calendar.rs:1835-1852
  • src-tauri/src/calendar/ical.rs:260-341
  • docs/adr/0038-calendar-invite-provider-delegation.md

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions