After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 689571 - Meetings have incorrect timezone, offset by current time zone offset as though invite used UTC
Meetings have incorrect timezone, offset by current time zone offset as thoug...
Status: RESOLVED OBSOLETE
Product: evolution
Classification: Applications
Component: Calendar
3.4.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2012-12-03 22:08 UTC by Josh Triplett
Modified: 2019-11-12 17:33 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Invite that shows up with incorrect time zone (1.21 KB, application/ics)
2012-12-03 22:19 UTC, Josh Triplett
Details
.ics file from test meeting, saved from evolution calendar (3.61 KB, application/ics)
2012-12-04 01:21 UTC, Josh Triplett
Details
GetItemResponse from EWS when retrieving the test meeting (7.09 KB, application/xml)
2012-12-04 01:26 UTC, Josh Triplett
Details

Description Josh Triplett 2012-12-03 22:08:13 UTC
I use Evolution 3.4.4 on Debian GNU/Linux sid with evolution-ews.  Meeting invites received from Exchange/Outlook users work fine.  However, meeting invites received from Google Calendar users or users of some other calendaring software end up on my calendar at an incorrect time: I work in the US/Pacific timezone, currently UTC-8, and those meetings show up on my calendar 8 hours ahead, as though specified in UTC rather than UTC-8.  Earlier in the year, when US/Pacific corresponded to UTC-7, such meetings would end up on my calendar 7 hours ahead.

The meeting invite itself, as displayed in Evolution's email view, shows the correct time.
Comment 1 Josh Triplett 2012-12-03 22:19:04 UTC
Created attachment 230595 [details]
Invite that shows up with incorrect time zone

Attaching the invite.ics file from that invite (with names, email addresses, and description anonymized).
Comment 2 Josh Triplett 2012-12-03 22:20:45 UTC
That invite *should* become a meeting from 11:30AM to 12:30AM, at least in current US/Pacific (UTC-8).
Comment 3 David Woodhouse 2012-12-03 22:25:44 UTC
DTSTART:20121206T193000Z
DTEND:20121206T203000Z

That meeting is supposed to be 19:30 UTC to 20:30 UTC.
So 11:30AM-12:30PM (UTC-8).

If you accept this to a local calendar which is otherwise empty, can you show what ends up in the resulting local ical file?

If you mail yourself an invite identical to this from an account which *isn't* EWS, does it do the same thing? I'm assuming so.
Comment 4 Josh Triplett 2012-12-03 23:48:05 UTC
Note that this item came from an EWS calendar.  I worked with David via IRC to debug this interactively.  He pointed out that Exchange parsed this calendar item directly before Evolution saw it, and evolution-ews just sent an ack when I accepted.  Working with David via IRC, I managed to directly fetch this item from the EWS server with a GetItem SOAP request, and got the following lines in the response:

<t:Start>2012-12-06T19:30:00Z</t:Start>
<t:End>2012-12-06T20:30:00Z</t:End>
<t:TimeZone>UTC</t:TimeZone>
Comment 5 Josh Triplett 2012-12-04 01:14:32 UTC
The following test procedure reliably reproduces the issue:

- Have an EWS account and calendar set up, in a time zone other than UTC.
- Create a Google account.
- Set your Google Calendar time zone to another non-UTC time zone *other* than the one you use with Evolution and EWS.  (Not sure if this test works if the time zones match; seems like it should, but I didn't test that.)
- Create a Google Calendar event, set its time and title, and add your EWS account's email address as a guest.  Save the event, and let Google Calendar send out an invite.
- Wait until you receive the invite in your EWS inbox.
- Click on the invite, and click "accept".
- Check your calendar.

If your EWS account and calendar use time zone UTC-N, you should find that the event shows up N hours later than the time you set it for.  (Likewise for UTC+N and N hours earlier, I'd guess.)

I'll attach the .ics entry saved from the Evolution calendar with "Save as iCalendar...", the full invite mail received at a different address also invited to the meeting (via a normal mail server, IMAP, and mutt, so nothing should have mangled it), and the <GetItemResponse> from the EWS server as obtained via "EWS_DEBUG=2 /usr/lib/evolution/evolution-calendar-factory --keep-running".
Comment 6 Josh Triplett 2012-12-04 01:21:25 UTC
Created attachment 230611 [details]
.ics file from test meeting, saved from evolution calendar
Comment 7 Josh Triplett 2012-12-04 01:26:41 UTC
Created attachment 230612 [details]
GetItemResponse from EWS when retrieving the test meeting

GetItemResponse, via "EWS_DEBUG=2 /usr/lib/evolution/evolution-calendar-factory --keep-running".

Oddly, this GetItemResponse contains the time zone (<t:TimeZone>UTC</t:TimeZone>) but not the time.  However, retrieving that item directly from EWS via GetItem gives me the following:

              <t:Start>2012-12-05T18:00:00Z</t:Start>
              <t:End>2012-12-05T19:00:00Z</t:End>
              <t:TimeZone>UTC</t:TimeZone>
Comment 8 Josh Triplett 2013-03-20 21:20:10 UTC
ping?  I still regularly observe this issue with current Evolution and EWS.
Comment 9 Mike Moran 2013-04-10 16:49:00 UTC
I'm seeing the same issue running Linux Mint with 3.6.2 and evolution-ews.

All my customers and management are located in EST5EDT ... exchange is set up with UTC-5 as the default timezone.

For example, a new standing meeting was added for 11 UTC-5, but shows up in my calendar as  11 UTC-6 .. or more precisely .. the event shows up at the base time of the event without taking into consideration the timezone.
Comment 10 Milan Crha 2015-06-09 14:40:33 UTC
I suppose bug #722419 and bug #734747 are related to this one. The fixes are included in the 3.12.11 of evolution-ews. The newer version you use the better (as the current stable version is 3.16.3).

Could you retest this with more recent version of evolution-ews, please?
Comment 11 Milan Crha 2015-06-09 14:51:40 UTC
(In reply to Josh Triplett from comment #6)
> Created attachment 230611 [details]
> .ics file from test meeting, saved from evolution calendar

This Google calendar's event has set floating times, without any timezone. That means, whatever timezone user uses, the event is always shown at the time it has set, like in this case, 18:00-19:00.

(In reply to Josh Triplett from comment #7)
> Created attachment 230612 [details]
> GetItemResponse from EWS when retrieving the test meeting

The stored mime-content, as provided by the Exchange server, shows:
   DTSTART;TZID=Pacific Standard Time:20121205T100000
   DTEND;TZID=Pacific Standard Time:20121205T110000
This can be fixed by the bug #734747.

-------------------------------------------------------------------------------

I re-read the bug and from what I understand there are two issues. One is that the evolution-ews gives odd times/timezones, which is addressed by the two above mentioned bugs.

Then there is a Google calendar issue using floating times. Why it does so I do not know. When I create an event in the Google calendar, then it shows the right setting, which is:
   DTSTART;TZID=Europe/Prague:20150625T110000
   DTEND;TZID=Europe/Prague:20150625T113000
just as I saved it.

It's possible that the Google server also had some updates meanwhile.
Comment 12 Alexandre Franke 2019-11-12 17:33:32 UTC
Considering all the moving parts and the lack of activity here, let's assume this is not relevant anymore. Feel free to reopen in case it still is.