Changing calendar for event results in error with iCloud CalDAV
Steps to reproduce:
- In Gnome Calendar, create an event on an iCloud CalDAV calendar (Calendar A)
- Edit the event and change it to a different calendar on the same iCloud CalDAV account (Calendar B)
What should happen
The event should be moved from Calendar A to Calendar B.
What actually happens
403 error from iCloud CalDAV server: “Found component… with same UID in different collection.”
When I change the calendar for an iCloud CalDAV event from Calendar A to Calendar B on my iOS device and it synchronises with Gnome Calendar, you can see two separate actions happening (this is slow enough to see in the interface):
- A new event is created in Calendar B
- The old event in Calendar A is deleted
From the error message, I wonder if the problem is that Gnome Calendar is creating the new entry first before deleting the old one, thereby resulting in a state where two calendar entries in two separate calendars have the unique identifier. Or whether it is trying to do an update instead of a delete and replace.
In either case, fixing this bug should involve some variation of:
- Update the unique ID when moving between CalDAV calendars
- Delete and then create a new calendar entry
qa (quality assurance) tasks