Closed Bug 315719 Opened 14 years ago Closed 14 years ago

Events with neither DTEND nor DURATION handled incorrectly (end date is default value 01-Jan-1970)

Categories

(Calendar :: Internal Components, defect)

x86
Windows XP
defect
Not set

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: jim0--reg, Assigned: shaver)

References

Details

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; de-DE; rv:1.7.12) Gecko/20050919 Firefox/1.0.7
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9a1) Gecko/20051104 Mozilla Sunbird/0.3a1

the austrian holiday file has no DTEND-Tags in the events, therefore sunbird fills in "31.12.1969" (austrian date format dd.mm.yyyy) as enddate. Sunbird then shows the event which should last only one day several more days until the end of the week.

Reproducible: Always

Steps to Reproduce:
1. import http://www.mozilla.org/projects/calendar/caldata/AustrianHolidays.ics
2. look for a holiday (e.g. 26th of october)
3.

Actual Results:  
the holiday is shown for several days until the end of the week

Expected Results:  
the holiday should be shown only for one day
From the example:
    BEGIN:VEVENT
    UID
     :916990651
    SUMMARY
     :Nationalfeiertag
    CLASS
     :PUBLIC
    X-MOZILLA-RECUR-DEFAULT-UNITS
     :years
    RRULE
     :FREQ=YEARLY;INTERVAL=1;BYMONTH=10
    DTSTART
     ;VALUE=DATE
     :20021026
    DTSTAMP
     :20021113T091639Z
    END:VEVENT

Neither DTEND nor DURATION is defined in VEVENT. So it is not a duplicate of bug  310221 as I thought first.

What does RFC 2445 says about that?
(In reply to comment #1)
> Neither DTEND nor DURATION is defined in VEVENT. So it is not a duplicate of
> bug  310221 as I thought first.
> 
> What does RFC 2445 says about that?
> 

"For cases where a "VEVENT" calendar component specifies a "DTSTART"
   property with a DATE data type but no "DTEND" property, the events
   non-inclusive end is the end of the calendar date specified by the
   "DTSTART" property."

It's an all-day event lasting 1 day.
(In reply to comment #0)
> Actual Results:  
> the holiday is shown for several days until the end of the week

To be more specific: If the event is visible on the current week/multiweek/month view, the event is shown on all remaining days.

I can confirm this with Sunbird but not with Lightning. In Lightnings month view the event is displayed only at one day (as expected).

But if I try to edit this event via double click no Edit Event dialog shows up and Thunderbird is not responding any more.

I think this is not an issue of the (obsolete) Sunbird views. This might be a provider issue, depending on the anwser for my question from comment #1.
(In reply to comment #2)
> "For cases where a "VEVENT" calendar component specifies a "DTSTART"
>    property with a DATE data type but no "DTEND" property, the events
>    non-inclusive end is the end of the calendar date specified by the
>    "DTSTART" property."
> 
> It's an all-day event lasting 1 day.

Error also applies to non all-day events:

    For cases where a "VEVENT" calendar component
    specifies a "DTSTART" property with a DATE-TIME data type but no
    "DTEND" property, the event ends on the same calendar date and time
    of day specified by the "DTSTART" property.

Confirmed with Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9a1) Gecko/20051117 Mozilla Sunbird/0.3a1+.

Changing title from "remote ical-files which don't have an end-date are given default end-date" to "Events without DTEND and DURATION handled incorrect (end date is default value 01-Jan-1970)".
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: remote ical-files which don't have an end-date are given default end-date → Events without DTEND and DURATION handled incorrect (end date is default value 01-Jan-1970)
Version: unspecified → Trunk
Summary: Events without DTEND and DURATION handled incorrect (end date is default value 01-Jan-1970) → Events with neither DTEND nor DURATION handled incorrectly (end date is default value 01-Jan-1970)
Attached patch patchSplinter Review
Set endDate according to the rfc specs mentioned above.
Attachment #206006 - Flags: first-review?(mvl)
Comment on attachment 206006 [details] [diff] [review]
patch

r=mvl, but you should file a bug on the minor dataloss issue where dtend gets added on serialization. (or maybe it's datachange, not really dataloss)
Attachment #206006 - Flags: first-review?(mvl) → first-review+
patch checked in.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
(In reply to comment #6)
> r=mvl, but you should file a bug on the minor dataloss issue where dtend gets
> added on serialization. (or maybe it's datachange, not really dataloss)

Filed Bug 320456.
*** Bug 320417 has been marked as a duplicate of this bug. ***
*** Bug 331692 has been marked as a duplicate of this bug. ***
(In reply to comment #1)
> Neither DTEND nor DURATION is defined in VEVENT. So it is not a duplicate of
> bug  310221 as I thought first.
> 
> What does RFC 2445 says about that?

4.8.2.4 Date/Time Start Property  Name: DTSTART  ...

   Description: Within the "VEVENT" calendar component, this property
   defines the start date and time for the event. The property is
   REQUIRED in "VEVENT" calendar components. Events can have a start
   date/time but no end date/time. In that case, the event does not take
   up any time. 

You need to log in before you can comment on or make changes to this bug.