Closed Bug 369263 Opened 19 years ago Closed 19 years ago

Need better error message when timezone definition is incorrect in ICS file

Categories

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

x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 370079

People

(Reporter: ktneely, Unassigned)

Details

Attachments

(1 file)

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20060212 Mozilla Sunbird/0.3a1+ In Sunbird 0.3 when I try to open up an .ics file generated by 30boxes.com, Sunbird spits out ~400 errors (likely the number of events I have in my calendar) with the following: Error Number: 0x80004005 Description: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [calIIcalComponent.startTime]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: file:///C:/apps/sunbird/components/calItemBase.js :: anonymous :: line 453" data: no] Here is an example event from the ICS file: BEGIN:VEVENT SUMMARY:Refrigerator Repair DESCRIPTION: LOCATION: DTSTART;TZID=US/Eastern:20061213T100000 DTEND;TZID=US/Eastern:20061213T120000 DTSTAMP:20070203T132729 UID:X-30Boxes-1344970 URL:http://30boxes.com/index.php?action=highlightDate&date=2006-12-13 END:VEVENT This does not occur in Sunbird 0.2 or in older Lightning builds (Mozilla Calendar 0.2.0.2006011612-cal Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.9) Gecko/20061207 Thunderbird/1.5.0.9) Reproducible: Always Steps to Reproduce: 1. Create a calendar with events on 30boxes.com 2. Download the calendar to an ics file on your local computer. 3. Choose File>Open Calendar in Sunbird 4. Select the downloaded ics file as the calendar to open. Actual Results: Over 400 error popups with the error message from above. Expected Results: Should show the events from the calendar.
There is a discussion regarding this problem on the 30boxes forums: http://30boxes.com/forum/viewtopic.php?p=8576#8576
This error most often occurs when a client writing the ICS fails to define a proper timezone for their events. (Hence the startTime is invalid, which is why you get the error referencing it.) Please check the ics file to make sure that it contains a VTIMEZONE component corresponding to US/Eastern. (NOTE: A VTIMEZONE for "US/Eastern" with quotes is not valid, but is a common mistake.) If possible, attaching the whole ics file to this bug would help with debugging.
I'm not comfortable with attaching the entire ics file, but I am attaching the beginning and end segments. Everything in between appears to be similarly-formatted entries, as they were all generated by the 30boxes.com service. I hope this is sufficient. I tested it with the version of Sunbird above, and it produced the same errors (and only 4 of them, rather than 400!)
I don't see a VTIMEZONE section in that file. Is there one in the full file that you didn't want to edit? If so, please paste that in also so we can check it. If there's not a VTIMEZONE section, then the 30boxes ICS is invalid, as it's referencing a timezone, but not defining it.
I checked my ics file downloaded from 30boxes, and there is not a VTIMEZONE section in the file, so I suppose this is something that 30boxes is not placing in the ics files it creates. I guess this is something that changed from 0.2 to 0.3? Does Sunbird need to be so strict as to give an error message for each entry and not display the entries at all? The older versions seemed to work without this strict checking of the ics file.
Yes, being more strict is good. Sunbird now actually looks at the timezones of the events, so it needs to know the details of the timezones. But there is one thing clear to me: the error message really must be improved. It might actually tell the user what is wrong, instead of just an obscure error code.
I just hit this as well doing some testing of whether I want to switch from spongecell to 30boxes. I'll follow up with them (as it looks like the originator has done in the 30boxes forum thread) as I agree conformance to ICS is definitely the right answer. However, as a side note (and maybe a separate bug?) I think the error reporting in this case is fairly severe (an error popup for each entry in ICS..and some don't paint properly, possibly due to the large # of them?) and if possible for usability should be collapsed to a single error window with multiple errors listed? Looking for feedback on whether that should be reported as a separate issue as without looking at the code for that area, I have no idea if this has anything to do specifically with ICS retrieval (either subscription or file->open) or just with error path reporting in general.
Whiteboard: [qa discussion needed]
We are changing this bug to reflect our need for a better error handling strategy in the event that an ICS calendar does not contain a valid Timezone Definition. We've kept it in this same bug so that we don't lose the good discussion already present in this thread. Since this has been acknowledged by several people, I'm also moving to CONFIRMED status.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: Error Code when opening local ICS file generated by 30boxes.com → Need better error message when timezone definition is incorrect in ICS file
Whiteboard: [qa discussion needed]
Actually, there is a bug for that. My bad.
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: