Last Comment Bug 713380 - Outlook invitation no longer presented as attachment (text/calender in multipart/alternative is not presented as attachment by Lightning after Tb 8)
: Outlook invitation no longer presented as attachment (text/calender in multip...
Status: RESOLVED FIXED
: regression
Product: Thunderbird
Classification: Client Software
Component: Message Reader UI (show other bugs)
: 8 Branch
: All All
: -- major (vote)
: Thunderbird 12.0
Assigned To: Stefan Sitter
:
:
Mentors:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-12-24 09:32 PST by Joel
Modified: 2014-11-18 02:18 PST (History)
11 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
fixed
fixed


Attachments
lm1.eml (3.62 KB, text/plain)
2011-12-24 09:32 PST, Joel
no flags Details
fix typo in msgHdrViewOverlay.js (732 bytes, patch)
2012-01-04 10:47 PST, Stefan Sitter
standard8: review+
standard8: approval‑comm‑aurora+
Details | Diff | Splinter Review

Description Joel 2011-12-24 09:32:02 PST
Created attachment 584207 [details]
lm1.eml

User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0.1) Gecko/20100101 Firefox/8.0.1
Build ID: 20111120135848

Steps to reproduce:

Send (receive) a meeting request from outlook/exchange to thunderbird with lightning


Actual results:

Lightning correctly interprets the invitation event for itself and displays the event in the message pane.  Since thunderbird 8 / lightning 1.0 (including thunderbird 9 / lightning 1.1) no .ics attachment is shown for the message.


Expected results:

Before Thunderbird 8 / Lightning 1.0 it would also present the invitation as an ics attachment despite the fact that outlook/exchange sends it not as an attachment but as a text/calendar part of a multipart alternative message.

The old (correct) behavior allows a user to use outlook/eachange for calendar operations while using thunderbird for email.
Comment 1 Joel 2011-12-24 09:51:23 PST
This worked in Thunderbird 7.0.1/Lightning 1.0b7 and can be tested by opening the attached .eml file
Comment 2 Philipp Kewisch [:Fallen] 2011-12-27 03:24:25 PST
Do you get any error console messages?
Comment 3 Joel 2012-01-03 12:38:31 PST
(In reply to Philipp Kewisch [:Fallen] from comment #2)
> Do you get any error console messages?

no
Comment 4 Joel 2012-01-04 09:53:06 PST
(In reply to Joel from comment #3)
> (In reply to Philipp Kewisch [:Fallen] from comment #2)
> > Do you get any error console messages?
> 
> no

Or rather nothing when I actually get an email but there is an error when I open a .eml file of the same message:
Property is not defined
chrome://meddenger/content/msgHdrViewOverlay.js Line: 2512

Which points at this function:
getStringProperty : function(aProperty) {
    if (aProperty in this.mProperties)
      return this.mProperties[property];
    return "";
  }

To my eye it looks like property ought to be aProperty and looking at the same function from 7.0.1 I see that this was the case:
  getStringProperty : function(aProperty) {
    return this.mProperties[aProperty];
  }

so maybe it is an easy fix
Comment 5 Stefan Sitter 2012-01-04 10:19:51 PST
Hi, you can right click an error message and copy+paste its content instead of typing it.

msgHdrViewOverlay.js belongs to Thunderbird. Reading the code it seems to be a simple typo:
http://mxr.mozilla.org/comm-central/source/mail/base/content/msgHdrViewOverlay.js#2526
Comment 6 Stefan Sitter 2012-01-04 10:47:25 PST
Created attachment 585814 [details] [diff] [review]
fix typo in msgHdrViewOverlay.js

This patch fiyes the typo reported above. Don't know if it actually fixes the reported problem.
Comment 7 Mark Banner (:standard8, limited time in Dec) 2012-01-13 05:57:24 PST
Comment on attachment 585814 [details] [diff] [review]
fix typo in msgHdrViewOverlay.js

Yeah obvious typo so r=Standard8. Like you say, I'm not sure this will fix the issue.
Comment 8 WADA 2012-01-14 02:46:25 PST
(In reply to Joel from comment #0)
> lm1.eml

Mail structure.
Three parts, text/plain, text/html, text/calendar, are correctly placed in preference order(bottom is highest preference for mail sender).
> Content-Type: multipart/alternative;
>	boundary="_000_5A75494F1417E94E85D108A5F4FEF0A10672D54EITSEMBX03adsroo_"
>   --_000_5A75494F1417E94E85D108A5F4FEF0A10672D54EITSEMBX03adsroo_
>   Content-Type: text/plain; charset="utf-8"
>   --_000_5A75494F1417E94E85D108A5F4FEF0A10672D54EITSEMBX03adsroo_
>   Content-Type: text/html; charset="utf-8"
>   --_000_5A75494F1417E94E85D108A5F4FEF0A10672D54EITSEMBX03adsroo_
>   Content-Type: text/calendar; charset="utf-8"; method=REQUEST
>   --_000_5A75494F1417E94E85D108A5F4FEF0A10672D54EITSEMBX03adsroo_--

> Actual results:
> Lightning correctly interprets the invitation event for itself
> and displays the event in the message pane.

What do you mean by *correctly*?
Lightning shows only third part in multipart/alternative(highest preference) CORRECTLY?

> Since thunderbird 8 / lightning 1.0 (including thunderbird 9 / lightning 1.1)
> no .ics attachment is shown for the message.

Which part in multipart/alternative do you call ".ics ATTACHMENT"?
ATTACHMENT can't exist in multipart/alternative as you say, because sub parts in multipart are alternatives.

> Expected results:
> Before Thunderbird 8 / Lightning 1.0 it would also present the invitation
> as an ics attachment despite the fact that outlook/exchange sends it not
> as an attachment but as a text/calendar part of a multipart alternative message.

Perhaps similar issue on multipart/alternative to bug 674473 on multipart/related.
Can mailnews.display.show_all_body_parts_menu=true and View/Mesage Body As/All Body Parts be used to show the text/calender part as expected?

After sort out/clean up of mime processing by bug 351224, non-displayed parts under multipart/related is CORRECTLY hiden according to RFC for multipart/related. So, bug 674473 has been opened.
It's perhaps applicable to multipart/alternative, and if text/plain part or text/html part under multipart/alternative is selected and shown by Tb, it may be phenomeon of "Lightning can't show the already hidden text/calendar part as if attachment".

Another possibility.
> Content-Type: text/calendar; charset="utf-8"; method=REQUEST
> Content-Transfer-Encoding: base64
It may be relevant to bug 705431, becaue name/filename is not specified for text/calendar, although I don't think "this bug is caused by that bug only" because problem reported as bug 705431 was very old problem.
Comment 9 Joel 2012-01-14 09:43:55 PST
(In reply to WADA from comment #8)
> What do you mean by *correctly*?
> Lightning shows only third part in multipart/alternative(highest preference)
> CORRECTLY?

Sort of but what I really meant was that it correctly detects / interprets the calendar at all as opposed to what priority is given to the parts

> > Since thunderbird 8 / lightning 1.0 (including thunderbird 9 / lightning 1.1)
> > no .ics attachment is shown for the message.
> 
> Which part in multipart/alternative do you call ".ics ATTACHMENT"?
> ATTACHMENT can't exist in multipart/alternative as you say, because sub
> parts in multipart are alternatives.

The text/Calendar part was never presented as an attachment in thunderbird in the absence of lightning.  Calendar parts like those outlook sends are provided an easy way out of Thunderbird messages by being made to look like .ics attachments by Lightning so I'm not forced to actually use Lightning for my calendaring, I can use Outlook and keep my office happy.  

If there is some sort of new correctness doctrine with respect to what is and is not an attachment then I submit that there ought to be a new obvious invitation to ics path for these messages or everyone in a situation like mine (must use exchange calendar) will just have to drop thunderbird.
Comment 10 WADA 2012-01-14 16:54:07 PST
External symptom is same as bug 259480(opened in 2004).
Mail structure of attached mail looks standard structure of Exchange...
(a) As Thuderbird doesn't have capability to show text/calender,
    Tb shows text/html(or text/plain when Plain Text mode).
(b) Thunderbird+Lightning shows text/calender part as if attachment.
    Does Lightning show text/calender in inline?
Problem is perhaps one of next:
- Lightning doesn't(can't) show text/calender part after change in a Tb release.
- Tb 8 doesn't show a part which is requested by Lightning in attachment pane.

> Expected results:
> Before Thunderbird 8 / Lightning 1.0 it would also present the invitation as an ics attachment(snip)

Does it mean no problem with Tb 7 + Lightning?
If so, problem may be Bug 701261 which is regression by Tb 8 over Tb 7, because issue like bug 674473 is problem started to occur from Tb 5.
Bug 701261 will be fixed by Tb 11. Is Lightning campatible with Tb 11 available? Can you check with Tb 11? 

As I stated before, it may be relevant to bug 705431.
Can you check with next for text/calender part?
> Content-Disposition: attachment; filename="abc.ics"

By the way, generic solution of mulformed multpart/alternative case is "show non-used part as if attachment in attachment pane". See bug 574989, please.
As seen in bug 259480 comment #12, mailnews.display.show_all_body_parts_menu=true and View/Mesage Body As/All Body Parts(introduced by bug 602718) is efective in your case.
  - text/plain is shown as mail body
  - text/html is shown in inline, if Display Attachments Inline=Checked.
    Because no embed image is involved in your case, html is rendred normally.
  - text/calender is shown in attachment pane, because Tb can't show it inline
  - text/plain, text/html is shown in attachment pane, to provide a way to save

As for text/calender in multipart/alternative case, I think normal bevaior is;
(c) Thunderbird+Lightning(or other add-on, plugin, ...) shows only text/calender
    part as "Calender mail".
This is concept of multipart/alternative.
Comment 11 WADA 2012-01-14 17:00:33 PST
Oh, sorry, you already stated following.
> This worked in Thunderbird 7.0.1/Lightning 1.0b7
This bug is also regression by Tb 8 over Tb 7.
Comment 12 Stefan Sitter 2012-01-16 14:19:19 PST
Comment on attachment 585814 [details] [diff] [review]
fix typo in msgHdrViewOverlay.js

Pushed to comm-central for Thunderbird 12: http://hg.mozilla.org/comm-central/rev/a9339f69c68a
Comment 13 WADA 2012-01-16 16:45:45 PST
(In reply to Stefan Sitter from comment #12)
> fix typo in msgHdrViewOverlay.js
> -      return this.mProperties[property];
> +      return this.mProperties[aProperty];

It looks that the typo was by following checkin.
> http://hg.mozilla.org/comm-central/diff/b0e37b312b54/mail/base/content/msgHdrViewOverlay.js
> http://hg.mozilla.org/comm-central/rev/b0e37b312b54
> Fri Jun 12 14:50:52 2009 -0700 (at Fri Jun 12 14:50:52 2009 -0700)
Does it explain "regression by Tb 8 over Tb 7"?
Or "bad affect of the type" was exposed by some change in Tb 8 on text/calender?
Comment 14 Mark Banner (:standard8, limited time in Dec) 2012-01-17 06:40:52 PST
This has landed, so I'm going to mark this as fixes as we've changed something. If problems persist, then please deal with this in a new bug.
Comment 16 Mark Banner (:standard8, limited time in Dec) 2012-01-17 12:03:29 PST
For Thunderbird bugs fixed on branches, we keep the milestone as the trunk version it landed in and set the appropriate status flags to fixed.
Comment 17 WADA 2012-01-19 21:43:21 PST
I did same test as bug 670976 comment #20 with same profile used in the test.
(1) trunk 20120114 build. patch of bug 713380(this bug) is not checked in yet.
> Mozilla/5.0 (Windows NT 5.1; rv:12.0a1) Gecko/20120114 Thunderbird/12.0a1
Problem of bug 670976 was reproduced.
(2) trunk 20120119 build. patch of bug 713380(this bug) is checked in on 1/17.
> Mozilla/5.0 (Windows NT 5.1; rv:12.0a1) Gecko/20120119 Thunderbird/12.0a1
Problem of bug 670976 was not reproduced.

I seems that patch for this bug resolved problem of bug 670976.

Joel(bug opener), can you reproduce your problem with nightly build(daily build)?
Comment 18 Michael Baffoni 2012-09-28 13:40:55 PDT
I'm running Tbird 17.0a2 and I still can't see .ics files as attachment, even with lightning installed (1.9a2); my only work around is the "show all attachment" addon if I know it is there.  Is this a regression?  I have a long standing bug (bug 505024) just to see the .ics without lightning, but I think this bug is for seeing it WITH lightning.  Or do I need a new lighting-specific bug to fix this?  At least with lightning I can see the HTML version of the calendar invite (nice display by the way), but I want to be able to launch the .ics into my external calendar app (meeting maker).  Thanks.
Comment 19 WADA 2012-09-28 14:21:11 PDT
(In reply to Michael Baffoni from comment #18)
> I'm running Tbird 17.0a2 and I still can't see .ics files as attachment,
> even with lightning installed (1.9a2);

Because following fields are set, 
  Tracking Flags:
    status-thunderbird10: fixed
    status-thunderbird11: fixed
  Target Milestone: Thunderbird 12.0
this bug should have been resolved by Tb 10/11/12.
Regression by 17.0a2 over Tb 10/11/12? Or not fixed by Tb 10/11/12?

Anyway, please open new bug according to comment #14.
> This has landed, so I'm going to mark this as fixes as we've changed
> something. If problems persist, then please deal with this in a new bug.
Comment 20 Michael Baffoni 2013-02-01 10:32:31 PST
Sorry, I didn't think that applied; to me if you land a change that doesn't fix the problem, why recreate the same bug with the same description and symptoms and lose all of the discussion around it?  Landing a change is not the same as landing a fix.

If it makes more sense to have all the same discussions, analysis, etc. and have a different outcome, I'm happy to do so.

However, I don't see a resolution on the correctness versus regression/usability issue, so I don't see where creating a new ticket will do any good.  If the correct behavior is to not show the "alternative" part, even though it loses user-experience value, I'm just asking for a "won't fix" and net zero gain.  If some part of this discussion that I missed is going to allow us to make something "incorrect" but usable, I would be very happy to create a ticket in support of that.

It is really unfortunate; I had hoped that the culture of thunderbird (mozilla in general?) would provide a useable tool to address most if not all of the features of Outlook that keep it entrenched in business.  It has done great things (which have been themselves copied by Outlook) however, it looks like we are getting caught up in the (bureaucratic) "standard above all", and not the customer-centric value of giving the user what they need.   I had hopes that my company could use Thunderbird (with or without lightning) to provide that single app to handle email/shared-calendar(vcal)/IM that my users clamor for, but we have about run out of time waiting for the mozilla product to mature to a point that it is a contender.  Without targeted project management to achieve specific capability in perceived critical functional areas, this won't happen in a time frame that can be counted on.

I don't expect this to change, but I hope you prove me wrong.  Thunderbird is the best email client out there, but it needs to fill more than that role to work in many evolving areas.  Integrating IM into it was a great start (something Outlook needs "lync" to do), a mature lighting (or better a mature core component rather than add-on) and mobile device sync capability would have made it possible to take on Outlook.  

Sorry for spamming the ticket with those last two paragraphs, it is just depressing.  No need to tell me take it to a forum and in doing further spam this list; I likely won't be spamming/contributing to many more tickets in the future, so consider myself proactively acknowledging those yet to be sent sparks/flames.
Comment 21 Shula Amokshim 2014-07-25 23:55:42 PDT
i pinpointed the bug to a single line

Content-Type: multipart/mixed;
vs.
Content-Type: multipart/alternative;


showing the attachment normally:   Content-Type: multipart/alternative;
shown only with "view all body parts":    Content-Type: multipart/mixed;


the email is sent from a python code, and the attachment is visible both cases on gmail webclient.

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