Closed Bug 1413113 Opened 7 years ago Closed 6 years ago

ics import error when UID contains special characters

Categories

(Calendar :: Provider: CalDAV, defect)

Lightning 5.4
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: jk_ybn-sw, Unassigned)

Details

Attachments

(1 file)

Attached file BAHN_Fahrplan.ics
User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:56.0) Gecko/20100101 Firefox/56.0
Build ID: 20171003222101

Steps to reproduce:

1. Generated a calendar entry for train ride on the website of Deutsche Bahn (https://www.bahn.com/en/view/index.shtml#slc) and saved it (see attachement)
2. used "Events and Tasks" - "Import...", selected the file and "open".




Actual results:

Got the error message: 1 items failed to import. The last error was: 2147500037


Expected results:

Import of calendar entry.

Was able to identify the issue. At appears to be the "@" in the UID.  Replacing it with another character resolves the problem (cumbersome workaround). This works with no issues with GNOME Evolution.

BTW: Would be nice if "open with" would initiate the import automatically without all the manual steps described, above.
The attached event works fine for me using Lightning 6.0a1 with Thunderbird 58.0a1. My own calendar contains many events that use the @ character in the UID. I therefore assume this is not the problem.

Is it possible that an event with the same UID already exists in your calendar? In this case Lightning will abort the import. I'd suggest that you open Developer Tools - Error Console, repeat your test case and check for the detailed error messages in the console.
I am observing this for a while with different versions of Ubuntu, Thunderbird and Lightning.
Current setting: Ubuntu 17.10, TB 52.4.0, Lightning 5.4 (Last update: May 19, 2017).

The UID is apparently composed of date and time the ics file was generated + '@' + provider (hafas).  That is, there is no duplication.  I have noticed similar issues with other UIDs that contained an '@'.

I edited the ics file (replacing hafas with JuergenK).  This is what the error console looks like:

CalDAV: Unexpected response, status: undefined, href: /cal/Juergen/20171031093800%40JuergenK.ics calendar-data:
  calDavRequestHandlers.js:931:21
CalDAV: Get failed: multiget error  calDavCalendar.js:1223:9
There has been an error reading data for calendar: DS.  However, this error is believed to be minor, so the program will attempt to continue. Error code: 0x80004005. Description: multiget error  calCalendarManager.js:969:13
There has been an error reading data for calendar: DS.  However, this error is believed to be minor, so the program will attempt to continue. Error code: READ_FAILED. Description:   calCalendarManager.js:969:13

When I replace the '@' with an underscore, everything works fine without errors and/or warnings.

I noticed the following messages at the beginning of the listing in the console:
Could not read chrome manifest 'file:///usr/lib/thunderbird/chrome.manifest'.
Use of Mutation Events is deprecated. Use MutationObserver instead.  calendar-widgets.xml:506:18
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’  sogoWebDAV.js:174:22
NS_ERROR_UNEXPECTED: Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIPrefBranch.getCharPref]  header.js:54

Not sure this is related.
I tried Lightning 6.0a1 with Thunderbird 58.0a1 (unstable) and it did not work with my caldav calendar, either.
Import into a local calendar works fine, though.

My caldav calendar is hosted on a Synology DS214 NAS.
Ok, maybe we can detect if this is a problem with Lightnings CalDAV provider or with the CalDAV server you are using.

You can enable logging by setting the advanced preferences "calendar.debug.log" and "calendar.debug.log.verbose" to true. Afterwards you should see in the error console what data is send from Lightning to the CalDAV server and what response is send back to Lightning causing it to fail.
Interestingly, the event is created an visible in the calendar after a refresh.  I was able to save it as ics using evolution (copied to the bottom of this comment).  

Here comes the log:

CalDAV: itemUri.spec = https://qscicon.com:5006/cal/Juergen/20171031093800%40JuergenK.ics  calDavCalendar.js:654:9
CalDAV: Unexpected status adding item to DS: 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;BYDAY=-1SU;BYMONTH=3

END:DAYLIGHT

BEGIN:STANDARD

TZOFFSETFROM:+0200

TZOFFSETTO:+0100

TZNAME:CET

DTSTART:19701025T030000

RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10

END:STANDARD

END:VTIMEZONE

BEGIN:VEVENT

DTSTAMP:20171031T082800Z

UID:20171031093800@JuergenK

SUMMARY:Hamburg Hbf -> Berlin Hbf (tief)

DTSTART;TZID=Europe/Berlin:20171031T093800

DTEND;TZID=Europe/Berlin:20171031T112900

CLASS:PUBLIC

DESCRIPTION:Reise: Hamburg Hbf nach Berlin Hbf (tief)\nDatum: 31.10.17\n-\

 nab 09:38 Hamburg Hbf - Gleis 7 (ICE 1609)\nan 11:29 Berlin Hbf (tief) - G

 leis 2\n-\nDauer: 1:51 \n\nAlle Angaben ohne Gewähr. Fahrplanänderungen 

 vorbehalten. Bitte prüfen Sie kurz vor der Reise den aktuellen Fahrplan u

 nter: www.bahn.de\n

END:VEVENT

END:VCALENDAR

---------------------------------------------------------------------
Export from evolution:

BEGIN:VCALENDAR
PRODID:-//Ximian//NONSGML Evolution Calendar//EN
VERSION:2.0
METHOD:PUBLISH
BEGIN:VTIMEZONE
TZID:Europe/Berlin
X-LIC-LOCATION:Europe/Berlin
BEGIN:STANDARD
TZNAME:CET
DTSTART:19701029T030000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
BEGIN:DAYLIGHT
TZNAME:CEST
DTSTART:19700326T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
DTSTAMP:20171031T082800Z
UID:20171031093800@JuergenK
SUMMARY:Hamburg Hbf -> Berlin Hbf (tief)
DTSTART;TZID=Europe/Berlin:20171031T093800
DTEND;TZID=Europe/Berlin:20171031T112900
CLASS:PUBLIC
DESCRIPTION:Reise: Hamburg Hbf nach Berlin Hbf (tief)\nDatum: 
 31.10.17\n-\nab 09:38 Hamburg Hbf - Gleis 7 (ICE 1609)\nan 11:29 Berlin 
 Hbf (tief) - Gleis 2\n-\nDauer: 1:51 \n\nAlle Angaben ohne Gewähr. 
 Fahrplanänderungen vorbehalten. Bitte prüfen Sie kurz vor der Reise den 
 aktuellen Fahrplan unter: www.bahn.de\n
X-EVOLUTION-CALDAV-ETAG:55cdbd06cad47
END:VEVENT
END:VCALENDAR
Component: General → Provider: CalDAV
Looks like this is resolved with TB60.0
Status: UNCONFIRMED → RESOLVED
Closed: 6 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: