Open Bug 1902644 Opened 4 months ago Updated 16 days ago

Unable to read and display the COMMENT part from .ics files in Thunderbird's calendar.

Categories

(Calendar :: E-mail based Scheduling (iTIP/iMIP), enhancement)

Thunderbird 115
enhancement

Tracking

(Not tracked)

ASSIGNED

People

(Reporter: vijaylalwn, Assigned: vijaylalwn)

References

Details

Attachments

(3 files)

Attached file Attached Message Part

Steps to reproduce:

  1. Open Thunderbird.
  2. Import an .ics file that contains a COMMENT field in an event. Example .ics content:
    BEGIN:VCALENDAR
    METHOD:REPLY
    PRODID:Microsoft Exchange Server 2010
    VERSION:2.0
    BEGIN:VTIMEZONE
    TZID:GMT Standard Time
    BEGIN:STANDARD
    DTSTART:16010101T020000
    TZOFFSETFROM:+0100
    TZOFFSETTO:+0000
    RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=10
    END:STANDARD
    BEGIN:DAYLIGHT
    DTSTART:16010101T010000
    TZOFFSETFROM:+0000
    TZOFFSETTO:+0100
    RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=3
    END:DAYLIGHT
    END:VTIMEZONE
    BEGIN:VEVENT
    ATTENDEE;PARTSTAT=DECLINED;CN="xxxxxx, xxxxxx":mailto:xxxxxxx.xxx@xxxxxx.xxx
    COMMENT;LANGUAGE=en-US:I’m so sorry I have a horrible migraines let’s p
    lease reschedule to next week
    UID:040000008200E00074C5B7101A82E0080000000075D172D7486BDA01000000000000000
    0100000007A9E6F7FDB363541817F6FEEBE86AD0B
    SUMMARY;LANGUAGE=en-US:Declined: Digital ad review
    DTSTART;TZID=GMT Standard Time:20240301T150000
    DTEND;TZID=GMT Standard Time:20240301T160000
    CLASS:PUBLIC
    PRIORITY:5
    DTSTAMP:20240301T140525Z
    TRANSP:OPAQUE
    STATUS:CONFIRMED
    SEQUENCE:0
    LOCATION;LANGUAGE=en-US:Microsoft Teams Meeting
    X-MICROSOFT-CDO-APPT-SEQUENCE:0
    X-MICROSOFT-CDO-OWNERAPPTID:2122509941
    X-MICROSOFT-CDO-BUSYSTATUS:BUSY
    X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
    X-MICROSOFT-CDO-ALLDAYEVENT:FALSE
    X-MICROSOFT-CDO-IMPORTANCE:1
    X-MICROSOFT-CDO-INSTTYPE:0
    X-MICROSOFT-DONOTFORWARDMEETING:FALSE
    X-MICROSOFT-DISALLOW-COUNTER:FALSE
    X-MICROSOFT-REQUESTEDATTENDANCEMODE:DEFAULT
    X-MICROSOFT-ISRESPONSEREQUESTED:FALSE
    END:VEVENT
    END:VCALENDAR

Actual results:

The COMMENT part from the .ics file is not displayed in the event details within Thunderbird.

Expected results:

The COMMENT part from the .ics file should be read and displayed as part of the event details in Thunderbird, allowing users to see any additional comments or notes associated with the event.

I am eager to implement this change myself and contribute to the main branch, but I need some assistance. I have reviewed the guide at Thunderbird Development, but I find the codebase too complex to confidently make and test changes without potentially breaking things.

Comment is specified in rfc2445 (https://www.ietf.org/rfc/rfc2445.txt page 80) so I hope we can implement this to Thunderbird.

Flags: sec-bounty?
Component: Untriaged → E-mail based Scheduling (iTIP/iMIP)
Product: Thunderbird → Calendar
See Also: → 1709822
Flags: sec-bounty? → sec-bounty-
Flags: sec-bounty-

Hello, it's me again,

I figured out the dev mode (which is artifact build) and changed the bootstrap.py from:

bookmark = {"mozilla-unified": "bookmarks/central", "comm-unified": "bookmarks/comm"}[repo]

to release version:

bookmark = {"mozilla-unified": "bookmarks/central", "comm-unified": "bookmarks/comm-release"}[repo]

and still builds Thunderbird 131.0a1 Daily. Is there a way I can build the 128.1.0 version?

I am currently changing these files:

base/content/calendar-dnd-listener.js
base/modules/utils/calPrintUtils.sys.mjs
base/src/CalAlarmMonitor.sys.mjs
base/src/CalItemBase.sys.mjs
import-export/CalHtmlExport.sys.mjs
providers/storage/CalStorageItemModel.sys.mjs:
test/browser/invitations/head.js:
test/unit/test_recur.js:

describe description as the below in all those files:

    let description = item.getProperty("DESCRIPTION");
    const comment = item.getProperty("COMMENT");
    if (comment) {
      description = (description ? description + "\n\n" : "") + "COMMENT: " + comment;
    }

Now the comment is visible. Is there a cleaner way to do this? I would like to make the change with thunderbird guidelines and push it to the next release.

Kind Regards,
Vijay

Hey, please see https://developer.thunderbird.net/thunderbird-development/fixing-a-bug#submitting-a-patch
Don't worry about releases, everything must first land in daily, and nothing you'd need to do after that.

Probably you shouldn't tack along the comment to the description, but instead add it separately. (Though easier to see from a patch, what cases there are.)

Assignee: nobody → vijaylalwn
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true

Submitted my patch. Not sure if the reviewer is correct. Please let me know if there are any changes to be made.

Completed
(D222351) 53875:89619dd7ab16 Bug 1902644 - make ics comments visible in html of email and calendar. r=Philipp Kewisch (Fallen)
-> https://phabricator.services.mozilla.com/D222351

Hi Magnus,

I ran the code through Prettier and mach lint:

/home/vijay/tb-build/mozilla-unified/comm/calendar/base/content/widgets/calendar-item-summary.js
  0   error  This file needs formatting with Prettier (use 'mach lint --fix <path>').  prettier (eslint)

✖ 1 problem (1 error, 0 warnings, 0 fixed)

After running Prettier:

./mach commlint /home/vijay/tb-build/mozilla-unified/comm/calendar/base/content/widgets/calendar-item-summary.js
✖ 0 problems (0 errors, 0 warnings, 0 fixed)

Does this approach look correct?

Kind regards,
Vijay

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

Attachment

General

Creator:
Created:
Updated:
Size: