Created attachment 3833
Example mozilla calendar file for timezone Europe/Berlin
I like to have my local lightning ics calendars to be displayed in orage (read only). The timezone settings in all applications are set to Europe/Berlin. If I click now in Orage on a day with an event, the event is shown with an time offset off 2 hours. Opening the event in the Orage editing window it shows the correct times. Also alarms popup at the correct time
If I save the event in an Orage ics file the times are displayed correctly in the event view.
I've attached an example mozilla ics.
Looks strange as timezone setting looks quite normal.
can you show
$ orage -v
so that I can be sure of your version.
This is orage version 4.8.1
Released under the terms of the GNU General Public License.
Compiled against GTK+-2.24.1, using GTK+-2.24.4.
Using DBUS for import.
Using automatic archiving.
Using operating system package libical.
Yes, I can reproduce this.
The problem happens when you use operating system package libical and you have local timezone definition in the calendar file.
This works with the local Orage libical library, so you have basically two ways
to fix it:
1) Use Orage local libical (needs compiling and linking from the source).
2) modify the appoinment file so that libical library does not recognise the local timezone definition. Easiest way to do this is to change (or delete) the TZID line:
Modify it to for example
Or basically to any other value. The bad thing is that you probably need to modify it again to pass it back to the original calendar. Deleting the whole VTIMEZONE component (=everything between BEGIN:VTIMEZONE and END:VTIMEZONE including those lines) probably would work in both systems.
This looks like a bug in the libical code and is hard to fix.
Thanks for the quick reply. Solution 2 is not going to work, because lightning re-adds the deleted/modified timezone definition.
Is there any explanation why times are displayed correctly in the event editing window? I even get a notification at the right time, if alarm notifications are enabled.
Wouldn't this mean that at same stage Orage gets/reads times correctly from the ics?
In the event window Orager simply shows the data from the file. It does not do timezone conversion, Orage just reads and displays the data, which is correct.
The error happens when libical does real timezone conversions.
Alarms do use a bit different method (=different libical calls) of timezone conversion. Orage does more privately and relies less on libical. Maybe this is the way to "fix" this, but it is notra quick and easy thing to do.
It just seems like the timezone is being applied twice (event, then local). Perhaps Orage doing something like converting the time outputted by libical into a local time, when libical was already reporting a local time, hence offsetting it again? I have the same issue with calendars downloaded from Google Calendar.
Created attachment 4157
no VTIMEZONE section, events with varying TZIDs
Created attachment 4158
VTIMEZONE Europe/Berlin, individuell TZIDs
Created attachment 4159
VTIMEZONE (fake) Pacific/Guam, individuell TZIDs
I believe David is basically right. I did some further testing with the attached ics files with following results:
1) calendar without a VTIMEZONE section: time conversion works (cf. no_calendar_tz.ics)
2) calendar has a VTIMEZONE section but the event has no TZID (e.g. DTSTART:20100526T060000Z): conversion works
3) calendar has a VTIMEZONE section, the event has a TZID, but they have different time zones: conversion works (cf. calendar_tz_berlin.ics, calendar_tz_guam.tz)
4) calendar has a VTIMEZONE section and the event has a TZID, both have the same time zone:
time conversion fails (cf. calendar_tz_berlin.ics, calendar_tz_guam.tz).
In the last case the conversion goes like this: event in local time -> event in gmt (according to TZID/VTIMEZONE) -> event in 'alternate gmt' (same shift as in previous step) -> event in the time orage is configured to display.
This is fixed in 188.8.131.52.
Fixed in 4.10.0