Open Bug 1179842 Opened 9 years ago Updated 2 years ago

ical.js: Events with "problematic" time zone don't show, time zone info not exported.

Categories

(Calendar :: ICAL.js Integration, defect)

Lightning 4.2
defect

Tracking

(Not tracked)

People

(Reporter: jorgk-bmo, Unassigned)

Details

Attachments

(1 file)

Start TB Daily, I'm using 42.0a1 (2015-07-02), Lightning 4.4. Same problem with TB 40, Lightning 4.2. Set the preference calendar.icaljs to false, to disable ical.js. Import the attached file which was exported with libcal active. This contains three events in three time zones. - HHH: 15 AUG 2011, Berlin. - WEG: 15 AUG 2011, Warsaw - Thunderbird meeting, LA. These events seem to import OK. Now set the preference calendar.icaljs to true, to enable ical.js The events HHH and WEG disappear from the display. On export, they are also not exported. Note also, that compared to the libcal generated file now only one time zone is exported. This may or may not be a problem.
Attachment #8628917 - Attachment mime type: text/calendar → text/plain
The test case uses a non-built-in timezone Sarajevo/Warsaw/Zagreb. Bug 1149470 tracks this issue for icaljs library. I don't see the problem with display and with import/export. The unsupported Sarajevo/Warsaw/Zagreb timezone disappears but this is kind of expected. The VTIMEZONE for Europe/Berlin and America/Los_Angeles are in the exported file but at different location.
Thanks. Yes, I can see the other time zones now in the exported file. I assume it's still a problem that the HHH and WEG events don't show up. Can you please confirm this. Sorry, it's hard to report a good bug when all you know is that there's something fishy :-(
I imported the file into local storage calendar, restarted Thunderbird, and the events show up fine in Aug-2011 and Dec-2014.
Hmm. Are we doing the same thing? I'm doing this: calendar.icaljs to false, import file. Two events show on 15th Aug 2011. calendar.icaljs to true. Restart TB. Two events on 15th Aug 2011 *do not* show up. I import using libical since the export was done with libical. I want to simulate what happens ical.js is used on a calendar that comes from a version of TB which used libical. That happened to me: I was using TB 38 and then moved to TB 40, the latter having ical.js enabled and those two events don't show (and don't export).
Confirming with the steps described in comment #4 for current Daily. I'm getting the following error messages sequence (3 times in a row): Timestamp: 05.07.2015 11:47:53 Error: Unknown function icaltimezone(data) { this.wrappedJSObject = this; this.fromData(data); } passed at 1: [resource://calendar/modules/ical.js:36] unwrapSingle 2: [resource://calendar/modules/ical.js:26] unwrapSetter 3: [resource://calendar/modules/ical.js:22] unwrap/< 4: [resource://calendar/modules/calStorageHelpers.jsm:178] newDateTime 5: [file:///F:/TB-Testprofile/commcentral/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/components/calStorageCalendar.js:1593] cSC_getEventFromRow 6: [file:///F:/TB-Testprofile/commcentral/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/components/calStorageCalendar.js:831] cSC_getItems_ 7: [file:///F:/TB-Testprofile/commcentral/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/components/calStorageCalendar.js:662] cSC_getItems/< 8: [null:0] null Source File: resource://calendar/modules/ical.js Line: 36 Timestamp: 05.07.2015 11:47:53 Error: TypeError: zone is null Source File: resource://calendar/modules/ical.js Line: 3726 Timestamp: 05.07.2015 11:47:53 Error: [calStorageCalendar] Message: Error selecting non recurring events by range! Connection Ready: true Last DB Error Number: 100 Last DB Error Message: unknown error Database File: F:\TB-Testprofile\commcentral\calendar-data\local.sqlite Last DB Statement: [object StatementJSHelper] Last Statement param [range_start]: 1312149600000000 Last Statement param [start_offset]: 7200000000 Last Statement param [range_end]: 1314568800000000 Last Statement param [end_offset]: 7200000000 Last Statement param [cal_id]: f0326b9a-d56a-4390-a898-6e594e5f3e8f Last Statement param [offline_journal]: null Last Statement param [QueryInterface]: function QueryInterface() { [native code] } Exception: [Exception... "[JavaScript Error: "zone is null" {file: "resource://calendar/modules/ical.js" line: 3726}]'[JavaScript Error: "zone is null" {file: "resource://calendar/modules/ical.js" line: 3726}]' when calling method: [calIDateTime::getInTimezone]" nsresult: "0x80570021 (NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS)" location: "JS frame :: resource://calendar/modules/calStorageHelpers.jsm :: newDateTime :: line 178" data: yes] 1: [file:///F:/TB-Testprofile/commcentral/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/components/calStorageCalendar.js:2416] cSC_logError 2: [file:///F:/TB-Testprofile/commcentral/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/components/calStorageCalendar.js:834] cSC_getItems_ 3: [file:///F:/TB-Testprofile/commcentral/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/components/calStorageCalendar.js:662] cSC_getItems/< 4: [null:0] null Source File: file:///F:/TB-Testprofile/commcentral/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/components/calStorageCalendar.js Line: 2416 Switching back to libical makes the events to reappear. The root cause is limited to the WEG event. If you remove that before switching to icaljs, the HHH event is displayed as expected. Also interesting: if you open the sample as a new calendar (File->Open->Calendar file) instead of importing in an existing one, all events are displayed without any of the forementenioned errors (only the timezone error already explained in comment #1 shows up) after switching to icaljs. In that case, for the WEG event icaljs seems to ignore the unknonw TZ information and applies the local tz.
Severity: normal → S3

Yes I'm seeing this error still with TB 102.3.3, over and over in my syslog, every 3 minutes actually. I'm not sure what is causing it. I probably have a more advanced calendar setup, and it's all working ok as far I can tell, but I don't like seeing all these errors now either. I have TB linked with my Google account with the "Provider for Google Calendar" add-on, as well as linked with my MS account with "Owl for Exchange" add-on. My Google account has 5 different calendars, so that's 6 in total that I have linked to TB.

Nov  8 22:22:22 computer thunderbird.desktop[1203697]: JavaScript error: resource:///modules/calendar/Ical.jsm, line 5514: TypeError: zone is null
Nov  8 22:22:22 computer thunderbird.desktop[1203697]: console.warn: Calendar: Message: [Exception... "[JavaScript Error: "zone is null" {file: "resource:///modules/calendar/Ical.jsm" line: 5514}]'[JavaScript Error: "zone is null" {file: "resource:///modules/calendar/Ical.jsm" line: 5514}]' when calling method: [calIDateTime::getInTimezone]"  nsresult: "0x80570021 (NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS)"  location: "JS frame :: resource:///modules/calendar/calStorageHelpers.jsm :: newDateTime :: line 189"  data: yes]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: