owncloud / calendar

Calendar app for ownCloud
GNU Affero General Public License v3.0
121 stars 43 forks source link

The supplied iCalendar datetime value is incorrect: master #1274

Open posita opened 2 years ago

posita commented 2 years ago

Steps to reproduce

After importing two separate VCS invites originating from Google Calendar, I cannot delete them, including from the web interface. I get the error The supplied iCalendar datetime value is incorrect: master. When I download the calendar from ownCloud, there is no mention of the term master anywhere in those events, nor is there any mention of master in the original invite.vcs attachments.

Expected behaviour

I expected to be able to delete those events.

posita commented 2 years ago

I tried to hand-edit one of the offending .ics files by redacting private information in the hopes I could post it here. However, after redacting specifics, the resulting .ics file exhibits no issue.

I have looked at the entries in oc_calendarobjects, including the calendardata blobs and find no mention of master anywhere.

posita commented 2 years ago

I will continue to try to create something sharable that will reproduce this behavior, but in the mean time, can I remove the offending items from my calendar by merely deleting their corresponding rows in oc_calendarobjects or would I risk screwing up data model consistency? I didn't see any occ command that seemed appropriate.

fossil-free commented 1 year ago

My ics calendar contained 35 VEVENTS with the property X-MOZ-FAKED-MASTER:1 This property is created by Thunderbird in case of copying an exception of recurring events: https://bugzilla.mozilla.org/show_bug.cgi?id=536796 In particular, the problem seems to occur when these exception appointments are deleted again (see "method": "DELETE" in the detailed nextcloud server log below).

{ "reqId": "1roC87UhOjV9Md1cgu2S", "level": 4, "time": "2023-05-05 12:38:24.585400", "remoteAddr": [CENSORED], "user": "1ee61301-4c0a11ea-9411e814-2b70b252", "app": "webdav", "method": "DELETE", "url": "/remote.php/dav/calendars/1ee61301-4c0a11ea-9411e814-2b70b252/personal/cd58b72c-b6ac-4f69-a6ed-4602070d527d.ics", "message": "The supplied iCalendar datetime value is incorrect: master", "userAgent": "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0", "version": "24.0.12.1", "exception": { "Exception": "Sabre\VObject\InvalidDataException", "Message": "The supplied iCalendar datetime value is incorrect: master", "Code": 0, "Trace": [ { "file": "/srv/www/nextcloud/3rdparty/sabre/vobject/lib/DateTimeParser.php", "line": 205, "function": "parseDateTime", "class": "Sabre\VObject\DateTimeParser", "type": "::" }, [....]

After an exporting and deleting the whole calendar, then manually deleting the 35 X-Moz-Faked-Master-VEVENTs in the export file and then re-importing the ics into the calendar's web interface everything works fine again. There seems to be some incoherencies between nextcloud calendar and Thunderbird with these faked master vevents. Not sure which one should adapt though. Thunderbird's community is discussing for 10 years about other options with no result yet: https://bugzilla.mozilla.org/show_bug.cgi?id=536796