Closed Bug 943340 Opened 12 years ago Closed 12 years ago

CalDAV not working after 2.6.3 update with some CalDAV servers [Error: r.status is undefined]

Categories

(Calendar :: Provider: CalDAV, defect)

Lightning 2.6.3
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: giermann, Assigned: giermann)

References

Details

Attachments

(1 file)

After update to Lightning 2.6.3 all my CalDAV calendars (hosted by Kerio Connect 8.2.1) did not show any events. Found a message in error console complaining about "r.status is undefined". Digging further I found the error caused by attachment #826344 [details] [diff] [review] in bug #930132. Looking at the lines surrounding the added lines, I thought it would be best to add another " if( r.status && ... " here, as it exists in the other if-branches. Doing so immediately showed up all my events, so it seems to fix the error. I was asked to do some logging and file another bug - so here we are. I found warnings "CalDAV: Unhandled response element, status: undefined" already in Lightning 2.6.2, which still worked. After the addtional check mentioned above, this warning remains in 2.6.3 and everything works fine to the user. I'll attach a committable patch file later...
Assignee: nobody → giermann
Sven, I would be interested to see what the response from the Kerio server looks like. Given r.status is undefined, it seems there is an entry in the XML they send that is missing a status element. This is what it should look like when you change exactly one event on the server and then synchronize: <D:multistatus> <D:sync-response> <D:href>/path/to/changed/ics/A6F-52949E00-1-35A446C0.ics</D:href> <D:status>HTTP/1.1 201 Created</D:status> <D:propstat> <D:prop> <D:getetag>"gcs00000000"</D:getetag> <D:getcontenttype>text/calendar</D:getcontenttype> </D:prop> <D:status>HTTP/1.1 200 OK</D:status> </D:propstat> </D:sync-response> <D:sync-token>1385471509</D:sync-token> </D:multistatus>
Summary: CalDAV not working after 2.6.3 update with some CalDAV servers → CalDAV not working after 2.6.3 update with some CalDAV servers [Error: r.status is undefined]
Check validity of r.status before using indexOf() on it...
Attachment #8338515 - Flags: review?(philipp)
Philipp, when I 'change' an event, I get the following: <a:multistatus> <a:response> <a:href>/path/to/changed/GUID.ics</a:href> <a:propstat> <a:status>HTTP/1.1 200 OK</a:status> <a:prop> <a:getetag>af2...0002</a:getetag> <c:calendar-data> ... </c:calendar-data> </a:prop> </a:propstat> </a:response> </a:multistatus> This looks similiar when I instead create an event (your response was "201 Created").
But the error comes on the very first attempt to show the calendar. After applying the attached patch, it shows the following log: CalDAV: Unhandled response element, status: undefined, href: /path/to/my/calendar/ contenttype:message/calendar CalDAV: recv: <a:multistatus> <a:response> <a:href>/path/to/my/calendar/</a:href> <a:propstat> <a:status>HTTP/1.1 200 OK</a:status> <a:prop> <a:getcontenttype>message/calendar</a:getcontenttype> <a:getetag>af2...0003</a:getetag> </a:prop> </a:propstat> </a:response> <a:response> <a:href>/path/to/my/calendar/GUID.ics</a:href> <a:propstat> <a:status>HTTP/1.1 200 OK</a:status> <a:prop> <a:getcontenttype>text/calendar</a:getcontenttype> <a:getetag>af2...0004</a:getetag> </a:prop> </a:propstat> </a:response> ... So it seems, the server responses something unexpected before the actual calendar and items.
Depends on: 930132
Attachment #8338515 - Flags: review?(philipp) → review?(matthew.mecca)
Comment on attachment 8338515 [details] [diff] [review] calDavRequestHandlers.diff Ok, I think this is the right way to go. It seems in some cases the response itself doesn't have a status. I haven't checked which way is per spec, but it doesn't hurt to catch it.
Attachment #8338515 - Flags: review?(matthew.mecca)
Attachment #8338515 - Flags: review+
Attachment #8338515 - Flags: approval-calendar-release+
Attachment #8338515 - Flags: approval-calendar-beta+
Attachment #8338515 - Flags: approval-calendar-aurora+
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → 3.0
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: