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 704618 - Missing detached instances in get_object() response
Missing detached instances in get_object() response
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Calendar
3.8.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
Depends on:
Blocks: 703515
 
 
Reported: 2013-07-20 20:52 UTC by David Woodhouse
Modified: 2013-07-22 16:52 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
eds patch (3.40 KB, patch)
2013-07-22 15:58 UTC, Milan Crha
committed Details | Review
ews patch (2.55 KB, patch)
2013-07-22 16:00 UTC, Milan Crha
committed Details | Review
ema patch (2.75 KB, patch)
2013-07-22 16:01 UTC, Milan Crha
committed Details | Review

Description David Woodhouse 2013-07-20 20:52:05 UTC
(This is in EWS, but here I quote from the calendar.ics in ~/.cache/evolution/ so it's not a "lost in translation" things.

I have a recurring meeting thus:

RRULE:FREQ=WEEKLY;BYDAY=MO;WKST=SU
DTSTART;TZID=Pacific Standard Time:20130715T080000
DTEND;TZID=Pacific Standard Time:20130715T083000
UID:
 040000008200E00074C5B7101A82E00800000000F08B325D987CCE01000000000000000010
 000000BA23D24E9183E441B3535882DBBED55B

The regular meeting appears at 16:00 in my own timezone, which is GMT+1. All is well.

However, the meeting for this coming Monday is modified to occur later:

DTSTART;TZID=Pacific Standard Time:20130722T140000
DTEND;TZID=Pacific Standard Time:20130722T143000
UID:
 040000008200E00074C5B7101A82E00800000000F08B325D987CCE01000000000000000010
 000000BA23D24E9183E441B3535882DBBED55B
RECURRENCE-ID;TZID=Pacific Standard Time:20130722T080000


In gnome-shell's calendar display, Monday's meeting appears at the *correct* time, 10pm localtime for me. In Free/busy information it also appears at the correct time.

However, when I simply view my calendar in Evolution, the meeting appears at 4pm localtime. Not 10pm as it should. The modification has not been applied.
Comment 1 David Woodhouse 2013-07-20 20:55:43 UTC
On running dbus-monitor and watching the traffic when I change the day being viewed in the calendar, I see exactly the above-quoted ical data when I view Monday 22nd. The original recurring meeting, *and* the modified recurrence, are in the following signal:

signal sender=:1.230 -> dest=(null destination) serial=5305 path=/org/gnome/evolution/dataserver/CalendarView/21311/393; interface=org.gnome.evolution.dataserver.CalendarView; member=objects_added
Comment 2 David Woodhouse 2013-07-22 13:08:39 UTC
Can reproduce with an 'on the web' calendar at http://david.woodhou.se/calrecur.ics

Interesting behaviour occurs if I bump the sequence number of the modified recurrence, then ask evo to reload it.

Briefly, the modified occurrence *does* show up at the right time (9pm GMT), only to switch back to the original recurring time when I view a different date and go back to today.
Comment 3 Milan Crha 2013-07-22 15:58:53 UTC
Created attachment 249814 [details] [review]
eds patch

for evolution-data-server;

It's because the backend didn't return also detached instances, but only the master object. This adds new public "utility" function to get a component by UID as a string, which will be either a single component or a vCalendar, with detached instances.
Comment 4 Milan Crha 2013-07-22 16:00:11 UTC
Created attachment 249815 [details] [review]
ews patch

for evolution-ews;

Use the newly added utility function.
Comment 5 Milan Crha 2013-07-22 16:01:04 UTC
Created attachment 249816 [details] [review]
ema patch

for evolution-mapi;

Use the newly added utility function.
Comment 6 Milan Crha 2013-07-22 16:11:29 UTC
Created commit 8719e59 in eds master (3.9.5+)
Created commit c525480 in ews master (3.9.5+)
Created commit eac5877 in ema master (3.9.5+)

Created commit 7166a79 in eds gnome-3-8 (3.8.4+)
Created commit 8fc9f04 in ews gnome-3-8 (3.8.4+)
Created commit 6179d18 in ema gnome-3-8 (3.8.4+)

The gnome-3-8 patch versions for ews and ema do not reference the newly added function in eds, but hold their own copy, to not hard-depend on the new eds.
Comment 7 David Woodhouse 2013-07-22 16:52:02 UTC
Updating just EWS and then re-running evolution-calendar-factory appears to have fixed the original issue. Thanks.