[Bug] Zimbra all day event shows up as two days [released]

UPDATE: Fixed as of SailfishOS 1.1.4.28. Requires that user recreates the account or clears up the calendar database to become effective (for events already synced).

Version details:

Client: Sailfish OS version 1.0.5.16

Server: Zimbra Network Edition 8.0.7

Server: EAS version 12.1 reported for Sailfish client

Case 1:

There was a similar case regarding Google here:

Since that was already fixed, here is a new bug report regarding Zimbra only. The symptoms are exactly the same; the all day events are shown not only the day they should but also the following day.

After the update 1.0.5.16 the problem stays. Recreating the activesync account did not help.

Here is an example of the all day event that shows up in both 17th and 18th of April. The event was originally exported from MS Outlook 2007 and then imported to Zimbra. The way Outlook handles all day meetings is really like that, eg. the end date is the next day. Zimbra and other clients, such as android ones, are capable of parsing the event correctly as one day event in their calendar views.

BEGIN:VCALENDAR
PRODID:Zimbra-Calendar-Provider
VERSION:2.0
METHOD:PUBLISH
BEGIN:VEVENT
UID:c582abfe-af19-45e2-98d1-cb2cc2bcaf07
SUMMARY:Kiirastorstai
DTSTART;VALUE=DATE:20140417
DTEND;VALUE=DATE:20140418
STATUS:CONFIRMED
CLASS:PUBLIC
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
X-MICROSOFT-CDO-INTENDEDSTATUS:FREE
TRANSP:TRANSPARENT
LAST-MODIFIED:20140319T151221Z
DTSTAMP:20140319T151221Z
SEQUENCE:0
END:VEVENT
END:VCALENDAR


Case 2:

This second case is linked to behavior in case 1. Here is an all day calendar marking created on Sailfish client, and then updated to Zimbra through activesync.

BEGIN:VCALENDAR
PRODID:Zimbra-Calendar-Provider
VERSION:2.0
METHOD:PUBLISH
BEGIN:VEVENT
SUMMARY:Allday event
PRIORITY:0
ORGANIZER;CN=xxx@yyy.fi:mailto:xxx@yyy.fi
DTSTART;VALUE=DATE:20140416
DTEND;VALUE=DATE:20140416
STATUS:CONFIRMED
CLASS:PUBLIC
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
X-MICROSOFT-CDO-INTENDEDSTATUS:FREE
TRANSP:OPAQUE
LAST-MODIFIED:20140414T082256Z
DTSTAMP:20140414T082256Z
SEQUENCE:0
END:VEVENT
END:VCALENDAR


The event was originally created on Sailfish client for 17 Apr as an all day event. However at the time it reached Zimbra, both start and end time was shown as 16 Apr. Possibly it marked so in Sailfish client internally. Checking that would require export function in Sailfish client, or means to check it straight from the calendar database.

Case 3:

In addition to case 2, Zimbra Web client does not like the start and end date being the same (16 Apr). The event is drawn as a corrupted event in 14 Apr (date taken from the creation timestamp of the event). Opening up the event in the Web client shows starting date 16 Apr, and ending date 15 Apr.

This error is most likely problem in the Zimbra end when it fails at doing any better failback in the situation.

Update: Added other examples of failing all day event handling.

edit retag reopen delete

The question has been closed for the following reason "released in a software update"by Manatus close date 2015-04-18 16:19:12.237774

I've noticed also the Goolge calendar "all day events" bleed over several days. Previously I noticed this problem with birthdays (data from contacts). I don't know if Google calendar had this problem earlier. Maybe it appeared after changing the clocks to summer time?

( 2014-04-14 10:46:37 +0300 )edit

It is possible. With Google calendar it was supposed to be fixed in 1.0.5.16 (see the link in case 1).

( 2014-04-14 12:00:19 +0300 )edit

This happens also with other calendars than google (specifically radicale server + syncevolution).

( 2014-04-14 12:22:17 +0300 )edit

Confirmed with Microsoft Exchange calendars as well. All-day events reliably get an extra 23h(!) duration.

( 2014-06-21 19:56:55 +0300 )edit

Confirmed with Microsoft Exchange (Version 1.1.0.39). I think according to the iCalender standart DTEND should be the end of the Event, which is the begeinning of the next day. For example: DTSTART;VALUE=DATE:20141108DTEND;VALUE=DATE:20141109 So the Event would last from 8.11.2014 at 00:00 to 9.11.2014 at 00:00. That means 24 houres. As Sailfish exports it by now, the Events have no Duration and Imorting adds 24 houres.

( 2014-11-03 10:17:48 +0300 )edit