nextcloud / nextcloud/server

[Bug]: CalDav iMIP does not distinguish between a canceled event and a withdrawn invitation

Open
#43,802 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

0. Needs triage 28-feedback bug feature: caldav
Dominant language
PHP
Stars
36.9k
Forks
5.2k
Avg merge
2d 3h
Merged PRs (30d)
713

Description

⚠️ This issue respects the following points: ⚠️
Bug description

May be related to #29620.

  1. When an organizer deletes an event in the nextcloud calendar app, the DAV server sends an iMIP CANCEL message that does not contain STATUS:CANCELLED as required by RFC 5546 3.2.5:
Screen Shot 2024-02-24 at 12 43 55 AM
  1. When an organizer removes an attendee from an event in the nextcloud calendar app, the DAV server correctly sends a CANCEL message without including STATUS. However, the content of the email message incorrectly says,
Subject: Cancelled: {eventtitle}

{eventtitle} has been canceled.

when it should say something like (since the event is still occurring, but the addressee has been disinvited):

Subject: Invitation Withdrawn: {eventtitle}

This invitation to {eventtitle} has been withdrawn.

(That seems a little less abrubt than the equally accurate "You've been disinvited.")

Also, the spelling of "canceled" is inconsistent - in EN-US it should be "canceled", and in EN-UK it should be "cancelled" (even the RFC is inconsistent on this).

Expected behavior
  1. The iMIP message sent when the organizer deletes an event should contain both METHOD:CANCEL and STATUS:CANCELLED.

  2. The iMIP message sent when the organizer removes an attendee from an event should not state that the event is canceled, it should state that the invitation is withdrawn (or similar).

  3. Canceled should be spelled consistently in the iMIP email body and subject line (propose: canceled for EN-US and cancelled for EN-GB)

Nextcloud Server version

28

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Trace the DAV server's iMIP CANCEL generation and the email subject/body handling, using RFC 5546 section 3.2.5 as the protocol reference. Done means event deletion includes STATUS:CANCELLED, attendee removal describes a withdrawn invitation, and cancellation spelling is consistent for EN-US and EN-GB.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.