6.0.0-alpha12
6/9/25

[#13898] Repeated calendar entrances disapeare after one CalDAV modificationon
Summary Repeated calendar entrances disapeare after one CalDAV modificationon
Queue Kronolith
Queue Version 4.2.5
Type Bug
State Resolved
Priority 2. Medium
Owners jan (at) horde (dot) org, mrubinsk (at) horde (dot) org
Requester jordi.collado (at) upcnet (dot) es
Created 03/04/2015 (3750 days ago)
Due
Updated 03/24/2015 (3730 days ago)
Assigned 03/13/2015 (3741 days ago)
Resolved 03/19/2015 (3735 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch No

History
03/24/2015 03:15:36 PM jordi (dot) collado (at) upcnet (dot) es Comment #14 Reply to this comment
The problem we have found is that when you read the invitation mail 
from an IMAP client (Thunderbird, Android Mail app?) you don?t have 
the option to accept and update your calendar.

You can only accept or reject the invitation but, in order to update 
your calendar, you must import manually the ics file attached to the 
mail.

By doing so, the event is imported as if it was a new one, so you end 
up with a duplicate entry.
03/23/2015 02:29:17 PM Git Commit Comment #13 Reply to this comment
Changes have been made in Git (master):

commit 0abc25c003cfa082bc352411ed6f4d919f06032e
Author: Jan Schneider <jan@horde.org>
Date:   Mon Mar 23 15:25:04 2015 +0100

     Fix variable name (Bug #13898).

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

http://github.com/horde/horde/commit/0abc25c003cfa082bc352411ed6f4d919f06032e
03/23/2015 02:08:15 PM miguel (dot) a (dot) saiz (at) upcnet (dot) es Comment #12 Reply to this comment
After upgrade kronolith module to 4.3.0-git, we can't accept an 
recurrent event.

Actions:

1) Create a new recurrent event with assitents.
2) Assitent try to accept the new event on IMP module (version 6.2.7).
3) We get next error


          (s.perm_default & 8 > 0) OR ( u.user_uid = 'usuari.ana' AND (u.perm &
          8 > 0)) ORDER BY s.attribute_name ASC [pid 45068 on line 208 of 
"/usr/share/php/Horde/Db/Adapter/Pdo/Base.php"]
2015-03-23T12:44:00+01:00 DEBUG: HORDE [kronolith] SQL  (0,0002s)
        SELECT share_id, user_uid, perm FROM kronolith_shares_users WHERE
          share_id IN (63) [pid 45068 on line 208 of 
"/usr/share/php/Horde/Db/Adapter/Pdo/Base.php"]
2015-03-23T12:44:00+01:00 WARN: HORDE [kronolith] PHP ERROR: Argument 
1 passed to Kronolith_Icalendar_Handler_Base::__construct() must be an 
instance of Horde_Icalendar, null given, called in 
/var/www/horde/kronolith/lib/Api.php on line 811 and defined [pid 
45068 on line 50 of 
"/var/www/horde/kronolith/lib/Icalendar/Handler/Base.php"]
2015-03-23T12:44:00+01:00 DEBUG: HORDE  1. 
Horde_Core_Ajax_Application->doAction() 
/var/www/horde/services/ajax.php:61
  2. call_user_func() /usr/share/php/Horde/Core/Ajax/Application.php:175
  3. Horde_Core_Ajax_Application_Handler_Imple->imple()
  4. Horde_Core_Ajax_Imple->handle() 
/usr/share/php/Horde/Core/Ajax/Application/Handler/Imple.php:31
  5. IMP_Ajax_Imple_ItipRequest->_handle() 
/usr/share/php/Horde/Core/Ajax/Imple.php:120
  6. IMP_Ajax_Imple_ItipRequest->_handlevEvent() 
/var/www/horde/imp/lib/Ajax/Imple/ItipRequest.php:145
  7. Horde_Registry->call() 
/var/www/horde/imp/lib/Ajax/Imple/ItipRequest.php:429
  8. Horde_Registry->callByPackage() /usr/share/php/Horde/Registry.php:1083
  9. call_user_func_array() /usr/share/php/Horde/Registry.php:1126
10. Kronolith_Api->import()
11. Kronolith_Icalendar_Handler_Base->__construct() 
/var/www/horde/kronolith/lib/Api.php:811
12. Horde_ErrorHandler::errorHandler() 
/var/www/horde/kronolith/lib/Icalendar/Handler/Base.php:50

2015-03-23T12:44:00+01:00 EMERG: HORDE [kronolith] Call to a member 
function getComponents() on a non-object [pid 45068 on line 76 of 
"/var/www/horde/kronolith/lib/Icalendar/Handler/Base.php"]
2015-03-23T12:44:00+01:00 DEBUG: HORDE 1. 
Horde_ErrorHandler::catchFatalError()

We try upgrade IMP and all horde modules, but then we get an other 
error when we access to read inbox.

2015-03-23T15:01:38+01:00 EMERG: HORDE [imp] Call to undefined method 
Horde_Mime_Part::partIterator() [pid 57235 on line 71 of 
"/var/www/horde/imp/lib/Flag/System/Attachment.php"]
2015-03-23T15:01:38+01:00 DEBUG: HORDE 1. 
Horde_ErrorHandler::catchFatalError()

Any idea?

Best regards.
03/20/2015 01:23:52 PM Jan Schneider Comment #11 Reply to this comment
Although it works pretty well, we have detected that under IOS if 
you modify the day of a recurrent event for all the instances, it 
doesn't work properly. Only one event is modified not the followings.
This is a problem with the iOS user interface. If you change the day 
for future events but don't change the recurrence setting which are 
hidden a few dialogs deeper, only the edited day will change. Say you 
have a recurring event on Tuesday, and change it to be on Wednesday 
from a certain date, only this date will change, because the 
recurrence rule still is set to Tuesday. If you change the rule to be 
on Wednesday too, all is working as expected.
03/20/2015 12:08:17 PM jordi (dot) collado (at) upcnet (dot) es Comment #10 Reply to this comment
We are testing the patch and it seems to work much better now. We will 
continue testing.

Although it works pretty well, we have detected that under IOS if you 
modify the day of a recurrent event for all the instances, it doesn't 
work properly. Only one event is modified not the followings.

03/19/2015 02:57:34 PM Git Commit Comment #9 Reply to this comment
Changes have been made in Git (FRAMEWORK_5_2):

commit 284d73a27a26e9edb31fe14888a9c233d0efcc04
Author: Michael J Rubinsky <mrubinsk@horde.org>
Date:   Wed Mar 18 00:07:10 2015 -0400

     Start refactoring handling of exceptions/recurrence during save.

     This commit extracts commons iCal related code and wraps dav 
specific logic.
     (Hopefully) fixes Bug: 13898 and Bug: 13815.

     Still need to refactor other places we deal with exceptions.

     Conflicts:
             kronolith/package.xml

  kronolith/lib/Application.php |   60 
+++--------------------------------------
  kronolith/lib/Event.php       |   14 ---------
  kronolith/package.xml         |   10 ++++++-
  3 files changed, 13 insertions(+), 71 deletions(-)

http://github.com/horde/horde/commit/284d73a27a26e9edb31fe14888a9c233d0efcc04
03/19/2015 02:29:16 PM Jan Schneider Comment #8
State ⇒ Resolved
Reply to this comment
The remaining
03/18/2015 04:55:46 PM Michael Rubinsky Assigned to Michael Rubinsky
 
03/18/2015 04:50:34 AM Git Commit Comment #7 Reply to this comment
Changes have been made in Git (master):

commit dbc46bc90b2c4cd4f1a1efc3a65756fe3012f7d3
Author: Michael J Rubinsky <mrubinsk@horde.org>
Date:   Wed Mar 18 00:07:10 2015 -0400

     Start refactoring handling of exceptions/recurrence during save.

     This commit extracts commons iCal related code and wraps dav 
specific logic.
     (Hopefully) fixes Bug: 13898 and Bug: 13815.

     Still need to refactor other places we deal with exceptions.

  kronolith/lib/Application.php |   60 
+++--------------------------------------
  kronolith/lib/Event.php       |   14 ---------
  kronolith/package.xml         |   14 ++++++++-
  3 files changed, 16 insertions(+), 72 deletions(-)

http://github.com/horde/horde/commit/dbc46bc90b2c4cd4f1a1efc3a65756fe3012f7d3
03/13/2015 05:33:17 PM Jan Schneider State ⇒ Assigned
Assigned to Jan Schneider
 
03/13/2015 10:56:09 AM jordi (dot) collado (at) upcnet (dot) es Comment #6 Reply to this comment

[Show Quoted Text - 13 lines]
We have just discovered that if we move the second instance via WebDAV 
instead of CalDAV with thunderbird, it works fine. So the problem 
seems to be via CalDAV.

03/12/2015 02:29:29 PM jordi (dot) collado (at) upcnet (dot) es Comment #5 Reply to this comment
Maybe related to bug #13815
It's a similar issue but not the same. We don't need to create an 
exception to show duplicate or disappear the event.

Example of disappear with thunderbird.

1.- Connect your calendar with Thunderbird using CalDAV or WebDAV
2.- Create an event with 3 times repeating or forever in server
4.-  In thunderbird , move the second instance to another  hour or day 
to make an
exception and the event disappears.


03/12/2015 01:28:30 PM VXyll9598 (at) cuvox (dot) de Comment #4 Reply to this comment
Maybe related to bug #13815
03/12/2015 12:52:19 PM jordi (dot) collado (at) upcnet (dot) es New Attachment: ProvesCalDAV.pdf Download
 
03/12/2015 12:41:10 PM jordi (dot) collado (at) upcnet (dot) es Comment #3 Reply to this comment
We have discovered that the behavior is different, it depends on the 
type of modification and if the recurring event has or not end date.

We attaches a table with our results.
03/04/2015 04:20:08 PM jordi (dot) collado (at) upcnet (dot) es Comment #2 Reply to this comment
Under android we have reproduce the problem under 4.4.2 and 4.4.4 versions.
03/04/2015 04:17:58 PM jordi (dot) collado (at) upcnet (dot) es Comment #1
Priority ⇒ 2. Medium
Type ⇒ Bug
Summary ⇒ Repeated calendar entrances disapeare after one CalDAV modificationon
Queue ⇒ Kronolith
Milestone ⇒
Patch ⇒ No
State ⇒ Unconfirmed
Reply to this comment
A modification of the start time of a single event via caldav of a 
repeated calendar entrance makes that all the repeated events are 
deleted.

This happens with iOS (8.1.3), CalDAV Android APP, thunderbird + 
lightning (the second modification in this case).

Saved Queries