⚠️ This issue respects the following points: ⚠️
Bug description
Bug description
When an organizer removes one attendee from an existing event, Nextcloud
correctly creates an iTIP CANCEL message for the removed attendee, but the
iMIP plugin subsequently discards the message because the CANCEL event is
identical to the previous event.
As a result, the removed attendee does not receive the cancellation email.
Steps to reproduce
- Create an event as user A.
- Add attendees B and C.
- Optional: Have both attendees accept the invitation.
- Edit the event as the organizer.
- Remove attendee B while keeping attendee C.
- Save the event.
Expected behavior
Attendee B receives an email containing an iTIP METHOD:CANCEL message.
Attendee C receives the normal updated METHOD:REQUEST message.
Actual behavior
Attendee C receives the updated event.
Attendee B does not receive an email.
The Nextcloud log contains:
iTip message said the change was significant but comparison did not detect any updated VEvents
Relevant log/debug information
The iTIP broker creates the CANCEL correctly:
method: CANCEL
recipient: mailto:<removed-attendee>
sequence: 5
The generated CANCEL contains the removed attendee as expected.
However, IMipPlugin calls:
$modified = $this->eventComparisonService->findModified($newEvents, $oldEvents);
For the CANCEL message, $newEvents and $oldEvents are intentionally
identical. Therefore findModified() returns no modified VEvent and
$vEvent becomes empty.
The following check then aborts processing:
if (empty($vEvent)) {
...
return;
}
Environment
Nextcloud Server: 34.0.2.1
Calendar app: 6.5.3
Installation: container/Kubernetes (k3s)
Workaround / tested patch
The following change fixes the problem:
if (empty($vEvent) && strtoupper($iTipMessage->method) === 'CANCEL') {
$vEvent = $newEvents->VEVENT ?? null;
}
This was tested with the reproduction steps above. After applying the
change, the removed attendee receives the expected cancellation email.
The existing EventComparisonService behavior does not need to be changed,
because an iTIP CANCEL intentionally contains the event being cancelled.
Possibly related issues
#6838 and #52882 are not describing the same Issue and the corresponding fixes
won't help.
Steps to reproduce
- Create an event as user A.
- Add attendees B and C.
- Optional: Have both attendees accept the invitation.
- Edit the event as the organizer.
- Remove attendee B while keeping attendee C.
- Save the event.
Expected behavior
Attendee B receives iMIP CANCEL email
Nextcloud Server version
32
Operating system
None
PHP engine version
None
Web server
Other
Database engine version
MariaDB
Is this bug present after an update or on a fresh install?
Fresh Nextcloud Server install
Are you using the Nextcloud Server Encryption module?
Encryption is Disabled
What user-backends are you using?
Configuration report
List of activated Apps
Nextcloud Signing status
Nextcloud Logs
Additional info
No response
Bug description
Bug description
When an organizer removes one attendee from an existing event, Nextcloud
correctly creates an iTIP CANCEL message for the removed attendee, but the
iMIP plugin subsequently discards the message because the CANCEL event is
identical to the previous event.
As a result, the removed attendee does not receive the cancellation email.
Steps to reproduce
Expected behavior
Attendee B receives an email containing an iTIP
METHOD:CANCELmessage.Attendee C receives the normal updated
METHOD:REQUESTmessage.Actual behavior
Attendee C receives the updated event.
Attendee B does not receive an email.
The Nextcloud log contains:
Relevant log/debug information
The iTIP broker creates the CANCEL correctly:
The generated CANCEL contains the removed attendee as expected.
However,
IMipPlugincalls:For the CANCEL message,
$newEventsand$oldEventsare intentionallyidentical. Therefore
findModified()returns no modified VEvent and$vEventbecomes empty.The following check then aborts processing:
Environment
Nextcloud Server: 34.0.2.1
Calendar app: 6.5.3
Installation: container/Kubernetes (k3s)
Workaround / tested patch
The following change fixes the problem:
This was tested with the reproduction steps above. After applying the
change, the removed attendee receives the expected cancellation email.
The existing EventComparisonService behavior does not need to be changed,
because an iTIP CANCEL intentionally contains the event being cancelled.
Possibly related issues
#6838 and #52882 are not describing the same Issue and the corresponding fixes
won't help.
Steps to reproduce
Expected behavior
Attendee B receives iMIP CANCEL email
Nextcloud Server version
32
Operating system
None
PHP engine version
None
Web server
Other
Database engine version
MariaDB
Is this bug present after an update or on a fresh install?
Fresh Nextcloud Server install
Are you using the Nextcloud Server Encryption module?
Encryption is Disabled
What user-backends are you using?
Configuration report
List of activated Apps
Nextcloud Signing status
Nextcloud Logs
Additional info
No response