Bug 419694 - Synchronization of recurring appointments with exceptions
Summary: Synchronization of recurring appointments with exceptions
Status: REPORTED
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: DAV Resource (show other bugs)
Version: unspecified
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-04-05 20:20 UTC by Christian Wolf
Modified: 2020-08-27 15:04 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Wolf 2020-04-05 20:20:23 UTC
TOPIC

I have the problem that I want to synchronize my calendars between different devices. To do it, I use my nextcloud instance. 

Some more information might be in the following mail:
https://mail.kde.org/pipermail/kdepim-users/2020-March/013162.html

SUMMARY

Recurring events cannot be managed between the instances. In fact, there are two problems that are dependant but not equal.
Start by having an event that is recurring with multiple instances.

STEPS TO REPRODUCE
A.1. Remove one of the events in KDEPIM/Akonadi/KOrganizer
A.2. Check the removed event in the other devices (either nextcloud itself of Android mobile using DAVDroid)

B.1. Remove one of the events in either of the other devices
B.2. Check the event in KDEPIM/Akonadi/KOrganizer

OBSERVED RESULT
In both cases A + B the removal is not synchronized between the devices.

EXPECTED RESULT
The events get synchronized successfully.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Archlinux
KDE Plasma Version: 5.18.4
KDE Frameworks Version: 5.68.0
Qt Version: 5.14.1

ADDITIONAL INFORMATION

I tried to investigate a bit. There seem to be different ways to store exceptions in recurring events in CalDAV (see https://www.kanzaki.com/docs/ical/exdate.html). I looked into the raw payload of the event in akonadiconsole. Unfortunately, the value was changed during synchronization very quickly. I could only get a short glimpse that something has happened but I was not able to read anything useful. I just saw that the string defining the exception was not formatted the same as the others.

Another try revealed the following:
KDEPIM seems to generate exceptions like this:
> EXDATE;VALUE=DATE:20200325
The other two solutions use another syntax:
> EXDATE;TZID=Europe/Berlin:20200325T220000
> EXDATE;TZID=UTC:20200326T210000