Summary: | KCalCore parses exceptions incorrectly??? | ||
---|---|---|---|
Product: | [Applications] kdepimlibs | Reporter: | Ingo Ratsdorf <ingo> |
Component: | kcalcore | Assignee: | Sergio Martins <smartins> |
Status: | RESOLVED UNMAINTAINED | ||
Severity: | normal | CC: | aleh, alexey.brodkin, kde-bugs, smartins |
Priority: | NOR | ||
Version: | 4.10 | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Ingo Ratsdorf
2011-09-23 00:01:58 UTC
Possibly related to Bug 282317? Possibly related to bug #282591? Can confirm this with my ownCloud Server. Android also generates a Status=Cancelled for a single recurrence ID. The Payload of the ics is as follows: BEGIN:VEVENT CREATED:20120803T071001Z LAST-MODIFIED:20120803T071029Z DTSTAMP:20120803T071029Z UID:d9833f16-a0ea-4855-9404-add90e165e98 SUMMARY:Test Event RRULE:FREQ=DAILY;UNTIL=20120817T080000Z;INTERVAL=2 DTSTART;TZID=Europe/Berlin:20120806T100000 DTEND;TZID=Europe/Berlin:20120806T110000 LOCATION:asdf END:VEVENT BEGIN:VEVENT LAST-MODIFIED:20120803T071316Z UID:d9833f16-a0ea-4855-9404-add90e165e98 SUMMARY:Test Event STATUS:CANCELLED RECURRENCE-ID:20120810T080000Z DTSTART;TZID=Europe/Berlin:20120810T100000 DTEND;TZID=Europe/Berlin:20120810T110000 TRANSP:OPAQUE SEQUENCE:1 END:VEVENT So the exception is not stored as an EXDATE but rather as a single, additional event with the same UID that only references that specific recurrence. Maybe that is where the problem lies? Does KCalCore discard additional events with the same UID? I took the liberty of updating the Version (still present in 4.10) and setting the ASSIGNED flag. Git commit 242776d314c7f799807e3783b366d2f1b2910a7b by Sergio Martins. Committed on 09/06/2013 at 19:51. Pushed by smartins into branch 'master'. Honour STATUS:CANCELLED EXDATE isn't the only way to delete an occurrence. CCMAIL: chrigi_1@fastmail.fm M +3 -0 kcalcore/occurrenceiterator.cpp http://commits.kde.org/kdepimlibs/242776d314c7f799807e3783b366d2f1b2910a7b I have just checked with the current beta: Events are still being displayed. When comparing a local *.ics with the content of the carddav ressource in akonadiconsole however I stumbled upon the following: The local *.ics has both events present, the main event and the cancelled one. The carddav-ressource only has the last created event (with status cancelled) but not the main event. So it appears that for carddav further occurences are not synced but ignored when syncing with the server. I will investigate further and open a bug against the affected akonadi-ressource. So when testing this bug: Use local *.ics files, not a dav-groupware server ;). Which revision did you test ? 4.11 Beta 1, it was tagged after the commit if I'm not mistaken and has not yet been branched... Can you try again, but editing the file first, replacing Europe/Berlin:20120810T100000 with 20120810T100000Z, and doing the same thing for DTEND I mean 20120810T080000Z, sorry Git commit b4df81924c221adfd550e1c1dddd55c24818f7cf by Sergio Martins. Committed on 15/06/2013 at 00:08. Pushed by smartins into branch 'master'. Use the same timespec when comparing two KDateTime. Fixes QHash::contains() not working, and ignoring recurring ids. CCMAIL: chrigi_1@fastmail.fm M +3 -1 kcalcore/occurrenceiterator.cpp http://commits.kde.org/kdepimlibs/b4df81924c221adfd550e1c1dddd55c24818f7cf Works for me now for local ICS files. Thank you very much! This bug has only been reported for versions before 4.14, which have been unsupported for at least two years now. Can anyone tell if this bug still present? If noone confirms this bug for a Framework-based version of kdepim (version 5.0 or later, as part of KDE Applications 15.08 or later), it gets closed in about three months. Just as announced in my last comment, I close this bug. If you encounter it again in a recent version (at least 5.0 aka 15.08), please open a new one unless it already exists. Thank you for all your input. |