Open Bug 1850108 Opened 2 years ago Updated 1 month ago

Accepting invitation before sync fails with Status Code 2147500037

Categories

(Calendar :: Provider: CalDAV, defect)

Thunderbird 115
defect

Tracking

(Not tracked)

UNCONFIRMED

People

(Reporter: fuzsin, Unassigned)

References

(Depends on 1 open bug)

Details

Steps to reproduce:

  1. Create calendar event, add user and submit
  2. Recipient receives invitation, clicks on accept button and selects destination calendar

Actual results:

Error:
An error has occurred
An error occurred when writing to the calendar Terminplanung_Altenbockum (Altenbockum@Partner)! Please see below for more information.

Fehlercode: MODIFICATION_FAILED

Status Code: 2147500037, The request cannot be processed.

Server Replied with 412
If you're seeing this message after snoozing or dismissing a reminder and this is for a calendar you do not want to add or edit events for, you can mark this calendar as read-only to avoid such experience in future. To do so, get to the calendar properties by right-clicking on this calendar in the list in the calendar or task view.

Error Console output:

Calendar: CalDAV: Unexpected status adding item to MyCalendar: 412
BEGIN:VCALENDAR
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Europe/Berlin
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19700329T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19701025T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20230825T104541Z
LAST-MODIFIED:20230825T104620Z
DTSTAMP:20230825T104620Z
UID:ac2e852b-d772-4dfa-afb6-27d6149256de
SUMMARY:TEST: V115
ORGANIZER;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT;SCHEDULE-AGENT=CLIENT:
mailto:<inviting_person@dummy.mail>
ATTENDEE;RSVP=TRUE;CN=services;PARTSTAT=ACCEPTED;ROLE=REQ-PARTICIPANT:mailt
o:<participant@dummy.mail>
DTSTART;TZID=Europe/Berlin:20230901T154500
DTEND;TZID=Europe/Berlin:20230901T164500
TRANSP:OPAQUE
X-MOZ-INVITED-ATTENDEE:mailto:<participant@dummy.mail>
X-MOZ-RECEIVED-SEQUENCE:0
X-MOZ-RECEIVED-DTSTAMP:20230825T104605Z
END:VEVENT
END:VCALENDAR
CalDavCalendar.jsm:635
An error occurred when writing to the calendar MyCalendar! Please see below for more information. Error code: MODIFICATION_FAILED. Description: Status Code: 2147500037, The request cannot be processed.
Server Replied with 412
If you're seeing this message after snoozing or dismissing a reminder and this is for a calendar you do not want to add or edit events for, you can mark this calendar as read-only to avoid such experience in future. To do so, get to the calendar properties by right-clicking on this calendar in the list in the calendar or task view. CalCalendarManager.jsm:880:15
TypeError: aItem.getProperty is not a function calItipUtils.jsm:1078:20

Expected results:

Appointment should be accepted and displayed as such in the participant's calendar. We have had the same problem with Thunderbird versions 102* and earlier. There is a bug report about this, but the status code was different in earlier ones: https://bugzilla.mozilla.org/show_bug.cgi?id=1717401

For version 115* is also valid: everything works as expected if the user synchronises the calendar manually at first.

USER AGENT STRING: "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:115.0) Gecko/20100101 Thunderbird/115.1.1"
CalDAV Provider: Sabre (Nextcloud Hub 5 (27.0.2))

Still present in 115.3.2. CalDAV Provider: Sabre (Nextcloud Hub 6 (27.1.2))
I can't stand up to Outlook enthusiasts when such an important function doesn't work properly in Thunderbird...

Hi @fuzsin

There is a patch up for review in bug 1717401, which you already linked. It fixes the underlying problem: Thunderbird tries to create an event that the server already knows about, and instead of resolving that, it gives up with a generic error.

Which error you end up seeing depends on the server and on the calendar:

  • The status code is the server's choice. Nextcloud answers such a request with 400, Radicale and SOGo with 409, and a 412 comes back when the existing event happens to sit at exactly the address Thunderbird is writing to.
  • Whether you get a readable dialog or just an error number depends on whether the calendar has offline support enabled. Without it you get the "MODIFICATION_FAILED" dialog you quoted; with it, the same failure surfaces as the bare error code 80004005. The number 2147500037 in your dialog is that very code in decimal, so we are looking at the same failure.

The only way I can reproduce the 412 variant is with an invitation that does not come from the same CalDAV server, carrying a UID for an event that is already on the server while Thunderbird has not seen it yet. In my case that happens when an external organizer reuses a UID from an earlier invitation.

The patch does not depend on the status code. It recognizes the conflict on 400+body, 409 and 412 alike, then syncs the calendar and applies your response to the event that is already there, instead of failing.

Depends on: 1717401
You need to log in before you can comment on or make changes to this bug.