{
"system": {
"one-click-instance": true,
"one-click-instance.user-limit": 100,
"memcache.local": "\\OC\\Memcache\\APCu",
"apps_paths": [
{
"path": "\/var\/www\/html\/apps",
"url": "\/apps",
"writable": false
},
{
"path": "\/var\/www\/html\/custom_apps",
"url": "\/custom_apps",
"writable": true
}
],
"appsallowlist": false,
"check_data_directory_permissions": false,
"memcache.distributed": "\\OC\\Memcache\\Redis",
"memcache.locking": "\\OC\\Memcache\\Redis",
"redis": {
"host": "***REMOVED SENSITIVE VALUE***",
"password": "***REMOVED SENSITIVE VALUE***",
"port": 6379
},
"overwritehost": "cloud.ehv.ch",
"overwriteprotocol": "https",
"passwordsalt": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"trusted_domains": [
"localhost",
"cloud.ehv.ch"
],
"datadirectory": "***REMOVED SENSITIVE VALUE***",
"skeletondirectory": "",
"dbtype": "pgsql",
"version": "32.0.8.2",
"overwrite.cli.url": "https:\/\/cloud.ehv.ch\/",
"dbname": "***REMOVED SENSITIVE VALUE***",
"dbhost": "***REMOVED SENSITIVE VALUE***",
"dbport": "",
"dbtableprefix": "oc_",
"dbuser": "***REMOVED SENSITIVE VALUE***",
"dbpassword": "***REMOVED SENSITIVE VALUE***",
"installed": true,
"instanceid": "***REMOVED SENSITIVE VALUE***",
"maintenance": false,
"updatedirectory": "\/nc-updater",
"default_phone_region": "CH",
"loglevel": 1,
"log_type": "file",
"logfile": "\/var\/www\/html\/data\/nextcloud.log",
"log_rotate_size": "10485760",
"log.condition": {
"apps": [
"admin_audit"
]
},
"preview_max_x": "2048",
"preview_max_y": "2048",
"jpeg_quality": "60",
"maintenance_window_start": 100,
"enabledPreviewProviders": {
"1": "OC\\Preview\\Image",
"2": "OC\\Preview\\MarkDown",
"3": "OC\\Preview\\MP3",
"4": "OC\\Preview\\TXT",
"5": "OC\\Preview\\OpenDocument",
"6": "OC\\Preview\\Movie",
"7": "OC\\Preview\\Krita",
"0": "OC\\Preview\\Imaginary",
"23": "OC\\Preview\\ImaginaryPDF"
},
"enable_previews": true,
"upgrade.disable-web": true,
"mail_smtpmode": "smtp",
"trashbin_retention_obligation": "auto, 30",
"versions_retention_obligation": "auto, 30",
"activity_expire_days": "30",
"simpleSignUpLink.shown": false,
"share_folder": "\/Shared",
"one-click-instance.link": "https:\/\/nextcloud.com\/all-in-one\/",
"upgrade.cli-upgrade-link": "https:\/\/github.com\/nextcloud\/all-in-one\/discussions\/2726",
"allow_local_remote_servers": true,
"davstorage.request_timeout": 3600,
"htaccess.RewriteBase": "\/",
"dbpersistent": false,
"files_external_allow_create_new_local": false,
"trusted_proxies": "***REMOVED SENSITIVE VALUE***",
"preview_imaginary_url": "***REMOVED SENSITIVE VALUE***",
"mail_sendmailmode": "smtp",
"mail_from_address": "***REMOVED SENSITIVE VALUE***",
"mail_domain": "***REMOVED SENSITIVE VALUE***",
"mail_smtphost": "***REMOVED SENSITIVE VALUE***",
"mail_smtpport": "465",
"mail_smtpauth": true,
"mail_smtpname": "***REMOVED SENSITIVE VALUE***",
"mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
"mail_smtpsecure": "ssl",
"preview_imaginary_key": "***REMOVED SENSITIVE VALUE***",
"auth.bruteforce.protection.enabled": true,
"ratelimit.protection.enabled": true,
"documentation_url.server_logs": "https:\/\/github.com\/nextcloud\/all-in-one\/discussions\/5425",
"forbidden_filename_characters": [
"\\",
"\/"
],
"forbidden_filename_extensions": [
".filepart",
".part"
],
"updatechecker": false,
"DOMAIN": "cloud.ehv.ch",
"AIO_VERSION": "v12.9.2"
}
}
Steps to reproduce
Expected behaviour
The event is saved successfully and the Talk room is linked to the calendar event, without any error message.
Actual behaviour
The CalDAV PUT request returns
400 Bad Request. An error message is displayed saying the event could not be saved, even though the event is actually saved. The Talk room integration is broken — the room is not properly linked to the event.The server log shows:
The browser console shows:
Root cause analysis:
The bug is in
lib/Listener/CalDavEventListener.phpline 114. The listener extracts theuserIdfrom the calendar'sprincipaluri(= calendar owner, User A), but uses it to look up the Talk room which was created by the acting user (User B, who is editing the shared calendar). Since the room was created by User B and not the calendar owner User A,getRoomForUserByToken($roomToken, $calendarOwnerUserId)throws aRoomNotFoundException.The issue is specifically triggered when the calendar owner (User A) is invited as an attendee to the event. The event system (
CalendarObjectCreatedEvent) does not expose the acting user, only theprincipaluriof the calendar — which in a shared calendar scenario is a different user than the one performing the action. A proper fix may require the event to carry anactingUserIdfield, potentially innextcloud/server.Talk app
Talk app version: 22.0.12
Custom Signaling server configured: allinone
Custom TURN server configured: allinone
Custom STUN server configured: allinone
Browser
Microphone available: yes
Camera available: yes
Operating system: Win 11
Browser name: Chrome
Browser version: 148.0.7778.179
Browser log
Details
Server configuration
Operating system: allinone on Ubuntu
Web server: nginx
Database: pgsql
PHP version: 8.3.30
Nextcloud Version: 32.0.8
List of activated apps:
Details
Nextcloud configuration:
Details
Server log (data/nextcloud.log)
Details