Closed Bug 872178 Opened 6 years ago Closed 6 years ago

UTF-8 encoding lost during ics roundtrip resulting in calendar read error (CAL_UTF8_DECODING_FAILED)

Categories

(Calendar :: ICAL.js Integration, defect, critical)

Lightning 2.5
x86_64
Windows 7
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: ssitter, Assigned: Fallen)

Details

(Keywords: dataloss, dogfood)

Attachments

(2 files)

Attached file testcase
When reading and writing a calendar file character information seems to be lost. Lightning fails to read the calendar file upon next startup. 

STR:
1. Set calendar.icaljs to true, restart Thunderbird
2. Use menu File > Open > Calendar File to subscribe to a local ics calendar file
3. Open the event that contains some special characters and just save it
4. Restart Thunderbird

Error:
Lightning fails to load the calendar file it has created in step 3.

Warning: There has been an error reading data for calendar: test. Error code: CAL_UTF8_DECODING_FAILED. Description: An error occured while decoding an iCalendar (ics) file as UTF-8. Check that the file, including symbols and accented letters, is encoded using the UTF-8 character encoding.
Attached patch Fix - v1Splinter Review
Looks like JS-only doesn't like using the string-input-stream. I've switched to an unicodeconverter stream, which seems to do the trick.
Assignee: nobody → philipp
Status: NEW → ASSIGNED
Attachment #751446 - Flags: review?(matthew.mecca)
Comment on attachment 751446 [details] [diff] [review]
Fix - v1

r=mmecca
Attachment #751446 - Flags: review?(matthew.mecca) → review+
Pushed to comm-central changeset c199fcb38e65
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → 2.6
You need to log in before you can comment on or make changes to this bug.