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 754999 - Write EXDATE times in UTC
Write EXDATE times in UTC
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Calendar
3.16.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
: 755000 764894 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2015-09-14 15:25 UTC by dbet1
Modified: 2016-04-12 12:18 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
eds patch (3.51 KB, patch)
2015-09-15 16:34 UTC, Milan Crha
committed Details | Review
evo patch (13.63 KB, patch)
2015-09-15 16:37 UTC, Milan Crha
committed Details | Review

Description dbet1 2015-09-14 15:25:55 UTC
All calendar software I know on PC's and mobile OS'es makes the EXDATE on recurring events in UTC. But Evolution does not. EXDATES made by other software are shown in Evolution one hour before the event (or two hours during saving daylight time). EXDATES made by Evolution shows the exact time of the recurring event.

As a result EXDATES made in Evolution won't be showed in other calendar clients and sometimes vice versa. I have not detected in which cases Evolution hides the exception made by other calendar clients and when not.
Comment 1 Milan Crha 2015-09-15 10:12:40 UTC
Thanks for a bug report. The RFC 5545 doesn't mandate to have EXDATE in UTC [1], just the opposite [2]. It means that there's no problem to store EXDATE in a different timezone.

Nonetheless, looking into the resulting EXDATE property created by the evolution, it doesn't claim the timezone the time is stored in, further than that, it has set the time as a floating time, which explains why the other software shows the event differently.

[1] http://tools.ietf.org/html/rfc5545#section-3.8.5.1
[2] http://tools.ietf.org/html/rfc5545#section-3.2.19
Comment 2 Milan Crha 2015-09-15 16:34:59 UTC
Created attachment 311388 [details] [review]
eds patch

for evolution-data-server;

For the file (On This Computer) and CalDAV backends, convert EXDATE times into UTC and expect passed-in RID (as string) in the same timezone as the DTSTART is.
Comment 3 Milan Crha 2015-09-15 16:37:53 UTC
Created attachment 311390 [details] [review]
evo patch

for evolution;

Only to show times in the EXDATE list in the timezone of the event, as user selected, not in any random timezone the EXDATE can be set with.

Most of the change is just an API change, move of a public values into a private structure.
Comment 4 Milan Crha 2015-09-15 16:43:21 UTC
*** Bug 755000 has been marked as a duplicate of this bug. ***
Comment 5 Milan Crha 2015-09-21 13:54:09 UTC
Created commit_e7aa71e in eds master (3.19.1+) [1]
Created commit 586ce9b in evo master (3.19.1+)

I committed only the eds part into the stable branch, because the evolution patch changes API, technically.

Created commit_9695a21 in eds gnome-3-18 (3.18.1+)

[1] https://git.gnome.org/browse/evolution-data-server/commit/?id=e7aa71e
Comment 6 Milan Crha 2016-04-12 12:18:28 UTC
*** Bug 764894 has been marked as a duplicate of this bug. ***