Open
Bug 454405
Opened 16 years ago
Updated 2 years ago
Format > Auto-Detect fails to do space-stuffing per rfc367 to preserve text content of >>> (<pre>>>></pre>), forcing unintended rendering as nested quotations (unwarranted and incorrect downconversion to text-plain;format=flowed)
Categories
(MailNews Core :: Composition, defect)
MailNews Core
Composition
Tracking
(Not tracked)
NEW
People
(Reporter: knocte, Unassigned)
References
(Blocks 1 open bug)
Details
(Keywords: dataloss, reproducible, Whiteboard: [STR comment 13][rfc3676#section-4.4][Thunderbird's most beautiful bug: Nested quotation line art, see attachment 732721])
Attachments
(4 files)
It seems thunderbird renders a super strange quotation effect when finding this text in a message line:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
For an example, subscribe to nntp://news.gmane.org/gmane.comp.gnome.mono.bugs and open the message called "[Bug 419989] Mono crashes in x86_64 SLES10 SP2 (OES2 SP1) virtualized environment - XEN" on date 09-Sep-2008.
Comment 1•14 years ago
|
||
duplicate
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → DUPLICATE
Comment 2•14 years ago
|
||
Bug 191881 is about the Rewrap command. Where is there any mention of that here?
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
Updated•12 years ago
|
Status: REOPENED → RESOLVED
Closed: 14 years ago → 12 years ago
Resolution: --- → INCOMPLETE
Reporter | ||
Comment 3•12 years ago
|
||
Reason for resolution?
Status: RESOLVED → REOPENED
Resolution: INCOMPLETE → ---
Comment 4•12 years ago
|
||
(In reply to Andrés G. Aragoneses from comment #3)
> Reason for resolution?
Incomplete - as stated when I resolved it. It's incomplete because it doesn't meet the requirements of a proper bug report, as laid out in the Bug Writing Guidelines (1) or Starter kit's "How to write a proper bug" (2).
More specifically:
- poor summary: what is "super strange quotation effect", where does it happen and how to get there?
- no steps to reproduce (lacking necessary detail - e.g. is this message reader or composition? composition also renders quotations when replying...)
- no testcase, no screenshots... (don't expect others to go through the hassle of subscribing to a newsgroup just to reproduce your little problem when a simple testcase msg added as an attachment to this bug would suffice)
The net result of such an incomplete report is that it nobody will understand it, hence it is not actionable. That's why there has been basically no activity on this bug since 2008.
Fwiw, with some guesswork and goodwill, I was able to reproduce the bug and admittedly "super strange quotation effect" is pretty good description of that beautiful piece of "line art" (in its most literal sense) seen when message reader renders the sequence of closing angle brackets presented in comment 0:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
in a msg of this type:
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
(1) https://developer.mozilla.org/en-US/docs/Mozilla/QA/Bug_writing_guidelines?redirectlocale=en-US&redirectslug=Bug_writing_guidelines#Writing_precise_steps_to_reproduce
(2) https://quality.mozilla.org/docs/bugzilla/starter-kit/how-to-write-a-proper-bug/
Updated•12 years ago
|
Severity: normal → minor
Updated•12 years ago
|
OS: Linux → All
Hardware: x86 → All
Comment 5•12 years ago
|
||
We also need to explain why this is a bug, for which you need to add "Actual result" and "Expected result". As a preliminary note, I agree that this is a bug because when composing in rich text mode (HTML), TB should render > as a normal character as there is no reason to assume plain-text quotations. So we're violating UX-wysiwyg, and I suspect this is an unintended side-effect of Options > Format > Auto-Detect, similar to those violations of UX-wysiwyg seen in Bug 414299 (Format > Auto-Detect dumps HTML formatting of <pre> and <tt> tags) and Bug 414299 Comment 108 (Format > Auto-Detect dumps HTML formatting via css style attributes).
Comment 6•12 years ago
|
||
Further observations:
There are two problems here, A and B.
A) Format > Auto-Detect causes dataloss of formatting and content
A1) Starting out from HTML composition having:
<pre>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>></pre>
Important: <pre> seems necessary to reproduce. Since we're in rich text (HTML) composition, TB has no reason to assume that these characters indicate quotes (which only applies for plaintext), if only to respect UX-wysiwyg.
A2) Format > Auto-Detect first wrongly removes the </pre> (as reported in bug 414299) and down-converts the msg to plaintext format=flowed. That's dataloss because <pre> tags and the corresponding formatting are lost.
A3) Conversion by Auto-Detect then fails to consider the angle brackets as actual characters for the purposes of composition/sending. Even for the wrongly chosen plaintext/format=flowed, the angle brackets from the rich composition of A1 would need to be preserved by adding a space character in front of that row (space-stuffing, see http://tools.ietf.org/html/rfc3676#section-4.4).
Instead it wrongly considers them as quote characters. That's dataloss, because the sender's actual content is distorted.
B) TB message reader exposes graphical rendering problems with vertical quote lines when they overlap from left and right
B1) In general, TB renders message of type plaintext/format=flowed having a non-space-stuffed line of >>>> characters correctly: each > is considered a quote character, and nested quotes are then rendered as "nested" vertical lines becoming smaller from outside (left/right) to inside.
B2) However, if horizontal viewing space available for msg reader widget is too little so that vertical lines coming from left and right partially overlap ("super strange quotation effect"), the overlap looks distorted (although I'm not sure how it /should/ look if there was any text in between, it would be a mess anyway).
While I find problem A) disturbing because of its dataloss nature, problem B) might be negligible.
Updated•12 years ago
|
Severity: minor → normal
Whiteboard: [needs STR] → [needs STR][rfc3676#section-4.4)
Updated•12 years ago
|
Whiteboard: [needs STR][rfc3676#section-4.4) → [needs STR; tentative description in comment 6][rfc3676#section-4.4)
Comment 7•12 years ago
|
||
(In reply to Thomas D. from comment #6)
> A) Format > Auto-Detect causes dataloss of formatting and content
> Important: <pre> seems necessary to reproduce.
Might also happen for all such tags that overzealous algorithm of Format > Auto-Detect dumps when down-converting to plaintext because of wrongly considering them "inconsequential formatting".
Comment 8•12 years ago
|
||
This is the draft msg having plain >>> characters. We're in HTML composition, so this isn't about nested quotes in any way, as correctly seen in composition window and HTML source code having <pre>>>></pre>
Scenarios: using >>> for decoration, emphasis, tearline - whatever: TB must not judge about users intentions and contents, we're just the messenger
Comment 9•12 years ago
|
||
Screenshot of Composition / Saved Draft of Testcase 1a, correctly showing >>> as characters - as expected and explained above, before sending.
Updated•12 years ago
|
Attachment #732710 -
Attachment description: Screenshot 1a.png: Draft msg (HTML with >>> characters and no quotations) → Screenshot 1a: Draft.png (HTML with >>> characters and no quotations)
Updated•12 years ago
|
Attachment #732709 -
Attachment description: Testcase1a: Draft.eml (HTML with >>> aka <pre>>>></pre>; no quotations) → Testcase 1a: Draft.eml (HTML with >>> aka <pre>>>></pre>; no quotations)
Comment 10•12 years ago
|
||
These are the remains of testcase 1a after sending.
Upon sending, Format > Auto-Detect downconverts the msg to text/plain; format=flowed because <pre> is wrongly considered inconsequential formatting:
Bug 414299 - Format > Auto-Detect dumps HTML formatting of <pre> and <tt> tags
Fixing bug 414299 (by preserving <pre> tags) will fix this bug;
however, this is a separate bug because even if Auto-Detect insists on dumping tags deemed inconsequential, it needs to ensure that text contents are preserved according the conventions of rfc3676#section-4.4. In this case:
> Even for the
> wrongly chosen plaintext/format=flowed, the angle brackets from the rich
> composition of A1 would need to be preserved by adding a space character in
> front of that row (space-stuffing, see
> http://tools.ietf.org/html/rfc3676#section-4.4).
_>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
(where _ indicates the space required to preserve the text content)
Because Auto-Detect fails to do space-stuffing to preserve the text content, it sends out a plain row of >>> characters instead which according to rfc3676 must be rendered as nested quotes.
That's violating ux-wysiwyg and dataloss, because the sender's actual HTML text content is distorted between composition and sending, which necessarily leads to wrong rendering for recipients whose clients correctly parse format=flowed per rfc3676.
Comment 11•12 years ago
|
||
This is screenshot of attachment 732719 [details], as described in previous comment 10:
Sent msg after unwarranted and technically wrong downconverting to text-plain;format=flowed by Format > Auto-Detect, in violation of rfc367 (http://tools.ietf.org/html/rfc3676#section-4.4).
(In reply to Thomas D. from comment #10)
> Testcase 1b: Sent.eml (downconverted to text-plain;f-f by Format >
> Auto-Detect)
>
> These are the remains of testcase 1a after sending.
> Upon sending, Format > Auto-Detect downconverts the msg to text/plain;
> format=flowed
> [...]
Updated•12 years ago
|
Summary: Super strange quotation effect → Format > Auto-Detect fails to do space-stuffing per rfc367 to preserve text content of >>> (<pre>>>></pre>), forcing unintended rendering as nested quotations (unwarranted and incorrect downconversion to text-plain;format=flowed)
Comment 12•12 years ago
|
||
(In reply to Thomas D. from comment #6)
> B) TB message reader exposes graphical rendering problems with vertical
> quote lines when they overlap from left and right
Screenshot 1b of attachment 732721 [details] also exposes that little graphical distortion when TB's vertical quote lines start to overlap from left & right:
a) quote lines coming from right side are discontinued half-way (perhaps "folded" to run back to the right)
b) quote lines left/right overlap section has graphical distortions (showing "triple" instead of "dual" lines; perhaps related to or same as a)).
If at all, I'd prefer have that treated that in a separate bug, because that's trivial and pretty inconsequential.
Comment 13•12 years ago
|
||
STR:
1) HTML composition using TB's current default settings:
- Format > Auto-Detect
- Recipient's HTML preference in AB: unknown
- [x] Compose messages in HTML format set in Account Settings > Composition & Adressing
2) Open Testcase 1a of attachment 732709 [details], which is HTML composition essentially having this markup in HTML source:
<pre>>>></pre>
...correctly seen in composition as in Screenshot 1b of attachment 732710 [details]:
>>> (without the leading space)
(Alternatively, type >>>, select and apply "Preformat" from formatting toolbar)
3) Send later (Ctrl+Shift+Enter) with default settings of 1)
4) View sent message from Outbox (as it will be sent to recipient):
4a) msg content (visually)
4b) msg source (Ctrl+U)
Actual result
4a) sent msg content (visually): see Screenshot 1b of attachment 732721 [details]
"Super strange quotation effect" of multiple nested quotations (vertical lines in TB) with partial overlap and minor graphical distortions:
(In reply to Thomas D. from comment #12)
> a) quote lines coming from right side are discontinued half-way (perhaps
> "folded" to run back to the right)
> b) quote lines left/right overlap section has graphical distortions (showing
> "triple" instead of "dual" lines; perhaps related to or same as a)).
More importantly:
- violates ux-wysiwyg beetween what is composed and what is sent out: TB cannot assume user intention of sending nested quotes, because this isn't a plaintext composition
- dataloss, see 4b below
4b) sent msg source (Ctrl+U)
Format > Auto-Detect downconverted msg from HTML to text-plain;format=flowed
Relevant source code is now:
>>> (without the leading space)
Format=flowed forces rendering of >>> (without leading space) as nested quotations on any rfc3676 compliant mail client, which is dataloss because original text / logical text quality of >>> characters is "lost" when correctly rendered by rfc3676 compliant mail client.
Expected result:
4a)b) honor ux-wysiwyg and content integrity between composition and sending:
- don't remove <pre> tags (Bug 414299) (imo best and most simple way to fix this)
- or, as a minmal fix, at least apply space-stuffing per rfc3676 (1) to preserve logical text quality of >>> characters when downconverting to text/plain;format=flowed
(1) http://tools.ietf.org/html/rfc3676#section-4.4
Comment 14•12 years ago
|
||
(In reply to Thomas D. from comment #13)
> Actual result
> 4b) sent msg source (Ctrl+U)
...as found in testcase 1b draft.eml of attachment 732719 [details]
Keywords: testcase-wanted
Whiteboard: [needs STR; tentative description in comment 6][rfc3676#section-4.4) → [STR comment 13][rfc3676#section-4.4)
Updated•12 years ago
|
Whiteboard: [STR comment 13][rfc3676#section-4.4) → [STR comment 13][rfc3676#section-4.4]
Comment 15•12 years ago
|
||
@Andrés (reporter): q.e.d. :)
Thanks for filing!
Updated•12 years ago
|
Whiteboard: [STR comment 13][rfc3676#section-4.4] → [STR comment 13][rfc3676#section-4.4][Thunderbird's most beautiful bug: Nested quotation line art, see attachment 732721]
Reporter | ||
Comment 16•12 years ago
|
||
(In reply to Thomas D. from comment #15)
> @Andrés (reporter): q.e.d. :)
>
> Thanks for filing!
Thanks for completing.
Updated•11 years ago
|
Blocks: delivery-format-ux
Updated•11 years ago
|
Component: Mail Window Front End → Composition
Product: Thunderbird → MailNews Core
Version: 2.0 → Trunk
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•