Open brad2014 opened 5 years ago
GitMate.io thinks possibly related issues are https://github.com/nextcloud/server/issues/4451 ("Delete Calendar" Issue), https://github.com/nextcloud/server/issues/11305 (Deleting contacts not necessarily delets birthday-entries in birthday calendar), https://github.com/nextcloud/server/issues/10864 (Automatically delete old calendar events), https://github.com/nextcloud/server/issues/1506 (Birthday events created while importing contacts should be deleted if addressbook containing the corresponding contact is deleted), and https://github.com/nextcloud/server/issues/11395 (Deleting an addressbook does not seem to delete its birthday calendar entries).
So calendar_invitations
reference calendarobjects
(though UID) but not calendars
. Therefore we can remove them when the event is (permanently) deleted, but not when the calendar itself is (permanently) deleted.
I'm not certain that it's a good idea to reference the calendar in calendar_invitations
, so maybe another cleanup job?
Hi, please update to 24.0.8 or better 25.0.2 and report back if it fixes the issue. Thank you!
Still a bug.
I can confirm that in 25.0.2, when a calendar event is deleted, the calendar event now is moved to a trash bin (so the event object is not deleted, and the token does not refer to a deleted event uid). However, when the calendar trash is emptied, and the deleted calendar object is removed from the database, the calendar_invitation referring to that calendar object is not cleaned up, and is left dangling (its uid now refers to a nonexistant id).
Site Note: installations that have occ config:app:set dav invitation_link_recipients --value no
are not affected, since invitation tokens are not generated for such systems.
Tested on version 30-dev. Confirmed.
Tested with internal NC attendee: On event delete,
Tested with external attendee only: On event delete,
Issue 1: calendar_invitations entries are not deleted, at any stage.
Issue 2: More options should show error message or notification message that the event no longer exists.
Solution 1: Delete link on event delete and check if link is still valid and show appropriate message, then generate new link on restore.
Solution 2: Delete link on trash empty but check event status, and show appropriate message.
Related to #15814
A note for minor cleanup.
When a calendarobject (a particular event) is deleted, any outstanding calendar_invitations for that event should be deleted as well. Currently, I believe they are left dangling until they expire at the end time of the (now deleted) event, if the event has one.