[Bug]: MOVE via caldav does not get propagated to connected clients
⚠️ This issue respects the following points: ⚠️
- [X] This is a bug, not a question or a configuration/webserver/proxy issue.
- [X] This issue is not already reported on Github (I've searched it).
- [X] Nextcloud Server is up to date. See Maintenance and Release Schedule for supported versions.
- [X] Nextcloud Server is running on 64bit capable CPU, PHP and OS.
- [X] I agree to follow Nextcloud's Code of Conduct.
Bug description
Actually I am running a 32bit OS - but I don't think this has anything to do with the bug.
Additionaly I must admit that I am not 100% sure whether this is a Nextcloud bug or rather a Bug in iOS 15.7 (and earlier?).
iOS 15.7 Nextcloud 24.0.5 The logs are from a testing instance with a SQLite3 database. The behavior is the same with MariaDB.
Bug description: Moving an event from one calendar to another calendar on one client doesn't get propagated correctly to other iOS clients. Instead a secondary event is created on other iOS clients. See picture below:

Steps to reproduce
- Create an event on client-1
- let client-2 sync
- move event from one calender to another calendar on client-1
- let client-2 sync
- the move of the event somehow does not get through to client-2. Instead the event is displayed twice on client-2 (once in each calendar).
- Trying to move the event from the original calendar on client-2 returns a 404 (because the event was already moved to another calender from client-1)
The behaviour is the same, if client-1 is Nextclouds calendar app.
Expected behavior
Client-2 should also make the move of the event and not display it twice.
Installation method
Community Manual installation with Archive
Operating system
Debian/Ubuntu
PHP engine version
PHP 7.4
Web server
Nginx
Database engine version
SQlite
Is this bug present after an update or on a fresh install?
Updated to a major version (ex. 22.2.3 to 23.0.1)
Are you using the Nextcloud Server Encryption module?
Encryption is Disabled
What user-backends are you using?
- [X] Default user-backend (database)
- [ ] LDAP/ Active Directory
- [ ] SSO - SAML
- [ ] Other
Configuration report
{
"system": {
"passwordsalt": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"trusted_domains": [
"localhost",
"domain.example.com"
],
"datadirectory": "***REMOVED SENSITIVE VALUE***",
"overwrite.cli.url": "https:\/\/domain.example.com",
"dbtype": "sqlite3",
"version": "24.0.5.1",
"logtimezone": "Europe\/Berlin",
"installed": true,
"instanceid": "***REMOVED SENSITIVE VALUE***",
"maintenance": false,
"loglevel": 2,
"data-fingerprint": "***REMOVED SENSITIVE VALUE***",
"default_phone_region": "DE",
"log_rotate_size": 524288,
"memcache.local": "\\OC\\Memcache\\APCu",
"activity_expire_days": 7,
"trashbin_retention_obligation": "auto, 7",
"versions_retention_obligation": "auto, 7"
}
}
List of activated Apps
Enabled:
- accessibility: 1.10.0
- activity: 2.16.0
- admin_audit: 1.14.0
- calendar: 3.5.0
- circles: 24.0.1
- cloud_federation_api: 1.7.0
- comments: 1.14.0
- contacts: 4.2.1
- contactsinteraction: 1.5.0
- dashboard: 7.4.0
- dav: 1.22.0
- federatedfilesharing: 1.14.0
- federation: 1.14.0
- files: 1.19.0
- files_pdfviewer: 2.5.0
- files_rightclick: 1.3.0
- files_sharing: 1.16.2
- files_trashbin: 1.14.0
- files_versions: 1.17.0
- files_videoplayer: 1.13.0
- firstrunwizard: 2.13.0
- logreader: 2.9.0
- lookup_server_connector: 1.12.0
- nextcloud_announcements: 1.13.0
- notifications: 2.12.1
- oauth2: 1.12.0
- password_policy: 1.14.0
- photos: 1.6.0
- privacy: 1.8.0
- provisioning_api: 1.14.0
- recommendations: 1.3.0
- serverinfo: 1.14.0
- settings: 1.6.0
- sharebymail: 1.14.0
- support: 1.7.0
- survey_client: 1.12.0
- systemtags: 1.14.0
- tasks: 0.14.4
- text: 3.5.1
- theming: 1.15.0
- twofactor_backupcodes: 1.13.0
- updatenotification: 1.14.0
- user_status: 1.4.0
- viewer: 1.8.0
- weather_status: 1.4.0
- workflowengine: 2.6.0
Disabled:
- encryption
- files_external
- user_ldap
Nextcloud Signing status
No errors have been found.
Nextcloud Logs
This is the last log entry. Nothing was logged, when creating the example (see nginx log below).
{"reqId":"0PDzkZ37f33d7Xoo75fm","level":2,"time":"2022-09-20T09:36:07+02:00","remoteAddr":"","user":"--","app":"OC\\Log\\Rotate","method":"","url":"--","message":"Log file \"/usr/share/nginx/sqlite.webroot.de/data/nextcloud.log\" was over 524288 bytes, moved to \"/usr/share/nginx/sqlite.webroot.de/data/nextcloud.log.1\"","userAgent":"--","version":"24.0.5.1","data":{"app":"OC\\Log\\Rotate"}}
Additional info
Webserver log:
CLIENT_1: create event in calendar_ONE:
1.1.1.111 - - [20/Sep/2022:12:50:10 +0200] "REPORT /remote.php/dav/principals/users/NAME/ HTTP/2.0" 207 553 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.111 - - [20/Sep/2022:12:50:10 +0200] "PROPFIND /remote.php/dav/calendars/NAME/ HTTP/2.0" 207 1269 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.111 - - [20/Sep/2022:12:50:11 +0200] "PUT /remote.php/dav/calendars/NAME/calendar_ONE/4F684ADD-07AB-45F0-A9B4-7CD4F258328E.ics HTTP/2.0" 201 0 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.111 - - [20/Sep/2022:12:50:11 +0200] "REPORT /remote.php/dav/calendars/NAME/calendar_ONE/ HTTP/2.0" 207 697 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.111 - - [20/Sep/2022:12:50:11 +0200] "PROPFIND /remote.php/dav/calendars/NAME/inbox/ HTTP/2.0" 207 250 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.111 - - [20/Sep/2022:12:50:12 +0200] "PROPFIND /remote.php/dav/calendars/NAME/inbox/ HTTP/2.0" 207 250 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
CLIENT_2: sync:
1.1.1.222 - - [20/Sep/2022:12:50:31 +0200] "REPORT /remote.php/dav/principals/users/NAME/ HTTP/2.0" 207 553 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.222 - - [20/Sep/2022:12:50:31 +0200] "PROPFIND /remote.php/dav/calendars/NAME/ HTTP/2.0" 207 1274 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.222 - - [20/Sep/2022:12:50:32 +0200] "REPORT /remote.php/dav/calendars/NAME/calendar_ONE/ HTTP/2.0" 207 697 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.222 - - [20/Sep/2022:12:50:32 +0200] "REPORT /remote.php/dav/calendars/NAME/calendar_ONE/ HTTP/2.0" 207 1403 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.222 - - [20/Sep/2022:12:50:32 +0200] "PROPFIND /remote.php/dav/calendars/NAME/inbox/ HTTP/2.0" 207 250 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.222 - - [20/Sep/2022:12:50:32 +0200] "PROPFIND /remote.php/dav/calendars/NAME/inbox/ HTTP/2.0" 207 250 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
CLIENT_1: move event from calendar_ONE to calendar_TWO:
1.1.1.111 - - [20/Sep/2022:12:51:19 +0200] "REPORT /remote.php/dav/principals/users/NAME/ HTTP/2.0" 207 553 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.111 - - [20/Sep/2022:12:51:19 +0200] "PROPFIND /remote.php/dav/calendars/NAME/ HTTP/2.0" 207 1274 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.111 - - [20/Sep/2022:12:51:20 +0200] "MOVE /remote.php/dav/calendars/NAME/calendar_ONE/4F684ADD-07AB-45F0-A9B4-7CD4F258328E.ics HTTP/2.0" 201 0 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.111 - - [20/Sep/2022:12:51:20 +0200] "PUT /remote.php/dav/calendars/NAME/calendar_TWO/4F684ADD-07AB-45F0-A9B4-7CD4F258328E.ics HTTP/2.0" 204 0 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.111 - - [20/Sep/2022:12:51:21 +0200] "REPORT /remote.php/dav/calendars/NAME/calendar_TWO/ HTTP/2.0" 207 696 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.111 - - [20/Sep/2022:12:51:21 +0200] "PROPFIND /remote.php/dav/calendars/NAME/inbox/ HTTP/2.0" 207 250 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.111 - - [20/Sep/2022:12:51:21 +0200] "PROPFIND /remote.php/dav/calendars/NAME/inbox/ HTTP/2.0" 207 250 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
CLIENT_2: sync:
1.1.1.222 - - [20/Sep/2022:12:51:44 +0200] "REPORT /remote.php/dav/principals/users/NAME/ HTTP/2.0" 207 553 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.222 - - [20/Sep/2022:12:51:44 +0200] "PROPFIND /remote.php/dav/calendars/NAME/ HTTP/2.0" 207 1274 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.222 - - [20/Sep/2022:12:51:45 +0200] "REPORT /remote.php/dav/calendars/NAME/calendar_TWO/ HTTP/2.0" 207 696 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.222 - - [20/Sep/2022:12:51:45 +0200] "REPORT /remote.php/dav/calendars/NAME/calendar_ONE/ HTTP/2.0" 207 311 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.222 - - [20/Sep/2022:12:51:45 +0200] "REPORT /remote.php/dav/calendars/NAME/calendar_TWO/ HTTP/2.0" 207 1402 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.222 - - [20/Sep/2022:12:51:45 +0200] "PROPFIND /remote.php/dav/calendars/NAME/inbox/ HTTP/2.0" 207 250 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.222 - - [20/Sep/2022:12:51:45 +0200] "PROPFIND /remote.php/dav/calendars/NAME/inbox/ HTTP/2.0" 207 250 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
CLIENT_2: move event from calendar_ONE to calendar_THREE:
1.1.1.222 - - [20/Sep/2022:12:55:27 +0200] "REPORT /remote.php/dav/principals/users/NAME/ HTTP/2.0" 207 553 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.222 - - [20/Sep/2022:12:55:27 +0200] "PROPFIND /remote.php/dav/calendars/NAME/ HTTP/2.0" 207 1274 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.222 - - [20/Sep/2022:12:55:27 +0200] "MOVE /remote.php/dav/calendars/NAME/calendar_ONE/4F684ADD-07AB-45F0-A9B4-7CD4F258328E.ics HTTP/2.0" 404 176 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.222 - - [20/Sep/2022:12:55:27 +0200] "PUT /remote.php/dav/calendars/NAME/calendar_THREE/4F684ADD-07AB-45F0-A9B4-7CD4F258328E.ics HTTP/2.0" 412 297 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.222 - - [20/Sep/2022:12:55:28 +0200] "REPORT /remote.php/dav/calendars/NAME/calendar_THREE/ HTTP/2.0" 207 311 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.222 - - [20/Sep/2022:12:55:28 +0200] "PROPFIND /remote.php/dav/calendars/NAME/calendar_THREE/ HTTP/2.0" 207 284 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.222 - - [20/Sep/2022:12:55:28 +0200] "PROPFIND /remote.php/dav/calendars/NAME/calendar_THREE/ HTTP/2.0" 207 389 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.222 - - [20/Sep/2022:12:55:28 +0200] "PROPFIND /remote.php/dav/calendars/NAME/inbox/ HTTP/2.0" 207 250 "-" "iOS/15.7 (19H12) dataaccessd/1.0"
1.1.1.222 - - [20/Sep/2022:12:55:29 +0200] "PROPFIND /remote.php/dav/calendars/NAME/inbox/ HTTP/2.0" 207 250 "-" "iOS/15.7 (19H12) dataaccessd/1.0"