Summary: | Picks the wrong one from double VEVENTs | ||
---|---|---|---|
Product: | [Frameworks and Libraries] Akonadi | Reporter: | Michael Reiher <redm> |
Component: | DAV Resource | Assignee: | kdepim bugs <kdepim-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | kde-bugs, matthieu |
Priority: | NOR | ||
Version: | 1.9.80 | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/kdepim-runtime/b8e7333eabe9765e23b89a936d50000fc9f027d0 | Version Fixed In: | 4.14.1 |
Sentry Crash Report: |
Description
Michael Reiher
2012-03-21 11:36:41 UTC
This is with KDE 4.8.1, Akonadi 1.7.0, btw. *** Bug 309358 has been marked as a duplicate of this bug. *** Also happens using ownCloud 4.5. As many other clients, especially the Android-Calendars do not make use of the EXDATE-property for exceptions but rather create an additional VEVENT with the same UID and a STATUS=CANCELLED property (DATE set to the datetime of the exception) this leads to the strange behaviour the the most recent exception (=cancelled event) actually shows up, while the event with the recurrence rule does not. Here are the contents of the ICS file as provided by the server: BEGIN:VCALENDAR PRODID:-//K Desktop Environment//NONSGML libkcal 4.3//EN VERSION:2.0 X-KDE-ICAL-IMPLEMENTATION-VERSION:1.0 BEGIN:VTIMEZONE TZID:Europe/Berlin X-LIC-LOCATION:Europe/Berlin BEGIN:DAYLIGHT TZOFFSETFROM:+0100 TZOFFSETTO:+0200 TZNAME:CEST DTSTART:19700329T020000 RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU END:DAYLIGHT BEGIN:STANDARD TZOFFSETFROM:+0200 TZOFFSETTO:+0100 TZNAME:CET DTSTART:19701025T030000 RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU END:STANDARD END:VTIMEZONE BEGIN:VEVENT CREATED:20130701T102631Z SUMMARY:Testevent LOCATION:Recurring DTSTART;TZID=Europe/Berlin:20130701T130000 TRANSP:OPAQUE RRULE:FREQ=DAILY;COUNT=5 DESCRIPTION:Some description... STATUS:CONFIRMED DURATION:PT1H LAST-MODIFIED:20130701T104357Z DTSTAMP:20130701T104357Z SEQUENCE:1 UID:c40cc3a9-c079-4fce-9ef4-507574529cfa END:VEVENT BEGIN:VEVENT DTSTART;TZID=Europe/Berlin:20130704T130000 SUMMARY:Testevent STATUS:CANCELLED TRANSP:TRANSPARENT DTEND;TZID=Europe/Berlin:20130704T140000 LAST-MODIFIED:20130701T102805Z DTSTAMP:20130701T102805Z SEQUENCE:1 RECURRENCE-ID:20130704T110000Z UID:c40cc3a9-c079-4fce-9ef4-507574529cfa END:VEVENT END:VCALENDAR And here the content as displayed by akonadi-console: BEGIN:VCALENDAR PRODID:-//K Desktop Environment//NONSGML libkcal 4.3//EN VERSION:2.0 X-KDE-ICAL-IMPLEMENTATION-VERSION:1.0 BEGIN:VEVENT DTSTAMP:20130701T102805Z CREATED:20130701T104550Z UID:c40cc3a9-c079-4fce-9ef4-507574529cfa SEQUENCE:1 LAST-MODIFIED:20130701T102805Z SUMMARY:Testevent STATUS:CANCELLED RECURRENCE-ID:20130704T110000Z DTSTART;TZID=Europe/Berlin:20130704T130000 DTEND;TZID=Europe/Berlin:20130704T140000 TRANSP:TRANSPARENT END:VEVENT BEGIN:VTIMEZONE TZID:Europe/Berlin X-LIC-LOCATION:Europe/Berlin BEGIN:DAYLIGHT TZOFFSETFROM:+0100 TZOFFSETTO:+0200 TZNAME:CEST DTSTART:19700329T020000 RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3 END:DAYLIGHT BEGIN:STANDARD TZOFFSETFROM:+0200 TZOFFSETTO:+0100 TZNAME:CET DTSTART:19701025T030000 RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 END:STANDARD END:VTIMEZONE END:VCALENDAR PS: The calendar had a bug that meant that cancelled events were still displayed (Bug 282591). This has been fixed in 4.10.90. Git commit b8e7333eabe9765e23b89a936d50000fc9f027d0 by Grégory Oestreicher. Committed on 05/09/2014 at 18:18. Pushed by goestreicher into branch 'KDE/4.14'. Parse resources containing multiple VEVENT If the VCALENDAR contains multiple VEVENT then parse them and apply exceptions accordingly. Updates and deletions also preserve the multiple VEVENT in a single resource. Thanks to Philipp Schmidt and Martyn Kyral for their work to provide an initial patch on which to elaborate further. Related: bug 284884 REVIEW: 114357 FIXED-IN: 4.14.1 M +90 -3 resources/dav/common/davutils.cpp M +8 -1 resources/dav/common/davutils.h M +5 -0 resources/dav/common/etagcache.cpp M +5 -0 resources/dav/common/etagcache.h M +176 -70 resources/dav/resource/davgroupwareresource.cpp M +16 -3 resources/dav/resource/davgroupwareresource.h http://commits.kde.org/kdepim-runtime/b8e7333eabe9765e23b89a936d50000fc9f027d0 |