GNOME Bugzilla – Bug 704618
Missing detached instances in get_object() response
Last modified: 2013-07-22 16:52:02 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.
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
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.
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.
Created attachment 249815 [details] [review] ews patch for evolution-ews; Use the newly added utility function.
Created attachment 249816 [details] [review] ema patch for evolution-mapi; Use the newly added utility function.
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.
Updating just EWS and then re-running evolution-calendar-factory appears to have fixed the original issue. Thanks.