Open Bug 1302487 Opened 4 years ago Updated 2 months ago

Event dialog: timezone changing applies only to start or end datetime

Categories

(Calendar :: ICAL.js Integration, defect)

Lightning 5.3
defect
Not set
normal

Tracking

(Not tracked)

People

(Reporter: MakeMyDay, Unassigned, NeedInfo)

Details

(Keywords: regression, Whiteboard: [timezone])

Other then in 4.7, a timezone setting change doesn't apply for both start and end time when changing the timezone of the starttime.
Blocks: ltn54
Assignee: nobody → bv1578
Status: NEW → ASSIGNED
Decathlon, any progress with this? Merge day is on 23rd and we should fix that before the first 52 beta release.
Flags: needinfo?(bv1578)
Actually I had a workaround before taking the assignment but I wanted to fix the original issue. I have to look deeper but it might be out of my skills. I will ask to Philipp.

Anyway I didn't post nothing because it's a bug that concerns only ical.js (any kind of timezone comparison doesn't work as it should with ical.js), is not reproducible with libical so it's not a problem for Lightning releases.
Component: Dialogs → ICAL.js Integration
Flags: needinfo?(bv1578)
Flags: needinfo?(philipp)
This bug occurs when comparing timezones objects with ical.js enabled.
Timezones comparison like "==" or "compareObjects()" fail because they always return "false" even when the timezones are equal:

  let dt1 = cal.now();
  let dt2 = dt1;
  dt1.timezone == dt2.timezone;                 // false with ical.js; true with libical
  compareObjects(dt1.timezone, dt2.timezone);   // false with ical.js; true with libical

  let dt3 = dt1.clone()
  dt1.timezone == dt3.timezone;                 // false with ical.js; true with libical
  compareObjects(dt1.timezone, dt3.timezone);   // false with ical.js; true with libical

  dt1.timezone == dt1.timezone;                 // false with ical.js; true with libical
  compareObjects(dt1.timezone, dt1.timezone);   // false with ical.js; true with libical


I see there are problems with timezones in ical.js, but I haven't found an open bug for this specific issue. Something similar can be found among fixed bugs about floating timezone: bug 1082286 and bug 909183.

Philipp, is this a known issue with ical.js?
Thanks, I wasn't aware this is an ical.js only issue, so there's no dependency to the event in a tab feature.

There's a case typo at [1], that should be fixed too, but this is not related to this issue as the comparison of the entire tz object fails at [2]. However if you log the objects to the error console, the serialzed objects look the same.

Noteworthy but maybe already known: toString() (with the typo mentioned above fixed) provides the tzid for ical.js but the vtimezone string for libical.

[1] https://dxr.mozilla.org/comm-central/source/calendar/base/src/calTimezone.js#58
[2] https://dxr.mozilla.org/comm-central/source/calendar/lightning/content/lightning-item-iframe.js#3146
No longer blocks: 1277972
Whiteboard: [timezone]
Decathlon, is this something you can still prepare for 6.2?
Flags: needinfo?(bv1578)
Flags: needinfo?(philipp)
Assignee: bv1578 → nobody
No longer blocks: ltn54, ltn62
Status: ASSIGNED → NEW
You need to log in before you can comment on or make changes to this bug.