View Issue Details

IDProjectCategoryView StatusLast Update
0004945SOGoBackend Generalpublic2020-01-28 14:01
Reporterrswick Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
Platformvarious 
Product Version4.3.0 
Summary0004945: Excluded dates should be deleted when the start date of a recurring event is changed
Description

When the start date of a recurring event is changed through the Web interface the current behavior is that the dates of any excluded events are shifted. We believe this is inappropriate, as:

a. we are unable to think of a situation where assuming excluded dates should also shift is appropriate (e.g. weekend exclusions)
b. we have found no interface to view and un-exclude previously excluded dates (other than the raw icalendar source)
c. the iOS calendar client (at least) does not exhibit this behavior; all exclusions are deleted when a recurring event is shifted

Steps To Reproduce

Using the Web interface:

  1. create a recurring calendar event starting (e.g.) Wednesday 1 April, repeating daily, ending on Tuesday, 7 April.
  2. select (e.g.) the Friday, 3 April occurrence and delete only that occurrence
  3. select the first (1 April) occurrence, Edit All Occurrences, change the start date to 2 April, save
  4. observe that the Web view now shows an occurrence on Friday, 3 April and no occurrence on Saturday, 4 April

Using iOS/Calendar app:

  1. select and edit the 2 April event, changing the start date to 3 April, and "Save for future events"

  2. (iOS/Calendar app fails to display the no-longer-excluded Saturday occurrence until a refresh)

  3. Refreshing the Web calendar will show no exclusions.

The raw source as shown by the Web interface after each step is:
(I used an all-day event for simplicity but this occurs with any recurring event)

Step 1:
BEGIN:VCALENDAR
PRODID:-//Inverse inc./SOGo 4.3.0//EN
VERSION:2.0
BEGIN:VEVENT
UID:54C7-5E303800-F-6862B400
SUMMARY:recurring with exclusion
CLASS:PUBLIC
X-SOGO-SEND-APPOINTMENT-NOTIFICATIONS:NO
RRULE:FREQ=DAILY;UNTIL=20200408T000000Z
TRANSP:OPAQUE
DTSTART;VALUE=DATE:20200401
DTEND;VALUE=DATE:20200402
CREATED:20200128T133455Z
DTSTAMP:20200128T133455Z
LAST-MODIFIED:20200128T133455Z
END:VEVENT
END:VCALENDAR

Step 2:
BEGIN:VCALENDAR
PRODID:-//Inverse inc./SOGo 4.3.0//EN
VERSION:2.0
BEGIN:VEVENT
UID:54C7-5E303800-F-6862B400
SUMMARY:recurring with exclusion
CLASS:PUBLIC
X-SOGO-SEND-APPOINTMENT-NOTIFICATIONS:NO
RRULE:FREQ=DAILY;UNTIL=20200408T000000Z
TRANSP:OPAQUE
DTSTART;VALUE=DATE:20200401
DTEND;VALUE=DATE:20200402
CREATED:20200128T133455Z
DTSTAMP:20200128T133455Z
LAST-MODIFIED:20200128T133455Z
EXDATE;VALUE=DATE:20200403
SEQUENCE:1
END:VEVENT
END:VCALENDAR

Step 3:
BEGIN:VCALENDAR
PRODID:-//Inverse inc./SOGo 4.3.0//EN
VERSION:2.0
BEGIN:VEVENT
UID:54C7-5E303800-F-6862B400
SUMMARY:recurring with exclusion
CLASS:PUBLIC
X-SOGO-SEND-APPOINTMENT-NOTIFICATIONS:NO
TRANSP:OPAQUE
DTSTART;VALUE=DATE:20200402
DTEND;VALUE=DATE:20200403
CREATED:20200128T133455Z
DTSTAMP:20200128T133455Z
LAST-MODIFIED:20200128T133830Z
SEQUENCE:2
RRULE:FREQ=DAILY;UNTIL=20200408T000000Z
EXDATE;VALUE=DATE:20200404
END:VEVENT
END:VCALENDAR

Step 5:
BEGIN:VCALENDAR
PRODID:-//Apple Inc.//iOS 13.3//EN
VERSION:2.0
CALSCALE:GREGORIAN
BEGIN:VEVENT
CLASS:PUBLIC
CREATED:20200128T133455Z
DTEND;VALUE=DATE:20200404
DTSTAMP:20200128T134255Z
DTSTART;VALUE=DATE:20200403
LAST-MODIFIED:20200128T134254Z
RRULE:FREQ=DAILY;UNTIL=20200408
SEQUENCE:3
SUMMARY:recurring with exclusion
TRANSP:OPAQUE
UID:54C7-5E303800-F-6862B400
X-SOGO-SEND-APPOINTMENT-NOTIFICATIONS:NO
END:VEVENT
END:VCALENDAR

Additional Information

We interpret this as a backend issue as we've observed that the Web interface communicates via JSON objects and apparently the backend does a merge rather than a replace.

TagsNo tags attached.

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2020-01-28 14:01 rswick New Issue