Created attachment 8640775 [details] 2015-08-05.ics There is a user on #calendar (Gucky) who reported the following issue: After the upgrade of Thunderbird, importing .ics files (each containing events for one day) only succeeds partially, half the events (the ones starting around/past noon) aren't imported. The user said it's an online calendar, so maybe Google Calendar. I can't reproduce the issue locally. From the error console: Zeitstempel: 29.07.2015 23:25:09 Fehler: CalDAV: Unexpected status adding item to Fernsehen Online: 401 BEGIN:VCALENDAR PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN VERSION:2.0 BEGIN:VEVENT CREATED:20150729T210201Z LAST-MODIFIED:20150729T212452Z DTSTAMP:20150729T212452Z UID:20150805-tvbrowserdataservice.TvBrowserDataService_main_de_kabel1_5:25 :60 SUMMARY:kabel eins - Mord ist ihr Hobby PRIORITY:3 CATEGORIES:Fernsehen DTSTART:20150805T032500Z DTEND:20150805T041000Z CLASS:PUBLIC DESCRIPTION:kabel eins - Mord ist ihr Hobby\n05.08.2015 05:25-06:10 TRANSP:OPAQUE BEGIN:VALARM ACTION:DISPLAY TRIGGER;VALUE=DURATION:-PT5M DESCRIPTION:Mozilla Standardbeschreibung X-LIC-ERROR;X-LIC-ERRORTYPE=VALUE-PARSE-ERROR:No value for DESCRIPTION pro perty. Removing entire property: END:VALARM END:VEVENT END:VCALENDAR Quelldatei: file:///C:/Users/xxxxx/AppData/Roaming/Thunderbird/Profiles/47m5krnp.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/components/calDavCalendar.js Zeile: 696 Zeitstempel: 29.07.2015 23:25:09 Fehler: [Exception... "Component does not have requested interface [calIOperationListener.onOperationComplete]" nsresult: "0x80004002 (NS_NOINTERFACE)" location: "JS frame :: resource://calendar/modules/calProviderUtils.jsm :: cPB_notifyPureOperationComplete :: line 634" data: no] Quelldatei: resource://calendar/modules/calProviderUtils.jsm Zeile: 636 Zeitstempel: 29.07.2015 23:25:10 Fehler: NS_NOINTERFACE: Component does not have requested interface [calIOperationListener.onGetResult] Quelldatei: file:///C:/Users/xxxxx/AppData/Roaming/Thunderbird/Profiles/47m5krnp.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/components/calMemoryCalendar.js Zeile: 472 The first missing event is UID:20150805-tvbrowserdataservice.TvBrowserDataService_main_de_ard_11:35:60
Which version of Lightning is used here? The error message indicates the server replied with 401 - unauthorized. It is strange that this seems to happens in the middle of an import, but this makes it look like a server issue. Eventually, one might also think about a network forced reconnect with an ip address change in the middle of the batch of requests that may trigger the server to invalidate the session. If so, doing the import at a different time should resolve the issue.
Lightning 18.104.22.168, Thunderbird 38.1.0, Windows 7, Provider for Google Calendar 1.0.4 Issue seems to depend on the calendar in which the user imports into.
Created attachment 8644668 [details] [diff] [review] Fix - v1 I was able to reproduce this in the gdata unit tests. When passing around objects, at some point they seem to lose their interfaces. I didn't check exactly where it starts working, but adding generateQI to all operation listeners seems to do the trick.
Comment on attachment 8644668 [details] [diff] [review] Fix - v1 Review of attachment 8644668 [details] [diff] [review]: ----------------------------------------------------------------- Looks good but patch is out of date does not apply cleanly on my local repo (Fails at calendar/lightning/content/imip-bar.js). And my local tree build is a bit broken as I updated to Mac OS X El Capitan Beta, running a Beta XCode Version :/
Pushed to comm-central changeset a5636e8549a4