[Bug]: Nextcloud sends notifications for deleted recurring event
⚠️ 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 OR Nextcloud Community Forum (I've searched it).
- [x] Nextcloud Server is up to date. See Maintenance and Release Schedule for supported versions.
- [x] I agree to follow Nextcloud's Code of Conduct.
Bug description
I have deleted a recurring event in my Nextcloud calendar, but I am still receiving notifications it by mail and app.
Steps to reproduce
- Delete recurring event
Expected behavior
Notifications should stop
Nextcloud Server version
31
Operating system
RHEL/CentOS
PHP engine version
PHP 8.3
Web server
Apache (supported)
Database engine version
MariaDB
Is this bug present after an update or on a fresh install?
Updated from a MINOR version (ex. 32.0.1 to 32.0.2)
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",
"cloud.eccentric.dk"
],
"datadirectory": "***REMOVED SENSITIVE VALUE***",
"dbtype": "mysql",
"version": "31.0.6.2",
"overwrite.cli.url": "http:\/\/localhost",
"dbname": "***REMOVED SENSITIVE VALUE***",
"dbhost": "***REMOVED SENSITIVE VALUE***",
"dbport": "",
"dbtableprefix": "oc_",
"mysql.utf8mb4": true,
"dbuser": "***REMOVED SENSITIVE VALUE***",
"dbpassword": "***REMOVED SENSITIVE VALUE***",
"installed": true,
"instanceid": "***REMOVED SENSITIVE VALUE***",
"mail_smtpmode": "sendmail",
"mail_sendmailmode": "pipe",
"mail_from_address": "***REMOVED SENSITIVE VALUE***",
"mail_domain": "***REMOVED SENSITIVE VALUE***",
"maintenance": false,
"maintenance_window_start": 1,
"default_phone_region": "DK",
"memcache.local": "\\OC\\Memcache\\APCu",
"memcache.locking": "\\OC\\Memcache\\Redis",
"redis": {
"host": "***REMOVED SENSITIVE VALUE***",
"port": 6379,
"timeout": 0,
"password": "***REMOVED SENSITIVE VALUE***"
},
"loglevel": 0,
"app_install_overwrite": [],
"twofactor_enforced": "true",
"twofactor_enforced_groups": [],
"twofactor_enforced_excluded_groups": []
}
}
List of activated Apps
Enabled:
- activity: 4.0.0
- app_api: 5.0.2
- bruteforcesettings: 4.0.0
- calendar: 5.3.2
- circles: 31.0.0
- cloud_federation_api: 1.14.0
- comments: 1.21.0
- contacts: 7.1.3
- contactsinteraction: 1.12.0
- dashboard: 7.11.0
- dav: 1.33.0
- deck: 1.15.1
- federatedfilesharing: 1.21.0
- federation: 1.21.0
- files: 2.3.1
- files_downloadlimit: 4.0.0
- files_pdfviewer: 4.0.0
- files_reminders: 1.4.0
- files_sharing: 1.23.1
- files_trashbin: 1.21.0
- files_versions: 1.24.0
- firstrunwizard: 4.0.0
- logreader: 4.0.0
- lookup_server_connector: 1.19.0
- mail: 5.1.3
- nextcloud_announcements: 3.0.0
- notifications: 4.0.0
- oauth2: 1.19.1
- password_policy: 3.0.0
- photos: 4.0.0-dev.1
- privacy: 3.0.0
- profile: 1.0.0
- provisioning_api: 1.21.0
- recommendations: 4.0.0
- related_resources: 2.0.0
- serverinfo: 3.0.0
- settings: 1.14.0
- sharebymail: 1.21.0
- support: 3.0.0
- survey_client: 3.0.0
- suspicious_login: 9.0.1
- systemtags: 1.21.1
- tasks: 0.16.1
- text: 5.0.0
- theming: 2.6.1
- twofactor_backupcodes: 1.20.0
- twofactor_totp: 13.0.0-dev.0
- updatenotification: 1.21.0
- user_status: 1.11.0
- viewer: 4.0.0
- weather_status: 1.11.0
- webhook_listeners: 1.2.0
- workflowengine: 2.13.0
Disabled:
- admin_audit: 1.21.0
- encryption: 2.19.0 (installed 2.19.0)
- files_external: 1.23.0
- twofactor_nextcloud_notification: 5.0.0
- user_ldap: 1.22.0
Nextcloud Signing status
Nextcloud Logs
Additional info
No response
cc @SebastianKrupinski @st3iny
I've been testing webhooks for CalDAV events and can confirm that CalendarObjectDeletedEvent webhooks do not fire when deleting calendar events via CalDAV DELETE requests. I'm not sure if this warrants a new issue so I'm posting here.
Testing details
- Nextcloud 31 (docker: nextcloud:31-apache)
- webhook_listeners app (bundled)
- Registered webhook for CalendarObjectCreatedEvent, CalendarObjectUpdatedEvent, CalendarObjectDeletedEvent
Results
✅ CalendarObjectCreatedEvent fires correctly
✅ CalendarObjectUpdatedEvent fires correctly
❌ CalendarObjectDeletedEvent never fires
Test procedure
# Created event - webhook fired
curl -X PUT http://nextcloud:password@localhost:8080/remote.php/dav/calendars/admin/personal/test-event.ics \
-H "Content-Type: text/calendar" \
-d 'BEGIN:VCALENDAR...'
# Updated event - webhook fired
curl -X PUT http://nextcloud:password@localhost:8080/remote.php/dav/calendars/admin/personal/test-event.ics \
-H "Content-Type: text/calendar" \
-d 'BEGIN:VCALENDAR...'
# Deleted event - NO webhook fired
curl -X DELETE http://nextcloud:password@localhost:8080/remote.php/dav/calendars/admin/personal/test-event.ics \
-u admin:password
The DELETE request returns 204 No Content (success), but no CalendarObjectDeletedEvent webhook is triggered.
This makes it impossible to track calendar deletions via webhooks for real-time synchronization use cases.
Hi @cbcoutinho
Your post is not related to the original issue, and should have been a new issue.
As per your post, the CalendarObjectDeletedEvent is fired on the second delete. The first delete moves the event to trash, the second delete actually deletes the event.
If you would like to see the flow, open the UI with dev tools open and watch the communication in the network tab.
Hi @SebastianKrupinski, my apologies for resurfacing this old ticket and the misunderstanding of how the Trash bin works regarding webhook delivery.
Thanks for the tip about using dev tools 👍