“Failed to save event” when adding new attendee to a recurring event
Steps to reproduce
- Create a new recurring event (e.g., weekly or daily).
- Save it successfully.
- Reopen the event and add a new participant (attendee).
- Try to save the event.
Expected behavior
The recurring event should update successfully and include the newly added participant(s).
Actual behavior
The system displays an error:
“Failed to save event”
and the change is not applied.
Calendar app version
5.3.7
CalDAV-clients used
no
Browser
Firefox 130
Client operating system
Windows 10
Server operating system
Linux 6.1.0-35-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.137-1 (2025-05-07) x86_64
Web server
None
Database engine version
MySQL
PHP engine version
PHP 8.3
Nextcloud version
30.0.13 - 30.0.13.1
Updated from an older installed version or fresh install
None
List of activated apps
Nextcloud configuration
Web server error log
Log file
Browser log
Additional info
This issue affects all users in our organization who manage recurring meetings. Currently, the only workaround is to delete the recurring event and recreate it whenever the attendee list changes. This is time-consuming, especially when many participants are involved.
Could you please confirm whether this issue is already known, and if a fix or workaround is planned for an upcoming release?
Hi @kkrasoo
Are there any relevant errors in the browser console or nextcloud.log?
PUT
XHRPUT https://drive.rarus.ru/remote.php/dav/calendars/MIROSS/personal/4050F774-CCB2-4663-9FF8-BBCEEF83A4DA.ics [HTTP/2 412 99ms]
PUT https://drive.rarus.ru/remote.php/dav/calendars/MIROSS/personal/4050F774-CCB2-4663-9FF8-BBCEEF83A4DA.ics Состояние 412 ВерсияHTTP/2 Передано728 б (размер 308 б) Referrer policyno-referrer-when-downgrade Приоритет запросаHighest Поиск в DNSСистема
[ERROR] calendar: Failed to save event: Error Object { app: "calendar", uid: "MIROSS", level: 1, error: Error } calendar-main.js:2:2697092 log index.mjs:54 error index.mjs:72 save EditorMixin.js:499 saveAndLeave EditorMixin.js:518 saveEvent EditFull.vue:682 prepareAccessForAttachments EditFull.vue:676 future EditFull.vue:1 VueJS 4 saveThisAndAllFuture SaveButtons.vue:113 VueJS 4 click NcButton-CWPBzbcC.mjs:284 VueJS 33 WEEKLY calendar-main.js:2:5621310 Uncaught (in promise) Error: y index.mjs:589 C index.mjs:595 request index.mjs:851 put index.mjs:673 update index.mjs:1193 updateCalendarObject calendarObjects.js:108 r pinia.mjs:1399 saveCalendarObjectInstance calendarObjectInstance.js:1485 r pinia.mjs:1399 save EditorMixin.js:494 saveAndLeave EditorMixin.js:518 saveEvent EditFull.vue:682 prepareAccessForAttachments EditFull.vue:676 future EditFull.vue:1 VueJS 4 saveThisAndAllFuture SaveButtons.vue:113 VueJS 4 click NcButton-CWPBzbcC.mjs:284 VueJS 33 calendar-main.js:2:2405905
and maybe it's
"content": { "mimeType": "application/xml; charset=utf-8", "size": 308, "text": "\n<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">\n <s:exception>Sabre\DAV\Exception\PreconditionFailed</s:exception>\n <s:message>An If-Match header was specified, but none of the specified ETags matched.</s:message>\n <s:header>If-Match</s:header>\n</d:error>\n" },
Morning,
Yes this caused the errors,
<d:error xmlns:d="DAV:" xmlns:s="[http://sabredav.org/ns">\n](http://sabredav.org/ns/%22%3E/n) <s:exception>Sabre\DAV\Exception\PreconditionFailed</s:exception>\n <s:message>An If-Match header was specified, but none of the specified ETags matched.</s:message>\n <s:header>If-Match</s:header>\n</d:error>
But question is why? I see that your system is still running an old version of Calendar, the current one is v5.5. And the current server version is NC 30.0.17. Try upgrading. That said for community issues we are currently supporting NC31+, so I would recommend upgrading to 31.
Hi! The issue is reproduced in exactly the same way on the latest versions.
NC 31.0.10 and Calendar: 5.5.8
14:53:34.708 XHRPUT https://nctest4.rarus.ru/remote.php/dav/calendars/admin/personal/3AA79818-9561-48B6-BEB8-309A47558B5B.ics [HTTP/2 500 71ms]
14:56:17.861 XHRPUT https://nctest4.rarus.ru/remote.php/dav/calendars/admin/personal/3AA79818-9561-48B6-BEB8-309A47558B5B.ics [HTTP/2 500 85ms]
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns"> <s:exception>Error</s:exception> <s:message>__clone method called on non-object</s:message> </d:error>
I'm also getting "Failed to save event" when removing a participant from a recurring event. The caldav error is different though:
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>TypeError</s:exception>
<s:message>A type error occurred. For more details, please refer to the logs, which provide additional context about the type error.</s:message>
</d:error>
Unfortunately I can't access the logs, this is on Hetzner hosted Nextcloud. Also it's not every recurring event that does this - I was able to edit two other events, and only the third one failed to save. But strangely, the participants were the same.
One more thing I noticed: when I export the failed event to .ics, it contains two VEVENT objects, same UID, the first has SEQUENCE:0, DTSTART a month ago and the old list of attendees, the second has SEQUENCE:1, DTSTART of the day I wanted to modify and the new list of attendees. But Nextcloud only shows the old list of attendees. This feels like modifying the list of attendees is wrongly creating two VEVENTS, instead of splitting the sequence, because I also see a bunch of RELATED-TO;RELTYPE=SIBLING from the previous modifications.
The two VEVENT's are probably correct depending on the modification action.
Can you post the event, please. Strip out any personal information like email addresses, but leave the reset as is please
@kkrasoo that error looks familiar
Try this patch,
https://github.com/nextcloud/server/pull/52882
If it works, I will back port it
this recurring events are killing me I am experiencing issues like this with recurring events too some time It does not shows attendees to other attendees some time I can not delete. some time I can not update and so more. some time It gets duplicated for attendees and so more .
@The-1ST
Can you provide us some more information? Like a browser console log error or nextcloud log error?
I propose to test add/remove attendees, the error occurs when remove attendees too.