Closed Bug 445764 Opened 18 years ago Closed 18 years ago

Remote Ical (Zarafa): "All day" events are created without timezone information

Categories

(Calendar :: Provider: ICS/WebDAV, defect)

x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: lars.brueckner, Unassigned)

Details

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14 Build Identifier: Thunderbird 2.0.0.14 (20080421) with Lightning Nightly 16-JUL-2008 Hello, we noticed the following when using Zarafa as a remote ical server. If you create an "All day" event with Lightning and reload the calendar, the event is displayed from 02:00am until 02:00am the next day. These two hours are exactly the difference of our time zone (Europe/Berlin) and UTC. We have the same time shift when looking at the event through Zarafa's web ui. When creating an "All day" event in Zarafa's web ui, it is displayed correctly in Lightning! Reproducible: Always Steps to Reproduce: 1. Create a new remote event in Lightning: Select "All Day Event"; Save 2. Reload the remote calendar Actual Results: The event is displayed as a normal event beginning 02:00 am and lasts until 02:00 am of the next day. Expected Results: Event should be displayed as an all day event. Here is a trace of the HTTP; first the creation of the event in Lightning: PUT /ical/Lars.Brueckner/calendar HTTP/1.1 Host: 192.168.140.32:8080 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.12) Gecko/20080213 Lightning/0.8 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 ... Content-Type: text/calendar BEGIN:VCALENDAR PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN VERSION:2.0 CALSCALE:GREGORIAN BEGIN:VEVENT CREATED:20080717T131857Z LAST-MODIFIED:20080717T131912Z DTSTAMP:20080717T131857Z UID:6c321ee3-e917-46da-a810-a0dd3e522c4a SUMMARY:AllDayLightning DTSTART;VALUE=DATE:20080708 DTEND;VALUE=DATE:20080709 TRANSP:TRANSPARENT X-MOZ-SEND-INVITATIONS:TRUE END:VEVENT END:VCALENDAR HTTP/1.1 201 Created Server: Zarafa iCal Gateway 0,6,02,10238 There is no timezone information. Here is what comes back when I restart Thunderbird (Two events, one was created in the web ui): GET /ical/Lars.Brueckner/calendar HTTP/1.1 Host: calendar:8080 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.12) Gecko/20080213 Lightning/0.8 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 HTTP/1.1 200 OK Server: Zarafa iCal Gateway 0,6,02,10238 ... BEGIN:VCALENDAR PRODID :-//Connectux//Zarafa VERSION :2.0 CALSCALE :GREGORIAN BEGIN:VTIMEZONE TZID :UTC+0200 BEGIN:STANDARD TZOFFSETFROM :+020000 TZOFFSETTO :+020000 TZNAME : DTSTART :19700101T000000Z END:STANDARD END:VTIMEZONE BEGIN:VEVENT ### AllDay created in Zarafa: an explicit timezone in DTSTART/END ORGANIZER ;CN= :MAILTO: X-LABEL :0 TRANSP :TRANSPARENT X-BUSYSTATUS :0 CREATED :20080717T124426Z DTSTAMP :20080717T124550Z DTSTART ;TZID=UTC+0200 :20080707T000000 DTEND ;TZID=UTC+0200 :20080708T000000 SUMMARY :AllDayZarafa CLASS :PUBLIC UID :RZJwfFpW60R6BrHJPG1uJ2BgGpbvxjkQxWrRqejgBEJUpkNBtOhrb1r1bZes7PLH END:VEVENT BEGIN:VEVENT ### All Day Lightning: No timezone in DTSTART/END, so calendar default is applied ORGANIZER ;CN= :MAILTO: CREATED :20080717T124122Z DTSTAMP :20080717T124146Z DTSTART :20080708T000000Z DTEND :20080709T000000Z SUMMARY :AllDayLightning CLASS :PUBLIC UID :6c321ee3-e917-46da-a810-a0dd3e522c4a END:VEVENT END:VCALENDAR There are no problems when creating events with explicit start and end times, e.g. from 00:00 to 23:59. For these events, time zone information is added by Lightning during the HTTP PUT: ... BEGIN:VTIMEZONE TZID:Europe/Berlin X-LIC-LOCATION:Europe/Berlin BEGIN:DAYLIGHT TZOFFSETFROM:+0100 TZOFFSETTO:+0200 TZNAME:CEST ... I hope this can be fixed without too much effort. Best regards, Lars
The revised RFC 2445bis [1] clarifies that "The "TZID" property parameter MUST NOT be applied to DATE properties, and DATE-TIME or TIME properties whose time values are specified in UTC." Thus all-day items must not be tied to a timezone. I think it's a Zafara bug that it falsifies the passed (valid) data. [1] <http://tools.ietf.org/rfcmarkup?doc=draft-ietf-calsify-rfc2445bis-07#section-3.2.18)>
Status: UNCONFIRMED → RESOLVED
Closed: 18 years ago
Resolution: --- → INVALID
Hello, as I read the above logs, Zarafa does not change the data. Both the Zarafa web ui and Lightning display the all day event in UTC (which means +2 hours for my local time). But shouldn't the original all day event be created in _my_ local timezone Europe/Berlin, and not in UTC? BEGIN:VCALENDAR .. CALSCALE:GREGORIAN BEGIN:VEVENT ... UID:6c321ee3-e917-46da-a810-a0dd3e522c4a SUMMARY:AllDayLightning DTSTART;VALUE=DATE:20080708 DTEND;VALUE=DATE:20080709 ... If not, how can any calendar server work correctly if it has users that live in different time zones? Best regards, Lars
Status: RESOLVED → UNCONFIRMED
Resolution: INVALID → ---
(In reply to comment #2) > But shouldn't the original all day event be created in _my_ local timezone > Europe/Berlin, and not in UTC? That's true for events with a time, but not for all-day events, because July 18 is everywhere the same. If you want to have an event that lasts e.g. 24 hours beginning at midnight in one timezone, and should be shown shifted in another timezone, you have to create it with a time starting at 0:00 and ending after 24 hours.
(In reply to comment #2) > Hello, > > as I read the above logs, Zarafa does not change the data. Both the Zarafa web > ui and Lightning display the all day event in UTC (which means +2 hours for my > local time). Lightning PUTs: DTSTART;VALUE=DATE:20080708 DTEND;VALUE=DATE:20080709 and GETs from Zafara: DTSTART :20080708T000000Z DTEND :20080709T000000Z thus Zafara falsifies the DATE values to a UTC DATE-TIME (dataloss). > But shouldn't the original all day event be created in _my_ local timezone > Europe/Berlin, and not in UTC? All-day events (as Martin pointed out, too), are lasting a whole day regardless of the timezone; imagine e.g. new years eve is on the same day all over the world, regardless of the timezone. That way all-day DATEs *don't specify a point in time*. > If not, how can any calendar server work correctly if it has users that live in > different time zones? If you want to specify all-day events bound to a specific timezone, you need to use DATE-TIMEs, e.g. 00:00-24:00 (Europe/Paris).
Status: UNCONFIRMED → RESOLVED
Closed: 18 years ago → 18 years ago
Resolution: --- → INVALID
All right. Thanks for the explanation! Best regards, Lars
You need to log in before you can comment on or make changes to this bug.