6.0.0-beta1
8/15/25

[#14208] Event sync with SyncML deletes all events in database
Summary Event sync with SyncML deletes all events in database
Queue Kronolith
Queue Version FRAMEWORK_5_2
Type Bug
State Resolved
Priority 2. Medium
Owners jan (at) horde (dot) org
Requester temp2 (at) ichbinweg (dot) ch
Created 12/18/2015 (3528 days ago)
Due
Updated 12/28/2015 (3518 days ago)
Assigned
Resolved 12/28/2015 (3518 days ago)
Github Issue Link
Github Pull Request
Milestone 4.2.12
Patch No

History
12/28/2015 03:23:08 PM Jan Schneider Version ⇒ FRAMEWORK_5_2
Queue ⇒ Kronolith
 
12/28/2015 03:11:57 PM Jan Schneider Assigned to Jan Schneider
State ⇒ Resolved
Milestone ⇒ 4.2.12
 
12/28/2015 03:10:36 PM Git Commit Comment #3 Reply to this comment
Changes have been made in Git (FRAMEWORK_5_2):

commit 2804ae6ff74ed75e08a6700262bac8911a785a85
Author: Jan Schneider <jan@horde.org>
Date:   Mon Dec 28 16:05:12 2015 +0100

     Skip any events that don't have a UID.

     If searching for exceptions to an event that doesn't have a UID, 
all events are returned. In combination with importing iCalendar data 
via the API this will delete *all* events if a recurring event doesn't 
have a UID.

     Bug: 14208

  kronolith/lib/Event.php |    4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)

http://github.com/horde/horde/commit/2804ae6ff74ed75e08a6700262bac8911a785a85
12/28/2015 03:06:03 PM Git Commit Comment #2 Reply to this comment
Changes have been made in Git (master):

commit 9c2c77d9c6df59e234bb9085eaaeafa992c22f80
Author: Jan Schneider <jan@horde.org>
Date:   Mon Dec 28 16:05:12 2015 +0100

     Skip any events that don't have a UID.

     If searching for exceptions to an event that doesn't have a UID, 
all events are returned. In combination with importing iCalendar data 
via the API this will delete *all* events if a recurring event doesn't 
have a UID.

     Bug: 14208

  kronolith/lib/Event.php |    4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)

http://github.com/horde/horde/commit/9c2c77d9c6df59e234bb9085eaaeafa992c22f80
12/18/2015 09:27:19 PM temp2 (at) ichbinweg (dot) ch Comment #1
Priority ⇒ 2. Medium
Type ⇒ Bug
Summary ⇒ Event sync with SyncML deletes all events in database
Queue ⇒ Synchronization
Milestone ⇒
Patch ⇒ No
State ⇒ Unconfirmed
Reply to this comment
A yearly repeating event created with Apple iCal ('Test iCal' below), 
synced to a Nokia N97 phone over Bluetooth and then on to Kronolith 
via SyncML does do ok. But a yearly repeating event created on the 
phone itself ('Test N97' below) and then synced on to Kronolith 
deletes all events in the database before being added. The sync is 
unidirectional from phone to Horde only.

Contents of /tmp/sync/data.txt:

Input received from client (text/x-vcalendar):
BEGIN:VCALENDAR
VERSION:1.0
TZ:+01
DAYLIGHT:TRUE;+02;20150329T010000Z;20151025T010000Z;;
DAYLIGHT:TRUE;+02;20160327T010000Z;20161030T010000Z;;
DAYLIGHT:TRUE;+02;20170326T010000Z;20171029T010000Z;;
DAYLIGHT:TRUE;+02;20180325T010000Z;20181028T010000Z;;
DAYLIGHT:TRUE;+02;20190331T010000Z;20191027T010000Z;;
BEGIN:VEVENT
UID;ENCODING=QUOTED-PRINTABLE;CHARSET=utf-8:18122015193538727750=C7=AF
SUMMARY:Test iCal
DTSTART:20151219T200000Z
DTEND:20151219T210000Z
X-EPOCAGENDAENTRYTYPE:APPOINTMENT
CLASS:PUBLIC
SEQUENCE:0
X-METHOD:NONE
RRULE:YM1 12 #0
LAST-MODIFIED:20151218T193538Z
PRIORITY:0
X-SYMBIAN-LUID:1478
END:VEVENT
END:VCALENDAR


Input converted for server (text/x-vcalendar):
BEGIN:VCALENDAR
VERSION:1.0
TZ:+01
DAYLIGHT:TRUE;+02;20150329T010000Z;20151025T010000Z;;
DAYLIGHT:TRUE;+02;20160327T010000Z;20161030T010000Z;;
DAYLIGHT:TRUE;+02;20170326T010000Z;20171029T010000Z;;
DAYLIGHT:TRUE;+02;20180325T010000Z;20181028T010000Z;;
DAYLIGHT:TRUE;+02;20190331T010000Z;20191027T010000Z;;
BEGIN:VEVENT
UID;ENCODING=QUOTED-PRINTABLE;CHARSET=utf-8:18122015193538727750=C7=AF
SUMMARY:Test iCal
DTSTART:20151219T200000Z
DTEND:20151219T210000Z
X-EPOCAGENDAENTRYTYPE:APPOINTMENT
CLASS:PUBLIC
SEQUENCE:0
X-METHOD:NONE
RRULE:YM1 12 #0
LAST-MODIFIED:20151218T193538Z
PRIORITY:0
X-SYMBIAN-LUID:1478
END:VEVENT
END:VCALENDAR


Input received from client (text/x-vcalendar):
BEGIN:VCALENDAR
VERSION:1.0
TZ:+01
DAYLIGHT:TRUE;+02;20150329T010000Z;20151025T010000Z;;
DAYLIGHT:TRUE;+02;20160327T010000Z;20161030T010000Z;;
DAYLIGHT:TRUE;+02;20170326T010000Z;20171029T010000Z;;
DAYLIGHT:TRUE;+02;20180325T010000Z;20181028T010000Z;;
DAYLIGHT:TRUE;+02;20190331T010000Z;20191027T010000Z;;
BEGIN:VEVENT
UID:n9CH9A7z4F7gc48Dx7Gj80
SUMMARY:Test N97
DTSTART:20151219T200000Z
DTEND:20151219T210000Z
X-EPOCAGENDAENTRYTYPE:APPOINTMENT
CLASS:PRIVATE
SEQUENCE:0
X-METHOD:NONE
RRULE:YM1 12 #0
LAST-MODIFIED:20151218T193621Z
PRIORITY:2
X-SYMBIAN-LUID:1479
END:VEVENT
END:VCALENDAR


Input converted for server (text/x-vcalendar):
BEGIN:VCALENDAR
VERSION:1.0
TZ:+01
DAYLIGHT:TRUE;+02;20150329T010000Z;20151025T010000Z;;
DAYLIGHT:TRUE;+02;20160327T010000Z;20161030T010000Z;;
DAYLIGHT:TRUE;+02;20170326T010000Z;20171029T010000Z;;
DAYLIGHT:TRUE;+02;20180325T010000Z;20181028T010000Z;;
DAYLIGHT:TRUE;+02;20190331T010000Z;20191027T010000Z;;
BEGIN:VEVENT
SUMMARY:Test N97
DTSTART:20151219T200000Z
DTEND:20151219T210000Z
X-EPOCAGENDAENTRYTYPE:APPOINTMENT
CLASS:PRIVATE
SEQUENCE:0
X-METHOD:NONE
RRULE:YM1 12 #0
LAST-MODIFIED:20151218T193621Z
PRIORITY:2
X-SYMBIAN-LUID:1479
END:VEVENT
END:VCALENDAR

Saved Queries