Lightning ignores timezone while updating existing event
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
lightning-extension (Ubuntu) |
Expired
|
Undecided
|
Unassigned |
Bug Description
How to reproduce:
1. I setup my timezone to UTC-3.
2. I received an event invitation for 9h UTC-5.
3. I accepted the invitation and it was added to Lightning correctly at 11h.
4. I received an update to the existing event changing the day of the week (it is an weekly event) and the time to 14h UTC-5.
5. I clicked on Update and the event was updated on Lightning to the correct day of week and wrong time: 14h.
As my timezone is set to UTC-3 the event should be scheduled to 16h.
System info:
ii xul-ext-
ii xul-ext-
ii xul-ext-lightning 1.0~b2+
ii thunderbird 3.1.12+
Ubuntu 11.04
Please let me know if you need any further information.
Trying to investigate this I found the following:
The event update has a bunch of recurrence entries instead of a single WEEKLY one (as the original invitation).
I parsed the ics file using python vobject library. Here is the recurrence part:
>>> pp.pprint( parsedCal. contents[ 'vevent' ][0].contents[ 'rdate' ][0].value[ 0:3]) datetime( 2011, 8, 23, 14, 0, tzinfo=<tzicalvtz 'Central'>), datetime( 2011, 8, 23, 15, 0, tzinfo=<tzicalvtz 'Central'>)), datetime( 2011, 8, 30, 14, 0, tzinfo=<tzicalvtz 'Central'>), datetime( 2011, 8, 30, 15, 0, tzinfo=<tzicalvtz 'Central'>)), datetime( 2011, 9, 6, 14, 0, tzinfo=<tzicalvtz 'Central'>), datetime( 2011, 9, 6, 15, 0, tzinfo=<tzicalvtz 'Central'>))]
[(datetime.
datetime.
(datetime.
datetime.
(datetime.
datetime.
Here is the recurrence information stored on local.sqlite3 after I accept the original invitation: 'C32C061093D2B0 B5852578ED00508 018-Lotus_ Notes_Generated '; 5852578ED005080 18-Lotus_ Notes_Generated |WEEKLY| 0|0||1323975600 000000| |1||||5| |||||6351966f- d163-4cf6- 8b50-3fd3ec699e 23
sqlite> select * from cal_recurrence where item_id=
C32C061093D2B0B
After I accept the event update this is what I get using the same query: 'C32C061093D2B0 B5852578ED00508 018-Lotus_ Notes_Generated '; 5852578ED005080 18-Lotus_ Notes_Generated |x-date| 0|0|LT131410800 0000000| ||||||| |||||6351966f- d163-4cf6- 8b50-3fd3ec699e 23 5852578ED005080 18-Lotus_ Notes_Generated |x-date| 1|0|LT131471280 0000000| ||||||| |||||6351966f- d163-4cf6- 8b50-3fd3ec699e 23 5852578ED005080 18-Lotus_ Notes_Generated |x-date| 2|0|LT131531760 0000000| ||||||| |||||6351966f- d163-4cf6- 8b50-3fd3ec699e 23
sqlite> select * from cal_recurrence where item_id=
C32C061093D2B0B
C32C061093D2B0B
C32C061093D2B0B
...
I could not find exactly what the prefix LT means. mxr.mozilla. org/mozilla/ source/ calendar/ providers/ storage/ calStorageCalen dar.js# 153
From the link bellow it seems it is floating time:
http://
Interpreting the recurrences as UTC they are scheduled to 14:00
$ date -u -d @1314108000
Tue Aug 23 14:00:00 UTC 2011
Interpreting it as UTC-03 (my local timezone) it is scheduled to 11:00
$ date -d @1314108000
Tue Aug 23 11:00:00 BRT 2011
Observations:
1. It should not be stored as floating time since the ics file provides timezone information.
2. The event is scheduled for 14:00 UTC-05 and stored as 14:00 floating even if I'm in a different timezone.
3. Although the event recurrence is stored as floating time, Lightning seems to be interpreting it as UTC time, because, as I'm at UTC-03, the event is shown in Lightning starting at 11:00.