Closed Bug 11901 Opened 25 years ago Closed 20 years ago

Change Bugzilla comments line-wrapping policy

Categories

(Bugzilla :: User Interface, defect, P1)

2.10
defect

Tracking

()

RESOLVED FIXED
Bugzilla 2.20

People

(Reporter: CodeMachine, Assigned: mkanat)

References

()

Details

Attachments

(5 files, 9 obsolete files)

(deleted), image/jpeg
Details
(deleted), text/html
Details
(deleted), patch
gerv
: review+
justdave
: review+
Details | Diff | Splinter Review
(deleted), patch
Details | Diff | Splinter Review
(deleted), patch
mkanat
: review+
Details | Diff | Splinter Review
This is a request to change the way Bugzilla wraps its lines in the comments/description field. My understanding is that it currently uses a Netscape-only extension to force hard breaks into the text. This leads to everything being on one line in browsers that don't support it, which includes Mozilla at this moment. Is it necessary to do this? It strikes me that this could be done server side, which would mean standards-compliant methods could be used. Or even better, let the browser wrap the text, so that it will resize to the window?
Is that really a netscape-only feature? Not working in Mozilla just sounds like a bug in Mozilla. Does it also not work in IE?
This was stated in bug #2442. It was recently marked as a dupe of bug #8984 which says it is supported in IE4 - I didn't see that till just now. Whether it is a part of HTML 4 is a question to be asked. But, I still feel that if there are clients that don't do this, they should still be supported - it depends on how many there are of course. The current behaviour from Bugzilla is not attractive. =) Either way, the comment about expanding to fill the screen still applies - running at 1024x768, I get large blobs of white space on the right side of the screen.
I'm no HTML expert, but I gather this is because of the use of the <PRE>...</PRE> in the HTML. If straight HTML were used, shouldn't the comments should soft wrap nicely? I presume there's a reason a <PRE> was used, what is it? If this was done, we could also get a 100% screen width textarea (I think?), which would be cool.
Presumably comments are PRE so as to allow for ASCII art in comments? Both Navigator (since 2.x) and IE (since 4.x) support the WRAP attribute of TEXTAREA, but it's not in any HTML recommendation. Unfortunately, if WRAP is not specified, then Navigator's default behaviour is *not* to soft-wrap text when entered. Which could be annoying. So I'd suggest this bug be RESOLVED LATER, when all Bugzilla users are using Mozilla and this problem doesn't occur.
Actually, cancel that previous suggestion. I forgot the original point of the bug, and that is not HTML compliance per se, but that Bugzilla should be inserting line breaks server-side rather than client-side.
*** Bug 18141 has been marked as a duplicate of this bug. ***
Status: NEW → ASSIGNED
This has been the most annoying bug of late. All of my comments and even some initial reports haven't been wrapping which makes it really difficult to read earlier posted comments/reports of mine. Sad thing is, didn't really start cropping up until M14 builds.
tara@tequilarista.org is the new owner of Bugzilla and Bonsai. (For details, see my posting in netscape.public.mozilla.webtools, news://news.mozilla.org/38F5D90D.F40E8C1A%40geocast.com .)
Assignee: terry → tara
Status: ASSIGNED → NEW
This has gotten better but still doesn't work like it should. Browse some of the recent posts - they appear to be double spaced. Or some will even fail to wrap altoghether (run of the end of the page). Horizontal scrolling is bad.
Status: NEW → ASSIGNED
One thing to be said, with the current client-side behaviour, the width of the textarea should be 72 characters and not 80...because the comments get emailed out without any further processing. I've changed this in our Bugzilla installation.
the double-spacing is a problem with the Mac version of Netscape - see bug 32000. The failure to wordwrap (causing horizontal scrolling) is due to this bug, because Bugzilla's depending on a Netscape extension to do the wordwrapping on the client-side, and not all browsers support it.
Yes, I think we should still use a fixed-width font.
QA Contact: matty
Whiteboard: 3.0
*** Bug 29051 has been marked as a duplicate of this bug. ***
Moving to real milestones...
Whiteboard: 3.0
Target Milestone: --- → Bugzilla 3.0
Taking all Bugzilla 3.0 bugs -- congratulations to MattyT for the triage, it really was spot on. Note: I may end up pushing some of these bugs back to 3.2, we'll see. However, I believe all these bugs should just fall out of the redesign. Let's hope I'm right! (Note: I'm also resetting the priority field to "---" so that I can retriage any that I consider important or likely to be dropped.)
Assignee: tara → ian
Status: ASSIGNED → NEW
Component: Bugzilla → Bugzilla 3
Priority: P3 → --
I just ran into this problem posting a bugzilla comment from Opera 5.02. Apparently Opera shows the text as wrapped in the textarea, but doesn't send the soft line breaks to the server. (Opera 5.10 behaves the same way.)
As do any other HTML-compliant browsers. The "WRAP=HARD" parameter inside the <TEXTAREA> tag is a Netscape extension, and not part of the HTML Standard.
Is there a W3C-approved way to tell browsers to send textarea data with hard line breaks included?
Not AFAIK, and even if so, we shouldn't be doing so. Hard line breaks suck big time in email, and they suck big time in Bugzilla.
I thought that lots of e-mail clients expect to see line breaks.
Yes, it's too late now to fix it for text mail. That's one of the benefits of HTML mail, and one reason I heartily support it. But we can fix it for Bugzilla.
*** Bug 75987 has been marked as a duplicate of this bug. ***
This would also fix the problem of really long URLs getting wrapped and not getting hyperlinked properly.
There are still ramarkably more linebreak problems (infinite lines) in bugs that are Mac-related. So I post this comment with iCab (pre 2.5.1) to prove that this browser is one of those having/causing problems. Greeting, Michi
The fact that iCab has this problem is only because iCab is standards-compliant. This is not a problem with iCab, but a browser-dependency issue with Bugzilla. Bugzilla uses a non-standard HTML parameter which is (as far as I know) only supported by Netscape and MSIE in order to get the browser to do the line wrapping for it. The solution to this is to not use that parameter and do server-side line wrapping. (read the initial comment when this bug was opened, that's exactly what it says there. :) In other news, I'd like to know the justification for waiting until Bugzilla 3 to fix this. :) This should be a relatively easy fix, other than people bickering about what the wrapping policy should be. :) I'd like to nominate this for 2.16 unless someone has some strong arguments against it.
Dave: you know the drill -- if you want it fixed, fix it! ;-)
Assignee: ian → justdave
Component: Bugzilla 3 → Bugzilla
Whiteboard: 2.16 (?)
Target Milestone: Bugzilla 3.0 → Bugzilla 2.16
I'd be much obliged to ;) As soon as the rush is over at Syndicomm (probably a week or two).
Status: NEW → ASSIGNED
*** Bug 82700 has been marked as a duplicate of this bug. ***
Priority: -- → P2
Whiteboard: 2.16 (?)
Component: Bugzilla → Creating/Changing Bugs
Product: Webtools → Bugzilla
Version: other → 2.10
Whiteboard: [content:comments]
*** Bug 101298 has been marked as a duplicate of this bug. ***
Bug 101298 is actually not about lines not being line-wrapped; it's about a long link which is broken because it's wrapped and truncated. From my point of view, it not a question of polivy but rather to make the wrapping correct once it's done. I question the "duplicate"status, but this should be judged by the module owner.
The issue has been discussed on this report and is a part of the wrapping policy. The current wrapping method makes it impossible to deal with URLs properly.
Sorry, I missed that
*** Bug 102522 has been marked as a duplicate of this bug. ***
Blocks: 52060
No longer blocks: 52060
Severity: normal → blocker
Component: Creating/Changing Bugs → User Interface
Priority: P2 → P1
adding to 2.16 block list, fixing component.
Attached patch patch to provide display-time wrapping (obsolete) (deleted) — Splinter Review
Blocks: 52060
Comment on attachment 55443 [details] [diff] [review] patch to provide display-time wrapping Just in case anyone is curious how this works: >+ my $quoted_text = quoteUrls(\%knownattachments, $text); >+ $quoted_text =~ s/\n/<br>\n/gs; >+ $quoted_text =~ s/ (?= )/&nbsp;/gs; >+ $result .= "<TT>$quoted_text</TT>\n"; This does to the text everything that a <PRE> does, except that it doesn't disable the browser from wrapping the lines if they're too wide to fit on the page. first we do the html_quote on the whole thing, which is done by the quoteUrls routine, as well as turning all the hyperlinks into real links. Next we take all linefeeds and insert a <br> at that location to make it wrap. After that, we take any occurance of two spaces in a row and change the first of those two spaces into a non-breaking space entity. This way it preserves the formatting. Then we enclose the entire thing in a <TT> block, which tells the browser to use a monospace font, but doesn't tell it to preserve formatting like a <PRE> does (because we've already done that ourselves). This patch only accounts for the display-time wrapping. The "wrap=hard" still needs to be removed from everywhere else. And the dependencies on Text::Wrap in the attachment stuff can go away now, too. The benefits of doing it this way are: a) it will automatically fix the display of all the old comments that are already lacking linefeeds b) it will now be possible to purposely make your comments wider than 80 characters if you want to, and it will still look good in everyone's browser.
Matty mentions that we might need to do something about tabs also, as well as spaces... is that something we need to worry about?
This patch is very nice as it stands, but you mention it will be accompanied by the removal of wrap='hard' all over the place. I may be misunderstanding the implications of this, but any solution to this problem which breaks the behaviour that: "Someone types a comment of multiple lines into a Bugzilla comment box and hits submit, and it turns into HTML which is in a monospace font and wrapped at 80 chars" will be strongly opposed by me. I do not want Bugzilla comments extending the width of my browser window, however wide it is. This makes them much harder to skim read. If you want to store them without linebreaks in the DB, fine - I don't care :-) But they must be broken at 80 chars (unless there's a URL more than 80 chars long) for display. Gerv
It will still be in a monospace font, it will just extend to the browser width, which will bug the bug shorter and much easier to skim read.
I disagree. When I'm skim-reading, I have a certain number of degrees of vision on which I can pay attention. I can skim-read a current comment column without moving my eyes or my head. If it were twice as long, that would be impossible - I'd have to move my head for every line, and it would really slow me down. I'm serious. Make it a user pref if you must, I don't care - but I want my comments wrapped at 80 characters. It's like source - my brain's wired to that width. Gerv
I'm with Gerv. I find it easier to keep my place in text when the lines aren't too long.
Gerv, are you kidding? You sound like a Win-DOS-AOL user who never found out that he can resize his browser window. If you feel that lines are too long for reading simply resize your browser's window to make line length fit to your needs! Maybe I would like reading bugzilla at 65 characters line length. Allmost each solution that hardbreaks lines after 80 chars makes this impossible or at least very uncomfortable. Allmost! Don't forget: we have Mozilla, the UA with the best CSS2 support. So there is a solution: .posting {font-family: monospace; max-width: 76ex;}
Like I said, I don't mind if it's a user-pref option. But I think you will annoy a lot of people if you change this unconditionally. And I'm beginning to understand what Trudelle means when he complains about having to write CSS to get the old behaviour. People spend a lot of time in Bugzilla, and have got very used to how it looks, warts and all. We shouldn't change that without good reason - for example, the query.cgi change is a big usability win, and is going through careful review. Gerv
Attached patch Patch v2 (obsolete) (deleted) — Splinter Review
This patch includes the removal of the dependencies on Text::Wrap, and all of the wrap=hard attributes in the affected textareas.
Attachment #55443 - Attachment is obsolete: true
Depends on: 53009
Comment on attachment 58498 [details] [diff] [review] Patch v2 As a more visual indicator that the polocy has changed, the textarea would not wrap at all, instead of wraping when you type your comment and then having a different wrap once your comment is displayed (like this textarea I'm typing in now... but maybe that defeats the purpose of this bug in the first place, so I won't withhold review over it :) r=jake
Attachment #58498 - Flags: review+
Interestingly enough, my last comment demonstrates that the edit attachment textfield (the big one if you click on "Edit As Comment") makes it look like you can pick your own formating, but under the current policy, you can't. (which is a recent change when attachment.cgi was "finished".
Comment on attachment 58498 [details] [diff] [review] Patch v2 I am strongly opposed to this patch going in until it provides some way for me to keep the display comment wrapping at 80 characters, so things still look the way they do now. I'm serious - this is not a whim. The change would be a major usability loss for me, and, I believe, others. Gerv
Attachment #58498 - Flags: review-
I'm with Gerv on this one. Testing on landfill in bug no. 274 leads me to believe that most of the paragraphs will be a lot harder to read if I leave my browser window maximized. And I don't think I want to be forced to make my browser window smaller just to read bug comments. There is another aspect, though, that might be even more serious: There are situations when you want to find some information in a bug, and you know you have read the information before. The bug has gotten long, with a lot of comments, and you scan through the comments. If the wrapping is dependent on the browser width, it is very likely that you now have a different wrapping than you had at the first time you were reading the information. If you are a visual type, you won't be able to recognize the information as easy as if it appeared with the same wrapping as before. Bugzilla comments are not in HTML, and I doubt it's a good idea to apply HTML line wrapping in this case.
Also, what seems to have been forgotten is the excellent point that people wish to submit comments with ASCII art in them. Unless the lines wrap at a consistent point, and a fixed-width font is used, this is impossible. If we want to eliminate WRAP=HARD, then we must wrap at 80 characters on the server side, before storage in the DB. I.e. get the server to replicate what the browser now does. Only this way will everyone see all comments as the author intended. Gerv
hard wrapping isn't great either. please only hard wrap at whitespace. ruler: 1234567890123456789012345678901234567890123456789012345678901234567890123456789 0 url: http://lxr.mozilla.org/seamonkey/source/xpfe/browser/resources/locale/en-US/uni x/platformNavigationBindings.dtd /testcase. this comment was composed w/ nc4.78 i'll repeat it w/ other browsers if it turns out incorrectly.
ruler: 12345678901234567890123456789012345678901234567890123456789012345678901234567890 url: http://lxr.mozilla.org/seamonkey/source/xpfe/browser/resources/locale/en-US/unix/platformNavigationBindings.dtd /testcase. this comment was composed w/ mozilla
This patch does deal with ascii art by displaying in a fixed width font using <tt> and changing all newlines to <br>. Perhaps if there was no wraping at all in the textbox so if you typed more than 80 characters without a newline your textbox would show you a bottom scrollbar (like I suggested in comment 46). That way it's obvious to the user who's typing where they're line will wrap (as is currently the case with the wrap=hard in supported browsers). I'm still not sure how to do this using valid HTML.
Timeless is right; only hard-wrapping at whitespace solves the URL truncation problem which is part of the reason for this bug. Jake's solution is also unacceptable; I do not wish to have to remember to press "Enter" at the end of each of my lines when entering a Bugzilla comment in order to be able to review it properly when I've finished typing it. What will happen is that people will then waste a load of time formatting their comments and re-wrapping them in the edit box. A multi-line text box should support multiple lines properly, in the same way as anyone would type into a native multi-line text box. This "scroll rather than wrap" behaviour is horrible, ugly, counter-intuitive and user-unfriendly. Gerv
As timeless also demonstrated in comment 51, not all browsers are intelligent enough to not wrap a long URL when you have wrap=hard turned on. Also demonstrated in comment 24 (as well as various other comments in other bugs) is the fact that not all browsers support wrap=hard. And I (unintenitionally) demonstrated in comment 46 that Text::Wrap may wrap different that it appeared while it was being typed. Text::Wrap also adds a new dependency and the min. version we currently require breaks other apps that were written using the Text::Wrap that ships with perl 5.6 (at least I think I remember Dave saying in IRC that he was having that problem). And this patch is shot down because it allows the lines to be longer than 80 characters. I, personally, don't think a textbox that doesn't wrap at all on its own is any uglier than other places where plain text is edited, but I do admit that editing a paragraph when the text doesn't wrap (such as using notepad or similar editors for HTML source) is a pain. Currently, all possible solutions to this problem (including WONTFIX) have been shot down. Perhaps we can change the comment header to provide better visual seperation of comments (a background color or something)?
Text::Wrap is complex, and deals with Mail and stuff IIRC. What we want is fairly simple - wrap at the first space before 80 columns or, if none, at the first space after 80 columns. Writing a routine to do that for an arbitrary string of text should not be a complicated thing. Or am I missing something? Gerv
>Text::Wrap is complex, and deals with Mail and stuff IIRC. What we want is >fairly simple - wrap at the first space before 80 columns or, if none, at the >first space after 80 columns. Writing a routine to do that for an arbitrary >string of text should not be a complicated thing. Text::Wrap is simple actually, and does just what you describe (and not much else). Perhaps you are thinking of Text::Autoformat, which is a much more complex formatting module especially designed for formatting mail.
I was about to add a new bug, but it isn't appropriate, I can see. There is a definite problem under Opera, in that it doesn't interpret the sequence &#013 correctly (from sub value_quote in CGI.pl). Note that this has nothing to do with wrapping policies.
*** Bug 115649 has been marked as a duplicate of this bug. ***
No longer depends on: 53009
I've fixed this in our installation of Bugzilla. The decision was made in value_quote() to turn all variants of carriage returns into &#13; and in quoteUrls() in globals.pl there is what I believe is an out-of-date attempt to fix this, namely: $text =~ s/\&#010;/\n/g; I changed this to: $text =~ s/\&#013;/\n/g; and the nasty (and invalid) "&#013;"s disappear from the long descriptions.
Brent/John: that's already fixed in cvs, and has nothing to do with this bug. See bug 82809.
Are we going to reach an agreement here? :-)
The current situation leaves the following people unhappy: - people who want comments to span the full width of the browser. - people who want Bugzilla to use only W3C HTML. iCab and Opera users aren't really inconvenienced - it's just a pain for everyone (inconsistency) that text they submit isn't wrapped. But there are very few of them - I know I rarely see extra-long comments. I can't easily see how any change will make less people unhappy. Any solution should meet the following goals: - Text in the "Additional Comments" box should wrap when you type it (as now), rather then producing a horizontal scrollbar, in (at a minimum) NS, Moz and IE - Users should, by default, see the same comment behaviour - <TT>, and wrapped at 80 chars - as now. - ASCII art should always display correctly (as now) It may optionally have one or more of the following features: - standard HTML - user preference to make comments span the full width of the browser. If someone has a solution, let's hear it. Otherwise, we are stuck with the status quo, and cursing the HTML 4 spec for not forseeing this problem. Gerv
The only reason this could be a 2.16 blocker is for HTML compliance reasons. However, it's such a big issue that I really don't think we'll produce a solution in time, given the other bugs. I say we should push this out. Gerv
*** Bug 127551 has been marked as a duplicate of this bug. ***
As much as I hate to admit it, I agree. ::sigh:: If someone manages to come up with a good patch for this before we go release candidate, we can move it back.
Target Milestone: Bugzilla 2.16 → Bugzilla 2.18
> If someone has a solution, let's hear it. As I see it, there are four choices. 1. Rely on the submitter's browser to wrap the text. But this only works in non-standards-compliant browsers like Mozilla and MSIE, which is why this bug was filed in the first place. 2. Wrap the text when it is received (during enter_bug.cgi and friends), before storing it in the database. 3. Store the text in the database exactly as it was submitted, and wrap it only when it is sent out by show_bug.cgi. 4. Rely on the reader's browser to wrap the text. But this won't work for Gerv, since his browser window is too wide for comfortable reading, and he lacks the energy to resize it. :-) Option 3 seems the best choice, since it works for Gerv, and since it's forwards-compatible with any of the other options if we change our minds in the future. What am I missing?
Option 3 makes those people who want comments at window-width unhappy, unless it's possible to turn the wrapping off with a param. It's also extra processing - every comment that's ever printed has to go through Text::Wrap (or whatever code we use to do the wrapping.) And it has to go through it every time, even though the result is always the same. Someone above suggested a CSS solution: .posting {font-family: monospace; max-width: 80ex;} Does this Do The Right Thing at all, or is this also unsatisfactory? Gerv
Blocks: 47251
Urls that are too long can be split into two urls if its longer than 80 chars (i.e. carrying it over to the next line wouldn't be enough) - for instance http://www.mozilla.org/ (let's pretend it is 81 chars at the "m") could be turned into the html <a href="http://www.mozilla.org">http://www.</a><br><a href="http://www.mozilla.org">. I think leaving it up to the user agents to display it correctly is not a good idea since it sounds like Opera went against the spec. http://www.w3.org/TR/html4/struct/text.html#h-9.3.5 "By convention, visual HTML user agents wrap text lines to fit within the available margins. Wrapping algorithms depend on the script being formatted." Is using CSS a good idea in a cross-browser system? Remember, it is used no more than bugzilla.mozilla.org. What if the comments were stored without breaks in the server, and then - as mpt mentioned, wrap on the fly, and to solve gerv's comment - there could be a Wrap Cache in order to keep track of the most recent breaks (as many bugs are not looked at much anymore and therefore it should only be the most commonly looked at bugs that we worry about in terms of bogging down the server). To make those people who like it all on one line wherever there isn't an intentional line break happy, there can be a pref for it.
If we have to implement a "wrapping cache" in order to have the server wrap the comments effectively, then I don't think the server should be responsible for wrapping comments. It would be making the system too complicated for such a simple thing. In addition to mpt's four suggestions in comment 67 we could: 5. Standardize on a maximum width. Comments with lines greater than this width that also contain white space would be rejected. This would allow for URLs greater than the maximum width.
by rejected i hope you mean returned to the user in a text area with suggested wrapping so the user can resubmit. anything else is serious dataloss since it's possible for a browser to refuse to retain the submitted text when the user tries to go back. personally I think we should just reformat and return it to the user for approval.
I was thinking of just putting up an error message and have the user hit back on the browser to re-format his comments. Bugzilla already does this when verifying other data (milestones, comments required, etc.). However, I think I like your idea better.
> personally I think we should just reformat and return it to the user for > approval. You are joking, right? This would slow people down so much... Gerv
i'm serious, but only in response to rejecting a submission. If you take a route that accepts the submission, then my suggestion is void.
Blocks: 140099
My suggest for solving this problem easily would be to make an automatic break in bugzilla server (when uploading a new text) after perhapes 90 or 100 characters only to unformatted text and leaving normally formated text (or normally formatted lines in a mixed text) with 79 or 80 characters per line untouched and to remove the wrapping in the coment box completly. Maybe some kind of exeption can be made to very long lines that does not contain spaces (like URL's). So you can easily paste a formatted text from a text editor or what ever into the box without having the trouble of breaking it again... I was using several browsers: Until some weeks I was using Opera on Windows (version 6.0.1 and before that some of the ver. 5) and sometimes Internet Explorer. Now since I kicked Windows completly out of my box I'm using Konqueror 3.0 on KDE 3.0 I have noticed this problem with Opera and Konqueror (not sure if also with IE). All my formatted bugreports I have written so far in XMMS-Bugzilla (http://bugs.xmms.org) where hand formatted using a text editor (and then I was pasting the text into the Bugzilla form). So this wasn't and still isn't very comfortable. I realized with Konqueror a further problem (and I think you will see it in this post again): If I write in the coment box of the bugzilla form or if I paste unformatted text it will show it in a big single line, but if I format it to 80 characters per line it will make a line break again. (compare also comment 46 in this bug). This seems to be Konqueror related but I think it's not wrong to mention it here also. And I think implementing one of the ideas posted here in the next release would be very nice even if it is not everyone likes it. Cause searching for a better solution for a major ugrade can go on, users can give feedback to the actual way and it would be much more comfortable for many users (especially reading a bug report written in a single line is annoying for everyone if he is using Netscape, Mozilla, IE or whatever).
If we insert our own line-breaks, could it be made reversible? i.e. - could some special character be inserted to denote a server-entered line break so that its not confused with a user-entered one? i.e. - that way people could change it from 80 to 100 lines by going through with a script and removing all the "special" line breaks and reformatting. Can this be done without having to parse out the "special" line breaks when displaying?
Has anyone looked at changing the comments block to a soft line-wrapping block and then running the comment through Text::Format before writing to the database?
This patch permits the comment form to use "soft" wrapping instead of hard-wrapping and then actually does the wrapping inside the AppendComment routine. The formula for wrapping is that the first whitespace seen after 72 characters into each line is replaced by a newline. Then, the last whitespace farther than 72 characters from the end of each line is replaced by a newline. This seems to do a passable job of splitting up text without breaking long URLs.
Isn't "wrap=soft" just as non-standards-compliant as "wrap=hard"? Gerv
I'm not sure about the standards issue with the wrapping. The critical item for my installation is to have lines split without ruining long URLs. Anyone have any suggestions for the comment box's HTML syntax?
It seems to me, since there is no standards-compliant way that anyone here knows of to force wrapping in a textarea, we have no choice but to do it as the page is displayed. I think that's the best way, anyway, since it gives the opportunity to make the width as wide as we want. It would be nice, though, if people realized that some lines were going to be shortened if they intended to make it really long by seeing it cut in the textbox. Hixie: Do you know of any way to wrap lines in a textbox automatically that follows the standards?
There is officially no such way to hard-wrap text boxes before form submission.
*** Bug 153887 has been marked as a duplicate of this bug. ***
Even if a solution which wraps comments when submitting forms, it's *still* necessary to (re)wrap them when displaying them. There are currently many comments in BugZilla which uses very long lines, and they're a real PITA to read. For an example, see <URL: http://bugzilla.mozilla.org/show_bug.cgi?id=156094 >.
Or your own submission, comment 84, itself. <grin>
Blocks: 157891
bug opened in 1999/08 and not fixed in 2002? While the discussion is going on, can't we implement some temporary fix, like a red warning message asking users to line-break their messages on their own or simply turn warp off? This is a really annoying bug.
The patch in attachment 84226 [details] [diff] [review] simply lets the web browser leave the comments unwrapped and then wraps them in perl before submission. For anyone being driven nuts by this, I suggest they try it. As for the direction of the code, I see that someone has this running on landfill, but I do not know which patch it is. Does anyone feel that the approach in 84266 is a bad thing to do?
Joel: your patch is to fix the problem with URLs longer than 80 chars getting broken by the browser? I thought Mozilla, at least, Did The Right Thing in the long URL case. Test: http://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED Gerv
The problem is that Bugzilla uses...... <textarea wrap="hard" name="comment" rows="10" cols="80" Which instructs many browsers to insert newlines at unfortunate places. The patch takes out the wrap=hard and then handles the wrapping in a more consistant and appropriate place.
> Which instructs many browsers to insert newlines at unfortunate places. Which browsers? Not Mozilla, certainly. Gerv
Blocks: 163218
No longer blocks: 163218
*** Bug 167051 has been marked as a duplicate of this bug. ***
I installed Bugzilla 2.16 on my server and it works fine for me with Mozilla (currently 2002090908 on WinXP). But when I use bmo, I don't get the warping (or at least, sometime I don't (see http://bugzilla.mozilla.org/show_bug.cgi?id=124307#c51 as one example, there are plenty others)) Did something change in 2.17 or is it something else?
I just noticed that there are two warp attributes in bmo show_bug pages: <textarea wrap=soft wrap="hard" name="comment" rows="10" cols="80" accesskey="c"></textarea> That doesn't sound right. (By the way soft is missing the quotes)
I can't reproduce that b.m.o problem. What page do you notice it on?
This page for instance, as you can see on my comment 92 and probably this comment too if I can make it long enough (ok, that should do it).
Ok, never mind, I found the problem and it's on my side. I have an anti-ads software (proxomitron). It seems that it adds the "wrap=soft", and for some reason, it doesn't do it on my server. (and this comment should correctly wrap) Sorry about that.
*** Bug 169848 has been marked as a duplicate of this bug. ***
*** Bug 171596 has been marked as a duplicate of this bug. ***
I think Bugzilla should *not* depend on the browser doing the line wrapping, as it does now. Instead it should either 1) word wrap on delivery (server-side, I guess using <br>) or 2) let the browser word wrap (client-side). For these reasons: 1. It should be avoided to be *depending so deeply* on non-standard HTML (wrap=hard). 2. Storing hard wrapped text is a bad idea. Text should be formatted when it is displayed, not before. This is much more flexible. 3. Some browsers break long URL's (e.g., the latest IE 6 SP 1 does) when wrap=hard is set. This is a problem for *all* of us, regardless of what browser we use, when we have to read and use the broken URL. 4. Some browsers doesn't accept the non-standard wrap=hard and thus doesn't word wrap, giving all of us problems reading the postings from these browsers. 5. Word wrapping on delivery or letting the browser word wrap would show all previous non-word-wrapped postings correctly (at least if the word wrap limit is 80 characters or above). 6. Copying Bugzilla comments into a word processor or e-mail or anywhere else would be without hard line breaks in the middle of paragraphs. And that would be a Good Thing, IMHO. The text will be easier to work with. 7. It should be avoided using non-standard HTML in any case (see Bug 47251) (this is not the same as reason 1 above). As mentioned by Gerv in comment 63, formatting server side would make people who want comments to span the full width of the browser unhappy. But these persons are already unhappy. This extra wish should not stop us from solving the problem with very long lines, a problem that we *all* have - and solving it for all previous postings. And on top of that, going away from hard wrapping text in the database would make it possible to 1) make a solution for the "full width people" later on, and 2) make local patches to get full width wrapping until that. If *server-side* hard wrapping on delivery is chosen, I think the limit should be at exactly 80 characters, no more, no less. If it is less than 80 chars, the existing hard wrapped data in the Bugzilla databases would wrap in an ugly manner, hard to read, because previous data has been hard wrapped at 80 chars. If it is more than 80 chars, say 90, we can have problems when people copy quotes from other comments: These quotes will be hard wrapped because they are copied from hard wrapped HTML. And if sometime in the future someone wants to display this with less that 90 chars, say 85, he can't, because it will look ugly. In other words: Increasing the line length is irreversible - which is also why we can't go below 80 chars now (using server-side wrapping). If *client-side* wrapping is used, we won't be so dependent on what line length we choose. When a user copies a quote from another comment, it will be copied as a full, non-wrapped paragraph, regardless of how it is formatted in the browser, and thus it will be posted that way again. It will also be easier to copy part of a paragraph into a new comment; you won't have to remove the line breaks. So, my conclusion and opinion is that we should: 1. drop the wrap=hard attribute (maybe replacing it with wrap=soft for convenience), and 2. use either 2a. server-side wrapping at 80 chars (except for long URLs), or 2b. client-side wrapping at 80 chars or more using CSS. Am I missing something?
No longer blocks: 47251
Jesper: doesn't sound like you're missing anything at all. That sounds like exactly what the plan is. We're just waiting for someone to finish the patch. I was working on it at one point, but I have other things that are priorities right now.
*** Bug 182537 has been marked as a duplicate of this bug. ***
BTW, this problem is exhibited in Apple's Safari browser. Any Bugzilla comments posted with Safari end up being displayed as a single non-breaking line.
I've emailed hyatt to ask him about whether Safari will support wrap=hard. Gerv
Hyatt says: "We do plan to support it [that is, wrap='hard' - Gerv]. Our code is just buggy. We do actually see the attribute, we just mess up in the implementation." Gerv
For anyone using Opera, you should be aware that the latest version (7.03) now supports "wrap=hard". Avoid earlier 7.0x releases, which have wrapping bugs. As reported above, version 6.xx and earlier don't support "wrap=hard" at all.
Comment #99 is spot on, and the solution for the 2.18 milestone is solutions #1 and #2a in that comment, i.e. switch wrap=hard to wrap=soft and implement server-side wrapping to 80 characters at time of delivery. We can then deal with the issue of client-side wrapping at a later date. Dave, you mentioned in comment #100 that you don't have time to work on this, but that was a while ago. Has anything changed?
In that case, dust off attachment 84226 [details] [diff] [review] which does exactly that but doesn't chop URLs in half.
Attachment #84226 - Attachment description: Line wrapping patch for 2.16-ish bugzillas → Line wrapping patch for 2.16-ish bugzillas - still works for 2.17.4
Attachment #84226 - Flags: review?(myk)
> switch wrap=hard to wrap=soft and implement > server-side wrapping to 80 characters at time of delivery. This changes nothing from the perception of the user, right? One of the primary motivations for this bug appears to be Bugzilla's standards compliance. How does replacing wrap='hard' with wrap='soft' help that? What the above change would do is mean we are now storing comments in the database in unwrapped form, and have to do some (granted, not much) extra work in displaying them. Other than that, it has no user effect, so why is it worth it? Additionally, I feel we shouldn't set out to "fix" this bug before having a clear idea of where we want to end up. Gerv
>> switch wrap=hard to wrap=soft and implement >> server-side wrapping to 80 characters at time of delivery. > > This changes nothing from the perception of the user, right? I am not sure about that. There is quite a bit of non-wrapped text in the Bugzilla database (e.g. comment 24 in this bug), because people have entered comments using browsers that didn't support wrap="hard". If we do server-side wrapping on delivery from the server to the user, these entries will be made readable, as well as future entries like these. This is a noticeable change. > One of the primary motivations for this bug appears to be Bugzilla's > standards compliance. How does replacing wrap='hard' with wrap='soft' > help that? It doesn't, but this isn't exactly the case. In my reasons in comment 99, the motivation you mention is the least important one (number 7). The top reason that I mention (the selection and rating is of course my humble opinion) is that Bugzilla *depends* on non-standard HTML for doing the wrapping now, and that is a problem. If we use wrap="soft", Bugzilla would not depend on it. It would just be a convenience that would help users of some browsers that don't do soft wrapping by default but do understand the non-standard wrap="soft" directive. It would *not* be necessary; we could omit wrap="soft" to comply with the standard, and that would be fine with me. Bugzilla would still function fine without it. It is not the same case with the wrap="hard" attribute now; we *cannot* omit that without implementing server side wrapping. By avoiding wrap="hard" and doing server-side wrapping on delivery to the user, we avoid *depending* on a non-standard HTML attribute, and we would be sure to avoid infinite lines in the future (and in the past). > Additionally, I feel we shouldn't set out to "fix" this bug before > having a clear idea of where we want to end up. I agree. We should really think about this before changing anything that is irreversible, to be sure we aren't missing something. A drawback I just noticed is that text which is hard-wrapped at more than 80 characters would be distorted when hard-wrapped again to 80 characters. Comment 36 in this bug is an example of this; it seems to be hard-wrapped at about 87 characters. I have no good solution to this problem.
The missing hard wrap in my previous posting (comment 109) was *not* intended -- but it is quite illustrating... :o) It was my Proxomitron HTML filter messing with the HTML. I have turned it off now. Need I say that incidents like this would be avoided (and solved for past postings too) if server-side wrapping on delivery to the user is implemented?
Please do not make it impossible for users to enter unwrapped text. At the moment, in some cases when I want to enter preformatted text wider than the historic and now relatively short 80 characters (for example for diagrams), I can go in with the document inspector, remove the wrap attribute, and type away.
it seems what we want is, in most cases, text to flow freely to the window width (as text in HTML would if it's not in a <pre> or otherwise constrained), but in limited cases we want to have "<pre>" behaviour, to allow very long lines, or shorter lines for code or ascii-art or whatever. Short of going for the kind of thing used by blogging/bulletin board systems of having some kind of limited markup available to the commenter, or having a checkbox that says "don't wrap this comment", I can't see anyway of getting it right all the time. The question is then which compromise is least bad - having everything wrapped by the server so the user can't ever control their own lines (screwing up if the user/browser has wrapped stuff differently already), or relying on the user/browser to do the wrapping (screwing up if the browser doesn't implement the non-standard tag to do the wrapping and the user doesn't fix it).
> it seems what we want is, in most cases, text to flow freely to the window > width Actually, that's not what all of us want (at least, it's not what I want, and I don't think I'm alone.) Did you read the whole bug? :-) Gerv
>> it seems what we want is, in most cases, text to flow freely to the window >> width > Actually, that's not what all of us want I would say that it's what a good portion of people here want. (And is what the original reporter, I believe, requested when he filed the bug.) From my perspective, text should be treated just as any other HTML text, and it should flow to the window width. There are only two times when there should be a possible exception to this - when you have a single "word" containing no spaces and which extends past the width of the window, such as with a long URL (whether this should be "forced" to wrap anyway, or left alone is debatable), and when the client has posted something with a hard return. (Client submitted line breaks should be honoured.) Now, the real problem with this bug is that there's no agreement over either the specifics or the general problem. (While almost nobody likes the current behaviour, there is no concensus on what it should be changed to.) Proposals of the server wrapping text at an arbitrary width are, I think, doomed to failure since it presupposes that either everybody runs with a Mozilla window of the same width or that everybody wants to see the width set to the same thing. (I, for example, don't want a set width - I want it to flow to the width of whatever my browser window currently happens to be.) Any implementation where a set width is used would have to be controlled via an account preference so that individuals could set behaviour to their own browsing habits and expectations. They could input a right margin number, or indicate that it should be wrapped "to fit" in some fashion. Another problem with this bug is that debate is occuring about different things at the same time. It would be beneficial to break the issues down into its main points and treat them as separate (although related) items / bugs. For instance, make this bug JUST about setting a right-margin on text (which would control at which point text is wrapped - a hardcoded or user-defined value (and if so what) or the browser width. Then open a different bug for each exception to the rule (i.e. one bug for where/how long lines without any spaces are wrapped, another for how clients can manually force a wrap prior to the right-margin), setting dependencies as appropriate. Discussion would be much more focussed and things could progress without the endless cycle of opinions seen so far. This bug, as it is, is trying to do too much at one time.
> I would say that it's what a good portion of people here want. My assertion is that a large number of Bugzilla users would find it irritating if comments started being the full width of the browser. I and Jesse have said that in this bug; I'm sure there are more of us. Usability research: http://usability.gov/guidelines/readscan.html suggests that between 55 and 100 characters is optimal for a width, depending on what you are optimising for. We use 80; on a 1024x468 screen in a standard monospace font, I'd say the full width would be about 120 characters; on larger screens or in a proportional font, much more. > From my > perspective, text should be treated just as any other HTML text, and it should > flow to the window width. Why is that your perspective? Aesthetics, or usability? > Another problem with this bug is that debate is occuring about different > things at the same time. It would be beneficial to break the issues down into > its main points and treat them as separate (although related) items / bugs. I disagree; we need a unified solution to all these related issues, and so it makes sense to discuss them together. Gerv
> There are only two times when there should be a possible exception to this - > when you have a single "word" containing no spaces and which extends past the > width of the window, such as with a long URL (whether this should be "forced" > to wrap anyway, or left alone is debatable), and when the client has posted > something with a hard return. The text above shouldn't be rewrapped, otherwise the ">" prefixes will get mixed in with the text. +------------------------------------------------------+ | Diagrams shouldn't be rewrapped for obvious reasons. | +------------------------------------------------------+ Diffs shouldn't be rewrapped, otherwise the distinction between comments and code will be hard to make. data:text/plain,URIs_shouldn't_wrap_either,_nor_should_they_lose_indentation. Note the identation at the start of the previous line. It shouldn't be lost. In fact, it is unclear to me exactly how to distinguish paragraphs from text that shouldn't be wrapped. This paragraph started with a carriage return and will end with one, with no hard returns in the middle. 0123 This sentence will too, but had better not wrap. 45678901234567890123456789
> I disagree; we need a unified solution to all these related issues, and so it > makes sense to discuss them together. I don't see how there can be a unified solution. We either have bugzilla wrapping at a fixed-width, or at window-width, or only when the user/browser inserts a hard return. The original report was complaining about the third, you and Jesse don't like the second, and Hixie points out good reasons for rejecting the first. Unless one can have bugzilla do different things with different comments (or even different bits of different comments), I don't see how there can be a unified solution.
> I don't see how there can be a unified solution. Absolutely. Hence my earlier comment. There is no concensus here and wheels are simply being spun without resolution. We can debate back and forth without any progress. There are really only a couple of ways of resolving these individual preferences: setting up user profile based settings (so each person can configure the right-margin, and other wrapping issues, as they want) and split this bug into separate issues to make it more digestible. (Since working on / reaching a conclusiong about each piece of the puzzle is easier than the seemingly impossible task of deciding the whole thing all at once.) > The text above shouldn't be rewrapped, otherwise the ">" prefixes will get > mixed in with the text. Correct. Hence, carriage returns (such as I entered when reformatting the above to get two lines each beginning with a ">") should be honoured. > Diagrams shouldn't be rewrapped for obvious reasons. Same as above. Diagrams are entered by hitting "|" (or whatever symbol) followed by a carriage return - which should not be ignored. I don't think that anybody here really objects to carriage returns being honoured - do they? The real question is what to do with paragraphs of text. > Diffs shouldn't be rewrapped This one is problematic. I see no easy way of accomodating this. Unless there is some mechanism of enclosing each line of the diff in a <don't reformat this> type of directive. But, that aside, a diff is (textually speaking) no different than any other series of lines of text. I think it would be a mistake to start doing conditional programming of what Bugzilla does in this sort of case. I *especially* think that such considerations should not be part of this bug, but discussed in a different bug as an exception to whatever happens here.
>> The text above shouldn't be rewrapped, otherwise the ">" prefixes will get >> mixed in with the text. > > Correct. Hence, carriage returns (such as I entered when reformatting the > above to get two lines each beginning with a ">") should be honoured. More than honoured -- they should prevent extra ("soft") line breaks being inserted, a la: > this is indented text that > wraps onto two lines. Also, the above had better not get rewrapped... and it has no "|" characters. However, this paragraph does, yet it has to be wrapped. Go figure.
Just a couple ideas: 1-For those who don't have minimal permissions, provide radio buttons to set how new comments will be wrapped 2-For those who don't have minimal permissions, provide two "additional comments" boxes, one to which auto-wrap or something akin to current behavior is applied, and another in which no wrapping is applied, forcing the commenter to decide where hard returns go, and accepting pre-formatted comments to be pasted in and accepted as-is.
Oh, also -- don't treat diffs as special cases "to be dealt with later". A large proportion of Bugzilla comments are diffs. It is absolutely imperative that diffs not get harder to read -- in fact, there are already enough problems with diffs that are larger than reviewers' <textarea> widths causing premature wrapping; we should probably work to fix that before we work to fix the rarer case of people using browsers with poor legacy attribute support. I think adding radio buttons or whatever to control this is a bad idea. Most of our users won't have a clue what they are about and will just get confused. Solving UI problems by adding preferences is just moving the decision from the experts (the programmers who understand the issue) to the users (who are highly unlikely to understand, or care about, the problem).
> Solving UI problems by adding preferences is just moving the decision from the > experts (the programmers who understand the issue) to the users Yes, but the problem here is that the "experts" *don't* agree...
If we really can't come to an agreement, then whoever is the "owner" of Bugzilla should just come down and make a decision.
> There is no concensus here and wheels are simply being spun without resolution. I should point out (as I did in comment 63) that the status quo is a perfectly valid option. The mere existence of a bug report does not mean that the issue it concerns has to be "fixed". In the absence of a solution which pleases all parties, why change the situation to displease a different set of people to those who are currently displeased? The two sets of people who are displeased with the status quo are: 1) HTML purists 2) People who want comments wrapped at full window width. To the first group - hard cheese. And, given that the usability evidence suggests that Bugzilla is more usable when comments are wrapped at 80 chars than if they are the full width, I see no particular problem with saying hard cheese to the the second group as well :-) Gerv
The status quo hard-wraps on the way in. That is the sole objection to the existing patch. If the status quo is OK, then the existing patch solves the problem of breaking URLs and it should go in. If we want to provide the ability for a "power-user" to get the same "benefit" from the patch that they have by hacking with DOM inspector, we could tell the patch to skip the wrapping if a comment starts with ^<pre>\n
> I should point out (as I did in comment 63) that the status quo is a perfectly > valid option. The mere existence of a bug report does not mean that the issue it > concerns has to be "fixed". that comments posted with browsers which don't support wrap=hard are all on one line is a problem. in fact, it's the problem that the original report focuses on. the fact that wrap=hard is non-standard is, I think, secondary to the fact that not all browsers support it, so it doesn't actually work in some cases. > given that the usability evidence > suggests that Bugzilla is more usable when comments are wrapped at 80 chars than > if they are the full width, I see no particular problem with saying hard cheese > to the the second group as well :-) fine. but that fails to address the original report - the case that comments are not wrapped at all (as in comment 109, comment 95, etc). you can, of course, say hard cheese to that group as well (and as you've pointed out, support for the non-standard wrap=hard has improved in Opera and Mozilla since this bug was filed, so the problem happens less often in practice)...
> If the status quo is OK, then the existing patch solves the > problem of breaking URLs and it should go in. Hard-wrapping on the way in breaks URLs only on certain browsers (not Mozilla.) Having a list of such browsers would help us in evaluating the necessity of the patch. Gerv
> 2) People who want comments wrapped at full window width. > [...] more usable when comments are wrapped at 80 chars than if they are the > full width [...] hard cheese. Your argument assumes that 80 characters is narrower than the window. This is not always the case; in particular I have on several occasions recently had my 1600x1200 monitor so far from where I was sitting that I've had to increase my font size to the point where 80 characters simply do not fit on the line. In those cases, client-side late wrapping would actually be desirable. (When in these situations I usually either guess at the last few words of each line, scroll horizontally for each line, or quickly add in a temporary stylesheet with "pre { white-space: -moz-pre-wrap; }" in it.) Frankly I think that browsers that do not support wrap="hard", BUT show the text wrapped in the text editor window, are broken. Given their rarity, I do not think it is unreasonable to say that the bug is not with Bugzilla but with the UAs in question. (Note that I am not advocating that these UAs implement a non- standard attribute; I am advocating that they show what they are going to send, i.e., they shouldn't wrap in their editors either, thus making it clear to their users that if they want wrapping they have to do it themselves.)
(a user's perspective) Everything worked fine until developers started using Mac OS X. Whereas before, all bugs' comments were wrapped at 80 cols, Mac OS X users' comments now appear on a single long line. Bugs with that problem are a pain in the neck. To read the comments, you must use the browser's horizontal scrollbar. These comments are easy to miss when scrolling because their visual strength is reduced, and it is impossible to use only the mouse wheel to read a bug's entire set of comments. I would disagree with the assertion that there is not a problem, but I would agree that there is probably no "perfect" solution, but I would bet that most Bugzilla users would benefit from comment text *always being displayed wrapped.* If there must be a checkbox on the submit form and a column to store a "don't wrap this comment" flag in the longdescs table, great. Let's go for what will satisfy 90% of the users.
Just out of interest, hat OSX browser is it that doesn't support wrap="hard"?
Gerv: > The two sets of people who are displeased with the status quo are: > 1) HTML purists > 2) People who want comments wrapped at full window width. As Michael also mentions in comment 126, I think you forgot 3) People who don't want to use the horisontal scroll bar to read paragraphs that was not hard-wrapped by the browser when the user entered the comment, although it should have been. I belong to group 3 -- and I guess most do? It is possible to be a member of more than one of these groups. Joel Peshkin: > we could tell the > patch to skip the wrapping if a comment starts with ^<pre>\n This could break existing comments, e.g. comments mentioning HTML code with <pre> tags, making them either meaningless or hard to understand because the <pre> suddenly would be missing. We have to think of all the existing comments in the Bugzilla databases worldwide. Hmm, not easy. Ian: > Frankly I think that browsers that do not support wrap="hard", > BUT show the text wrapped in the text editor window, are broken. I disagree about that. I want the text to wrap, but I do not want the browser to deliver it with hard line breaks to the web server. Hmm, with all the comments this far, I cannot see any good solution any more that solves the problems without creating new ones. But I hope someone comes up with a golden, creative idea to solve all the problems at once! :o)
>> Frankly I think that browsers that do not support wrap="hard", BUT show the >> text wrapped in the text editor window, are broken. > > I disagree about that. I want the text to wrap, but I do not want the browser > to deliver it with hard line breaks to the web server. This may be going off-topic, but why?
> quickly add in a temporary stylesheet with > "pre { white-space: -moz-pre-wrap; }" in it.) We could certainly start adding classes to the <pre> tags around comments; that way, you could just leave the user stylesheet in. Jesper: I belong to group 3, but I'd much rather live with that problem than those caused by most of the "solutions" proposed. Floating an idea: we could fix problem 3 by intelligently wrapping at 80 chars on the way _in_ for browsers that we know don't support wrap="hard". Gerv
There's obviously a lot of traffic on this bug (witnessing the near 30 e-mails in my Inbox this morning) and it seems that although the status quo might be putting up with moldy, aged cheddar, they're certainly not content nor satisfied with it. The main problem is not Bugzilla. It is browser authors that either (a) are standards purists, and refuse to implement the wrap="" attribute; or, (b) are too lazy to include something that the majority of other browsers support. We are unlikely to change the minds of the developers in either of those camps, so complaining to them that they "break Bugzilla" isn't going to have much effect. Forgive my patronizing, but I recall a computer science teacher who taught me the fundamentals of programming. The two rules he mentioned for secure, solid programs were to be forgiving in your input, but strict and standard in your output. Right now, we are catering to nonstandard input and penalizing browsers that do not implement that pseudo-standard. Users with those browsers break our system, so it's our responsibility to change our system and make it work despite those buggy user agents (since, as discussed above, they aren't likely to be fixed.) To do this, it seems our only option is to implement server-side line wrapping. But, how do we do it? Letting the users decide introduces more UI cruft on the bug editing/creation pages, My proposal is this: 1. Store the comment in the database without wrapping. User-added line breaks should be the only line breaks within the comment. 2. When the comment is called from the database, pass it through a function that does two things: a. Look up a parameter called line_wrapping, which is either 0 or a positive integer (default: 80.) If the number is 0, skip the line wrapping; the maintainer for this Bugzilla has coded his templates so that they wrap to the window. Otherwise ... b. Parse the comment so that the lines break at the specified number of characters and preserve the user's line breaks. If the line contains a URL: 1. If the URL is longer than the x-character limit by itself, place the URL on its own line (break before and after.) 2. If the URL exceeds the x-character limit by less than the amount of other text on that same line BUT is less than the x-character limit, break the line after the URL and keep it on the same line that it started on. Continue parsing the comment as usual. 3. If the URL exceeds the x-character limit by more than the amount of other text on that same line BUT is less than the x-character limit, break the line before the URL and continue parsing the comment as usual. 3. When returned from the function, the comment will be in the desired, parameter-set format (either wrapping to a specific line width or wrapping to the container element's width.) This satisfies the wrap-to-window/containing element group by providing a mechanism by which they can have that functionality. It also allows those that prefer wrapping to a specific width to do that, and to start new databases with that rule if they so choose. I've personally been working on this as a private customization; my company wants HTML formatting with selected tags within bugs (though not within e-mail, thankfully) and since it involves line wrapping necessarily, this issue was one I was working on at the same time. I've not had time to implement it or even test it, but I can post the very rough draft for review if anyone wants it.
Seth: That was discussed and we established it wouldn't work. See comment 116 and comment 119. Gerv: I would be happy to see Bugzilla perform server side preprocessing of input if the UA is know not to support wrap="hard" (or rather, if it is not known that it does, since we really should default to assuming lack of support).
Ian: the procedures on what should and should not be rewrapped are something that can be worked out later. Whether or not the URLs get wrapped at a specific point in the line really isn't the subject of my earlier comment. They're the most flagrant exception, though, and just because my comment didn't address every exception doesn't mean those could not be built in somehow. My point is that we can satisfy both camps by allowing maintainers (rather than users, who usually will not know of or care about the difference) to choose their poison with a parameter, and let template customization take care of the rest.
While processing server-side the input of known non-working agent, is at least a step forward, I don't know if it will be enough. First, there are way to change the user-agent string, so some broken browser will be recognized as working and this not cutting the lines and some working browser would be recognized as non-working which would recut some strings. Second, even working browser has some troubles sometimes. With the default policy of the proxy Proxomitron for instance, the textfield gets both warp=soft and warp=hard. Warp=soft seems to take over (or maybe it's because of the order). Don't know what I good solution would be though but having a user preferences solution should satisfy every body (no wrapping, wrap a window limit, wrap a x characters) except the bugzilla developpers maybe :)
It's great to see that this bug is still alive. I've pulled together some questions (paraphrased) and answers based on the last day's worth of postings along with my proposed solution: > Why fix it if it isn't broken? It *is* broken. Some comments (from browsers that don't support wrap="hard") are unwrapped, while others (like lines of code or quoted sections) are wrapped that shouldn't be. Also, the current system is inflexible, since it doesn't provide any way to change our wrapping policy in the future or accommodate non-traditional devices/clients (small screens, third-party clients, etc.). > What do we want to do? We want to fix as much broken stuff as possible, regress working stuff as little as possible, make it possible to change Bugzilla's wrapping policy in the future (f.e. letting the user agent wrap or wrapping to a different width), and support non-traditional devices/clients. > Does standards compliance matter? Yes, but not at the cost of making Bugzilla work for users. We should choose standards-compliant solutions where possible because of their overall benefits, but standards-compliance is a secondary goal; our first priority is making Bugzilla as usable as possible. > Must this bug be fixed? No. We can resolve it WONTFIX if we decide that there is no good solution to the problem. We can resolve it INVALID if we determine that wrapping is the user agent's and user's responsibility. > What if we can't agree on a solution? Then I, as the UI component owner, will make a decision about it. > What if I think you're wrong? Then ask Dave Miller, the Bugzilla project owner, to override my decision. > What if I think he's wrong? Tough, or as the Brits say, hard cheese. Leaving the bug open and continuing to argue about it and consider it when thinking about other bugs is not better than making a decision--even one that some people disagree with--and then moving on to other issues. Whatever we choose here (including not fixing the bug at all) will not be the end of the world; it'll still work fine most of the time for most people. > What about a preference to control wrapping behavior? Most people don't bother with prefs, nor should they have to. We have a responsibility to make informed decisions for our users, and we shouldn't abdicate that responsibility just because a decision is hard to make. > What about some UI to control wrapping behavior? UI costs time and energy for users who have to fiddle with it. We should provide the minimal UI necessary to allow users to do their work and hide functions that will rarely be used. > What about a tag to control wrapping behavior? That's not a bad idea, but it can only work for the 1% case (i.e. in rare cases when someone doesn't want the default behavior), so it doesn't answer the question of what the default behavior should be. In any case, it shouldn't be an HTML tag or any tag we might expect to find in a comment. > How wide should textual content be generally? Not too wide, according to usability studies (see comment 115), which is why the current behavior to wrap at 80 characters is a pretty good one. > So what's your proposed solution? Server-side rewrapping to 80 characters at display time (or cached for performance), possibly using the Text::Autoformat module or other Perl modules available to us (otherwise rolling our own), for the following reasons: 1. it displays text almost exactly the same as the current system, so it is minimally disturbing to existing users; 2. it fixes the problem of browsers that don't support wrap="hard"; 3. it makes it possible for us to change our wrapping policy in the future and to provide content to non-traditional devices and clients. http://search.cpan.org/author/DCONWAY/Text-Autoformat-1.10/lib/Text/Autoformat.pm > What about paragraphs which are currently hard-wrapped to more than 80 characters? If possible, they should be rewrapped to 80 characters. Otherwise they should be left as-is. > What about diffs and code? They should be detected and not rewrapped. > What about quotes? They should be be stripped of quote markers, rewrapped, and then have quote markers added back to them. > What about diagrams? They should be detected and not rewrapped, and we should encourage users to make diagrams available as attachments rather than comments. > What about all sorts of other wierd situations? We use wrap="hard" almost all of the time, and users almost never override that intentionally. We can implement something server-side which is at least as smart as wrap="hard" and probably much smarter, accounting for most situations in which users want typical 80-character wrapping overridden. The rest are a limitation of this approach but not important enough to warrant WONTFIXing this bug. > What if it's not perfect? It's not perfect now, and it never will be. That doesn't mean we shouldn't improve the situation. > What about letting installations decide wrapping behavior? This can happen in a separate bug once we implement a solution that makes it possible. Let's keep this bug focused. > What if it's hard? Then we should implement any solutions that mitigate part of the problem (like Gerv's idea to special-case known bad browsers) until someone has the time to implement this.
Hixie: > Gerv: I would be happy to see Bugzilla perform server side preprocessing of > input if the UA is know not to support wrap="hard" (or rather, if it is not > known that it does, since we really should default to assuming lack of support). Assuming that running the rewrap algorithm over text already wrapped by the browser doesn't stuff it up, then that would be fine too. Seth: > My point is > that we can satisfy both camps by allowing maintainers (rather than users, who > usually will not know of or care about the difference) to choose their poison > with a parameter, and let template customization take care of the rest. Except you can't; because (in the b.m.o. case most flagrantly) different users want different things in the same installation. Myk: I entirely respect your right as component owner to decide about this bug - it's definitely a UI issue. A couple of clarification questions about your plan: - I presume it removes wrap='hard'. Do you plan to use wrap='soft', or no wrap attribute? - Which browsers do the irritating all-on-a-single-line thing, and how do we stop them? (Is wrap='soft' the answer to this question?) - Could we make the new algorithm not apply to existing comments (by using e.g. the comment submitted date)? Would that be desireable? - How are diffs, code and diagrams detected? Do we use a magic <nowrap> tag, or some heuristic? Gerv
>- I presume it removes wrap='hard'. Do you plan to use wrap='soft', or no wrap > attribute? >- Which browsers do the irritating all-on-a-single-line thing, and how do > we stop them? (Is wrap='soft' the answer to this question?) My plan uses wrap="soft" for browsers that recognize it (which should be about the same list as those that recognize wrap="hard") to wrap content in browsers that don't do it automatically (f.e. Netscape 4.x and early versions of Mozilla). Sorry, I don't have a good list of browsers that do all-on-one-line even when we specify wrap="soft", but I suspect that those browsers don't support wrap="hard", so we don't lose anything in this respect by switching. >- Could we make the new algorithm not apply to existing comments (by using e.g. > the comment submitted date)? Would that be desireable? Yeah, we could do that. As for desirability, it depends on what we get for what we lose. On b.m.o, for example, applying it to all comments fixes the existing problems with wrap="hard" and possibly a bunch of poorly wrapped quotes, while at the same time it probably messes up some other comments. We need to see how good we can get the section detection before we make a decision about this. >- How are diffs, code and diagrams detected? Do we use a magic <nowrap> tag, > or some heuristic? My current thinking is that we use a heuristic (i.e. section detection) in most cases so we don't make users have to deal with it. For those rare cases where expert users know we won't detect their sections correctly, we can provide a tag to specify that sections (or possibly entire comments) shouldn't be wrapped.
IE5.5 breaks URLs, to name one. Wrap=soft causes most browsers to wrap as they display the input, but not to insert the breaks in the data.
It should be possible to wrap text at some "usability-guideline-friendly" fraction of the full window width, within a HTML tag. It should be easy to pick this size to be within Gerv's usability constraints. This a) requires no processing of comment text and b) will also preserve _exact_ content as typed by the commenter if desired by the reader. This will wrap _everything_, including URL's and diffs and diagrams, but because it is done dynamically in the user's browser at the time of display, it should be trivial to either provide a means of viewing a comment un-wrapped (eg, go to any html page with table-wrapped text and copy a paragraph into notepad, suddenly it is only one line), or to make the comment viewing area resizable. Why not just put the comment viewing area inside a frame or iframe of a width that meets Gerv's usability constraints by default? (Is there some legacy browser targetting preventing this?) Then within that frame have a table of width=100%. Text within the frame should flow to fill the frame. If the frame is left resizable then if there is a diff or diagram that is mangled by this, the viewer can resize the window. This is also a "cheaper" way to provide per-user width preferences than having Bugzilla process every comment to a user pref. There are downsides though, such as making it more difficult to link to a specific comment (this can be acheived by allowing direct links to the frame to add a "view full report" button or something). The frame, when created by an actual report would include a form parameter to indicate that this need not be done (eg, frame=true). It should also be possible, using javascript (again, only if such is allowed for bugzilla) to provide a resizing mechanism for non-frame HTML elements. The default size could still be defined by owners of Bugzilla installations, and/or controlled by individual users as a preference. Note, this comment written in IE 6.0 SP1. Earlier versions of IE exhibited the non-wrapped bug bug. If this comment doesn't wrap, then I would submit that fixes that don't deal with this well will make Bugzilla less useful as a product for the non-mozilla crowd. *g* Regards, Sam
Wow, you guys have been busy chitchatting in here the last couple days. Since my comment was requested (about 20 comments ago or so I think), I just thought I would chime in and mention that I don't have any additional comment, because Myk just said everything that I could have (and more) in comment 138. My personal preferences for how to fix it were made known earlier in the bug.
Comment on attachment 84226 [details] [diff] [review] Line wrapping patch for 2.16-ish bugzillas - still works for 2.17.4 This is doing server-side wrapping at submission time, whereas I think what we need is server-side wrapping at display time.
Attachment #84226 - Flags: review?(myk) → review-
I like patch 84226 (we can celebrate its birthday in a couple of days). - Incoming comments reach the database exactly as they would with the status quo and a browser supporting wrap="hard" - Incoming comments from browsers not supporting wrap="hard" get fixed, making it look like they do support it This leaves nobody any unhappier, but all those people happier who don't like too-long lines in comments. (This includes me, by the way.) Did I miss anything? I would like to see the patch checked in as an intermediate solution while working towards a final one, for example Myk's proposed solution in comment 138.
*** Bug 218904 has been marked as a duplicate of this bug. ***
Attached image the screecopy in my bugzilla server (deleted) —
Comment on attachment 58498 [details] [diff] [review] Patch v2 Myk, Look this one over. It does exactly what you are asking for without the problem you mention for attachment 84226 [details] [diff] [review]. Perhaps you have a suggestion to deal with Gerv's (-)....
Attachment #58498 - Flags: review?(myk)
We just migrated 2000 defects from another product (Jitterbug) and now we have a database full of unwrapped descriptions. The defects that we used in the testing of the migration were wrapped, but many of the latter ones, the ones that are still open, are not. I have applied the patch (attchment 84226) and so future defects won't be long (forget the 72 or 80 debate I made it 132!--learn to move your head or sit further back from your monitor) Any suggestions, assistance, other comments, that might help convert the 9000 odd rows in longdescs? (PS this is another reason to wrap on fetch rather than on post).
Walter Görlitz, add this to your /css/edit_bug.css and it should wrap perfectly. div pre { white-space: -moz-pre-wrap; /* Mozilla, supported since 1999 */ white-space: -pre-wrap; /* Opera 4 - 6 */ white-space: -o-pre-wrap; /* Opera 7 */ white-space: pre-wrap; /* CSS3 - Text module (Candidate Recommendation) http://www.w3.org/TR/css3-text/#white-space */ word-wrap: break-word; /* IE 5.5+ */ }
might as well add: white-space: -hp-pre-wrap; /* HP printers */ ...while you're at it. :-)
Should have added, migrated to 2.16.4 It looks to me as though you're on a 2.17 branch. Because the only cascading style sheets that I see are buglist.css and panel.css, not edit_bug.css. Also, the title seems to imply that it is called when editing, does this include viewing (and with the additional patch, when printing to HP printers)? Thanks for the info though. PS: the roadmap doesn't indicate when a) 2.18 is planned for release and b) if this feature will be a part of it. A road map without listing distance to the next milestone is sort of, um, useless. (sorry about the additional commentary).
The roadmap does show what features are planned for the release, and states that the release will happen when those features are ready. That's by no means an indication that other features won't be included in it, just that the ones listed need to be. You can't give a timeline unless there's folks being paid to ensure it's met, and all the developers are volunteers working in their spare time.
Walter said: > learn to move your head or sit further back from your monitor Some of the studies referenced in other comments in this bug may cause you to change you mind. Reading text that wide (in terms of number of characters) is harder for the user. Gerv
Severity: blocker → major
three comments. Frist: I understand that long lines text can be hard to read and comprehend. That's from a user interface standpoint, but even 70 characters are too long for that. My primary concern was that comments were 1) being cut-off when printing and 2) that lines that are too short when printing waste trees (sorry--I'm a tree-hugger). Second: We are using the 2.16.4 version with data migrated from another product. So we have no edit_bug.css to modify. I have found that if I edit header.html.tmpl and add the following change after <head> <title>[% title FILTER html %]</title> that we get the desired effect. Migrated bugs are wrapped correctly and new bugs are not wrapped in strange places. [%# note: the following style tags are designed to wrap long messages %] <style> pre { white-space: -hp-pre-wrap; /* HP printers */ white-space: -moz-pre-wrap; /* Mozilla, supported since 1999 */ white-space: -pre-wrap; /* Opera 4 - 6 */ white-space: -o-pre-wrap; /* Opera 7 */ white-space: pre-wrap; /* CSS3 - Text module (Candidate Recommendation) http://www.w3.org/TR/css3-text/#white-space */ word-wrap: break-word; /* IE 5.5+ */ } </style> Third: I fully understand how product releases work, open source or not. The ideal should be that a release date should be picked to light a fire under the owners's proverbial seats. The comment that I have been getting when I tell people that a bug fix will be in release 2.18, they ask when is that. It is not a good reflection on the Bugzilla project to say, well, 2.16 was released 18 months after it was announced and 2.18 hasn't been announced yet.
> The ideal should be that a release date should be picked to light a fire > under the owners's proverbial seats. I can see no ideal in that. I don't think you get quality software from stressing the programmer. Sorry for the kind of off-topic comment, but I couldn't let that postulate stand alone.
Regarding the release policy discussion, please take it to mozilla-webtools. It doesn't belong here. My reply to comment 155 can be found there.
Comment on attachment 58498 [details] [diff] [review] Patch v2 This isn't at all what I've described in comment 138. This doesn't wrap at all, apparently, except at explicit line breaks. I want something that *does* wrap at 80 characters, but on the server-side at display time rather than on the client-side on submission.
Attachment #58498 - Flags: review?(myk)
If server-side wrapping at display time is too expensive for processing on the server, then we might want to do a server-side cache (mentioned before by me, just adding to my description of this idea) of the comments section of often-used bugs. Template-toolkit should make this less complicated, or perhaps there are perl modules better suited to the task. The advantage of caching only the comments is that if state changes can occur to Summary, etc, then as long as they add no new comments, we don't have to refreshed the cached data. The most oft-viewed 2% (number changeable by admin) bugs could be stored in a cache, with an array ranking them by number (or average #) of views. When a bug falls off the end of the array, then the cache is deleted. That way, we won't have cache hanging around of old active bugs that are now closed. Rankings could be done by a weighted average of views by day in the last week, and then added to a weighted average of views by week for the last n weeks. We'd need to keep track of which bugs have had comments added in the last day, because those are the only bugs that would be of interest for adding to the list of 5% most active bugs. A column in the bug would have a 1 if its cached, and a 0 if its not. When a comment is submitted of a cached bug, the cache will need to be updated. The assumption here is that an active bug is viewed much more than a comment is sent (since users will probably check whether their own comment appeared correctly after submission, this is probably a logical assumption). Earlier, it was suggested that a cache would be too much work to fix this bug, but the advantages of having such a cache would reach beyond just this bug. The biggest issue with the cache would be it could get in the way of future enhancements for more user-based customization of comments appearance.
Wrapping text is not very expensive. It's less expensive than processing a TT template, which we do all the time :)
Server-side caching doesn't work because different people get different comment text depending on e.g. the groups they are in, and the groups any mentioned bugs are in. By the time you've cached various versions, and worked out which, if any, you can use, you might as well re-render the thing for that person. Gerv
*** Bug 234492 has been marked as a duplicate of this bug. ***
Severity: major → critical
Target Milestone: Bugzilla 2.18 → Bugzilla 2.20
a test :)
Depends on: 21354
I am still getting this problem with Firefox 0.9 - it really annoys some people when reporting bugs that they have to scroll left to right in order to read them, and it annoys me to have to remember to put line breaks in. This works for every other application of text-areas I have seen on the web, so why is it STILL broken in bugzilla? This bug has been going for five years, and reading the comments already made it seems like one that isn't that complex to fix.
DunxD: Firefox supports wrap="hard", so I don't quite know why your copy is not wrapping lines correctly... which OS are you using? Gerv
(In reply to comment #164) I add a similar problem a while ago. My anti-ads proxy, proxomitron, was responsible (see comment #96)
Ok, I am going to test with Proxomitron off, and see what happens. If this works, we need to find out which specific filter in Proxomitron changes "hard" to "soft". Then we can still use Proxomitron and Bugzilla together. Ok, sounds good, I am going to submit this now.
Looks like Proxomitron is the culprit. Everyone who uses Proxomitron, make sure you have "Wordwrap all form textboxes" unchecked. I am posting this with Proxomitron ON but "Wordwrap all form textboxes" OFF. Bugzilla SHOULD work now. Let's see.
WFM Mozilla/5.0 (Windows; U; Win 9x 4.90; en-US; rv:1.7) Gecko/20040614 Firefox/0.9.
*** Bug 137016 has been marked as a duplicate of this bug. ***
Flags: approval2.16+
Flags: approval2.16+
I think I'm missing something here. The "solution" seems simple: 1) Get rid of the non-standard "wrap=hard" 2) Replace the <pre>...</pre> tags in the output with standards compliant HTML (style=, <tt>, etc.) that forces a monospaced font. 3) Convert hard returns in the data to <br>'s on the way out. The only potential problem I see with this is realy odd browsers that would strip the hard returns out of the text box on submission.
Ray and/or Tosca: have you read every comment in this bug? For example, how does your solution preserve the wrapping of comments at 80 characters? Gerv
>Ray and/or Tosca: have you read every comment in this bug? In particular, see comment 138.
Whiteboard: [content:comments] → READ COMMENT 138 BEFORE PROPOSING SOLUTION [content:comments]
(In reply to comment #171) > 2) Replace the <pre>...</pre> tags in the output with standards compliant HTML (style=, <tt>, etc.) that forces a monospaced font. A monospaced font is not enough; sequences of whitespace should also be preserved. <tt> forces a monospaced font, but collapses a sequence of spaces into one.
An update on pre-wrap and similiar. This comment #150 method works on every commonly used browser but konqueror (and I haven't tested Lynx): pre { white-space: -moz-pre-wrap; /* Mozilla, supported since 1999 */ white-space: -pre-wrap; /* Opera 4 - 6 */ white-space: -o-pre-wrap; /* Opera 7 */ white-space: pre-wrap; /* CSS3 - Text module (Candidate Recommendation) http://www.w3.org/TR/css3-text/#white-space */ word-wrap: break-word; /* IE 5.5+ */ } http://bugs.kde.org/show_bug.cgi?id=26326 Why can't we wrap the text ourselves on incoming comments like comment #164? I really don't see any reason people need to be able to enter more than 80 characters, unless its an URL or other long word. There is a rule of thumb with online documents that you should not make them have more words than the page of a book, because otherwise it makes them hard to read. If they want to do something fancy, they could attach a text file... We could also offer some bbs-like tags, like [nowrap] ... [/nowrap] and have a checkbox (unchecked by default) that says: [] Interpret special commands
----- Re: Comment #172: >For example, how does your solution preserve the wrapping of comments at 80 >characters? I don't think you'be be able to get exactly 80 characters via a pure HTML/CSS solution. Unfortunately, as far as I understand CSS2, you can only specify paragraph widths as absolute pixels, % of total width, or the same as the "inherited" width. The only way I see getting close to exactly 80 chars would be to have the paragraph widths be based on the width of the textarea, which you can specify width by characters. I feel that should be close enough. If it truly must be wrapped at 80 characters (See below), then the display routines should wrap the data on output. I'm not a Perl expert, but this is fairly trivial to do in the various C flavors, DataBASIC, etc.. Given your requirement: "Someone types a comment of multiple lines into a Bugzilla comment box and hits submit, and it turns into HTML which is in a monospace font and wrapped at 80 chars", the current implementationis only viable if somebody is using a browser that implements the non-standard "wrap=hard". First, it is a rather poor design choice to reply on things being done incorrectly and, second, I doubt the bugzilla group has the same clout that Microsoft has and forcing everybody to adopt a (currently/temporarily) common perversion of the standard isn't really going to work, especially since non-IE, non-Mozilla browsers are becoming more common. Two other ideas that just came to me while typing is to dump each reply into a textarea with the disabled and column width properties set or to use frames and let people adjust the width of the comments independently of the . I don't know how browsers will vertically size the boxes based on the text and other folks despise frames, so these may be cures that are worse than the disease. ----- Re: Comment # 174 >> 2) Replace the <pre>...</pre> tags in the output with standards compliant HTML >> (style=, <tt>, etc.) that forces a monospaced font. > >A monospaced font is not enough; sequences of whitespace should also be >preserved. <tt> forces a monospaced font, but collapses a sequence of spaces >into one. I had forgotten about that, but comment 36 addresses that by converting formatting spaces into non-breaking spaces. ----- Re: Comment # 173 >In particular, see comment 138. There's a lot that I agree with in there, but this whole topic exposes what I feel are the main problems with a lot of web development. I know that, to some people, this will come off as an outsider sticking their nose too far where it's not wanted, but that's not the intent. The first is that folks want HTTP/HTML/CSS to replicate things that they are used to (not necessarily better, just what they're used to) with their old green screen/session-based/native GUI applications, or they expect HTTP/XHTML/CSS to behave like postscript/PDF/troff/a printing press/any other this is the way I want it displayed, damn the users' preferences, settings, screen size, etc. tool. There are short comings in HTML/CSS, and they should be worked around, but not at the expense of folks that actually follow the standards. Do we blindly insist on pushing and pulling a new saw across a log even though we have a chainsaw instead of a handsaw? Do we tell kids that have never seen an LP that they're going on like a broken record? Tools change, languages change, you have to adapt processes and work flows for the new tools and changes to the language. I really feel that the "WWW" way of doing this is to let the text wrap to the window width and let people adjust their windows so the text is at the right width for them to skim effectively. This is actually a better route than a strict 80 (or 78, or 72) characters, because some people need bigger fonts and then 80 chars would be too wide and others like tiny fonts, so 80 chars would be too narrow. Admittedly, this will take a reformatting of the info at the top of the page because too much of the info is too wide to fit in a skinny window without scroll bars. That leads to second problem: Developers not following the standards and then blaming the end user because everything appears as the developer intended viewed in their particular version of one particular browser, on one particular OS pulled in over their LAN, so obviously there can't be a single error in their code. There are times that bleeding edge solutions are needed (and Bugzilla isn't one of them), and the right design choice is to require users to use products that are non-standards compliant, platform specific, etc. but very few projects require this. How much excess, fragile and bug-prone code exists simply to work-around bugs in other people's code that then never get fixed because everybody else has worked-around their mistakes? How many people grumble that Microsoft didn't follow the standard for: DHCP, CHAP, KERBEROS, etc. so everybody has to support the bug, or complain that Apple's SCSI connectors were non-standard (SCSI was oficially standardized years after Apple started shipping computers with on-board SCSI.), yet hypocritically blame the non-IE/non-Mozilla browsers for not replicating the long standing bugs/misimplementations/quirks/etc. that exist in their browser of choice? HTML 4 has been out for seven or eight years now hasn't it? Why is it the fault of the standards compliant developers and not the fault of the developers that aren't following the standards? ----- Ray
----- Re: Comment #172: >For example, how does your solution preserve the wrapping of comments at 80 >characters? I don't think you'be be able to get exactly 80 characters via a pure HTML/CSS solution. Unfortunately, as far as I understand CSS2, you can only specify paragraph widths as absolute pixels, % of total width, or the same as the "inherited" width. The only way I see getting close to exactly 80 chars would be to have the paragraph widths be based on the width of the textarea, which you can specify width by characters. I feel that should be close enough. If it truly must be wrapped at 80 characters (See below), then the display routines should wrap the data on output. I'm not a Perl expert, but this is fairly trivial to do in the various C flavors, DataBASIC, etc.. Given your requirement: "Someone types a comment of multiple lines into a Bugzilla comment box and hits submit, and it turns into HTML which is in a monospace font and wrapped at 80 chars", the current implementationis only viable if somebody is using a browser that implements the non-standard "wrap=hard". First, it is a rather poor design choice to reply on things being done incorrectly and, second, I doubt the bugzilla group has the same clout that Microsoft has and forcing everybody to adopt a (currently/temporarily) common perversion of the standard isn't really going to work, especially since non-IE, non-Mozilla browsers are becoming more common. Two other ideas that just came to me while typing is to dump each reply into a textarea with the disabled and column width properties set or to use frames and let people adjust the width of the comments independently of the . I don't know how browsers will vertically size the boxes based on the text and other folks despise frames, so these may be cures that are worse than the disease. ----- Re: Comment # 174 >> 2) Replace the <pre>...</pre> tags in the output with standards compliant HTML >> (style=, <tt>, etc.) that forces a monospaced font. > >A monospaced font is not enough; sequences of whitespace should also be >preserved. <tt> forces a monospaced font, but collapses a sequence of spaces >into one. I had forgotten about that, but comment 36 addresses that by converting formatting spaces into non-breaking spaces. ----- Re: Comment # 173 >In particular, see comment 138. There's a lot that I agree with in there, but this whole topic exposes what I feel are the main problems with a lot of web development. I know that, to some people, this will come off as an outsider sticking their nose too far where it's not wanted, but that's not the intent. The first is that folks want HTTP/HTML/CSS to replicate things that they are used to (not necessarily better, just what they're used to) with their old green screen/session-based/native GUI applications, or they expect HTTP/XHTML/CSS to behave like postscript/PDF/troff/a printing press/any other this is the way I want it displayed, damn the users' preferences, settings, screen size, etc. tool. There are short comings in HTML/CSS, and they should be worked around, but not at the expense of folks that actually follow the standards. Do we blindly insist on pushing and pulling a new saw across a log even though we have a chainsaw instead of a handsaw? Do we tell kids that have never seen an LP that they're going on like a broken record? Tools change, languages change, you have to adapt processes and work flows for the new tools and changes to the language. I really feel that the "WWW" way of doing this is to let the text wrap to the window width and let people adjust their windows so the text is at the right width for them to skim effectively. This is actually a better route than a strict 80 (or 78, or 72) characters, because some people need bigger fonts and then 80 chars would be too wide and others like tiny fonts, so 80 chars would be too narrow. Admittedly, this will take a reformatting of the info at the top of the page because too much of the info is too wide to fit in a skinny window without scroll bars. That leads to second problem: Developers not following the standards and then blaming the end user because everything appears as the developer intended viewed in their particular version of one particular browser, on one particular OS pulled in over their LAN, so obviously there can't be a single error in their code. There are times that bleeding edge solutions are needed (and Bugzilla isn't one of them), and the right design choice is to require users to use products that are non-standards compliant, platform specific, etc. but very few projects require this. How much excess, fragile and bug-prone code exists simply to work-around bugs in other people's code that then never get fixed because everybody else has worked-around their mistakes? How many people grumble that Microsoft didn't follow the standard for: DHCP, CHAP, KERBEROS, etc. so everybody has to support the bug, or complain that Apple's SCSI connectors were non-standard (SCSI was oficially standardized years after Apple started shipping computers with on-board SCSI.), yet hypocritically blame the non-IE/non-Mozilla browsers for not replicating the long standing bugs/misimplementations/quirks/etc. that exist in their browser of choice? HTML 4 has been out for seven or eight years now hasn't it? Why is it the fault of the standards compliant developers and not the fault of the developers that aren't following the standards? ----- Ray
{Whoops. I got a connection failure error. Didn't realize the post actually went through. Sorry for the dupe.} Hey, what about word wrap via CSS: <http://www.w3.org/TR/CSS21/text.html#white-space-prop>? It supports hard wraps and soft wraps independent of whitespace compression. Ray
> you can only specify paragraph widths as absolute pixels, % of total width, or > the same as the "inherited" width We can't use pixels because of different font sizes. We can use "em". em is based on font width, isn't it? Look at http://www.thenetdragon.net/blog/ for an example of the usage of "em". I wanted to limit the width of the lines to the width of a normal book page (natural best line width) regardless of font size and resolution. From its source: div#centerBox { max-width: 45em !important; ... Please read comment #138, btw white-space has been discussed. We could use the white-space attribute, but not all browsers support it. Therefore we'd be in the same boat. <offtopic>A joint Bugzilla account. Interesting. Good idea, though.</offtopic>
You'll find if 80 chars wide is what you are after, div#centerBox { max-width: 80ex !important; ... will get you really close, regardless of user settings.
The CSS3 text module should offer up something for this. I don't know if wrap-option has all of what we need... http://www.w3.org/TR/css3-text/#wrap-option Bug 99457.
It looks like the CSS properties are only presentational. Hixie's new Web Forms 2.0 working draft includes wrap=hard: http://www.whatwg.org/specs/web-forms/current-work/#extensions3 Still, this bug will not go away until all commonly used browsers use Web Forms 2.0, which may take years.
All commonly used browsers support wrap=hard as per Web Forms 2.0.
Too bad that wrap=hard breaks URLs in the middle.
Life is tough. :-) Indeed, it seems that if we wait a bit, this bug may go away. Perhaps the Bugzilla project developers need to have a discussion about what weight they should give to WHATWG standards, at what stages of WHATWG's process as outlined here: http://www.whatwg.org/charter . Gerv
Blocks: 47251
Attached patch our server's solution (obsolete) (deleted) — Splinter Review
some food for thought
Attached file some ideas on display time wrapping (deleted) —
some food for thought too
No longer blocks: 47251
*** Bug 167802 has been marked as a duplicate of this bug. ***
Attachment #163369 - Flags: review?
Comment on attachment 163369 [details] [diff] [review] our server's solution Unfortunately, this seems to require the user to know whether or not they want to wrap, which isn't something I can reasonably expect the average Bugzilla user to know. All we really need is a simple way to do server-side, display-time wrapping without breaking URLs. I think that really, it could just be achieved in this way: (1) Wrap the raw text to the user's/admin's preference. (2) When we "linkify" the text, the "linkification" subroutine can unbreak URLs. Pretty simple, really. We don't have to worry about "unwrapping" old comments, even. If we *want* to worry about that later, in another bug, there's various algorithms around in various editors that can do it, that we can look at. It doesn't need to happen in the CSS; that's not the most important. It's just important that it happen on the server-side, and the wrapping isn't hard-coded into the DB. That's the actual *feature* that most users *need*. It would be cool to do it in CSS (I like CSS), but we don't need to do it. We could even have a checkbox that says, "Don't automatically wrap my text" when you enter a comment, and it would be set to "true" for all of the currently existing comments, to preserve their wrap.
Attachment #163369 - Flags: review? → review-
In fact, I'm going to implement it.
Assignee: justdave → mkanat
Status: ASSIGNED → NEW
OK! Here ya go. This requires the patch on bug 279700 (which just needs to be checked-in to CVS, at this point, by the way).
Attachment #58498 - Attachment is obsolete: true
Attachment #84226 - Attachment is obsolete: true
Attachment #163369 - Attachment is obsolete: true
Attachment #172857 - Flags: review?
Comment on attachment 172857 [details] [diff] [review] Wrapping at display-time, perserve old wrapping, v1 (use -p1) So basically this patch: -> uses Text::Wrap to do the wrapping. We already use it, the patch simply moves it from one place to another. Either we already have checksetup.pl checking for its dependency, or it's a standard module. -> keeps the wrapping at 80. That's ok. While others suggested to put it at 72 or something like that in order to allow quoting by email clients, I think that should be another bug. -> stores the attachments unwrapped in the database. That's a really neat thing to do. In the future, this will allow us to offer, user-based, a setting regarding the number of columns in the viewer. (if we decide it's a good thing, of course, but the possibility exists! :) ) -> modifies the DB schema, in order to store on an additional column if the comments were wrapped or not already. Sensible thing to do. -> Eliminates the wrapping done in attachment.cgi-only during post time, in order to keep the comments unwrapped in the DB. -> implements the wrapping thing at display-time twice, once in globals.pl::GetDescriptionAsText sub, used for emailing content, and the other time in Template Toolkit, using an additional wrapping filter. -> Removes the "hard" attribute from the textarea's HTML form. Nit: return ($removed, $added); } +sub wrap_comment ($) { + my ($comment) = @_; + + # Use 'local', as recommended by Text::Wrap's perldoc. + local $Text::Wrap::columns = COMMENT_COLS; + # Make words that are longer than COMMENT_COLS not wrap. + local $Text::Wrap::huge = 'overflow'; + # Don't mess with tabs. + local $Text::Wrap::unexpand = 0; + + return wrap('','', $comment); +} + sub format_time { my ($time) = @_; This should be 4-space idented, especially since the subs before and after it are 4-space idented as well. Can be fixed upon checkin.
Attachment #172857 - Flags: review? → review+
Comment on attachment 172857 [details] [diff] [review] Wrapping at display-time, perserve old wrapping, v1 (use -p1) I'm not quite happy with the storing in the database whether it was wrapped or not and blindly setting that on all of the existing comments during the upgrade. This means all of the comments that were previously screwed up (submitted from a browser that didn't support wrap=hard) are going to stay screwed up. I'd rather have the old ones fixed, since display-time wrapping lets us do that. That's half of the benefit of doing it that way. This was also one of Myk's requirements in comment 138, and I agree with him there.
Attachment #172857 - Flags: review-
Actually, no_wrap is to support having comments in the future that aren't wrapped, by user choice. I agree that it would be good to locate all the old unwrapped comments, but the algorithm to do that is pretty complex. We could provide a tool, in a bug separate from this one.
OK, the only way I'm going to buy that plan is if we get rid of the <pre> and change every other space to &nbsp; and other magic to preserve spacing, so that the stuff will at maximum wrap at the page width, no matter what.
It would be great if Max could talk us through the issues raised in comment 138 and tell us how his patch addresses them. > This means all of the comments that were previously screwed up are going to > stay screwed up. That's true - however, things have not got _worse_. Requiring the initial patch to make this thing better as well as making other things better does seem to be an example of the complaint on the mailing list - letting the best be the enemy of the good. Having said that, I think the algorithm to detect improperly-wrapped existing comments is actually fairly simple (although it might take a while to run). You just look for every comment for which the first eighty characters does not contain a \n. That will get the majority of them; a more complex algorithm to look for _any_ such run of letters > 80 would get all, I think. > the stuff will at maximum wrap at the page width, no matter what. One of the things I thought we'd established in the discussion (comment 115, comment 138) is that, for readability reasons, text by default should wrap at around the current width, and not at the page width? Gerv
As far as detecting code and other sections that should not be wrapped, you can use indentation. If a line of text begins with spaces, don't wrap it. Either way, existing indented lines probably shouldn't be wrapped to anything less than 80 chars. A lot of my comments would get horked if the code did that; I often use indentation to format bug reports and long comments.
Per Gerv's suggestion, I'm running through this comment and explaining how my patch addresses the issues. Also, I could add another feature to the patch that allowed somebody to somehow set no_wrap = 0 on a comment, thus fixing a broken wrap on certain comments. I could also provide a tool to locate comments that need such a thing, but the determination would probably have to be up to the admin. Wrapping all comments that don't end at 80 chars would break long URLs and certain attachment comments. (In reply to comment #138) > It *is* broken. Some comments (from browsers that don't support wrap="hard") > are unwrapped, while others (like lines of code or quoted sections) are > wrapped that shouldn't be. OK, obviously, we fix this, since we no longer depend on the browser. All new comments will be properly wrapped. > Also, the current system is inflexible, since it > doesn't provide any way to change our wrapping policy in the future or > accommodate non-traditional devices/clients (small screens, third-party > clients, etc.). The patch also easily allows this, since you can change COMMENT_COLS. It also centralizes all wrapping into one sub, so we can make COMMENT_COLS a parameter or something else, at some point. > We want to fix as much broken stuff as possible, The patch fixes broken stuff for the future, but not for the past. > regress working stuff as little as possible, Thanks to the checksetup code in the patch, we don't change the way any current comments are displayed, so nothing should regress. > make it possible to change Bugzilla's wrapping policy in > the future (f.e. letting the user agent wrap or wrapping to a different > width), and support non-traditional devices/clients. And this one's the same as I stated above. > We should choose > standards-compliant solutions where possible because of their overall > benefits, but standards-compliance is a secondary goal; our first priority is > making Bugzilla as usable as possible. Thankfully, the patch doesn't depend on the browser at all. Standards aren't even an issue. And it removes wrap="hard" from the textareas, which helps with some standards. > > Must this bug be fixed? > > No. We can resolve it WONTFIX if we decide that there is no good solution to > the problem. We can resolve it INVALID if we determine that wrapping is the > user agent's and user's responsibility. I don't think we've decided that. :-) > > What if I think he's wrong? > > Tough, or as the Brits say, hard cheese. Leaving the bug open and continuing > to argue about it and consider it when thinking about other bugs is not > better than making a decision--even one that some people disagree with--and > then moving on to other issues. Whatever we choose here (including not fixing > the bug at all) will not be the end of the world; it'll still work fine most > of the time for most people. I'd also like to accentuate this point. :-) > > What about a preference to control wrapping behavior? > > Most people don't bother with prefs, nor should they have to. We have a > responsibility to make informed decisions for our users, and we shouldn't > abdicate that responsibility just because a decision is hard to make. That's fine -- this patch gives the users no preference. > > What about some UI to control wrapping behavior? > > UI costs time and energy for users who have to fiddle with it. We should > provide the minimal UI necessary to allow users to do their work and hide > functions that will rarely be used. OK. The patch provides no UI, since it's not necessary. > > What about a tag to control wrapping behavior? N/A. > > How wide should textual content be generally? > > Not too wide, according to usability studies (see comment 115), which is why > the current behavior to wrap at 80 characters is a pretty good one. Cool. Patch uses 80 characters. > > So what's your proposed solution? > > Server-side rewrapping to 80 characters at display time (or cached for > performance), possibly using the Text::Autoformat module or other Perl modules > available to us (otherwise rolling our own), for the following reasons: > > 1. it displays text almost exactly the same as the current system, so it is > minimally disturbing to existing users; > 2. it fixes the problem of browsers that don't support wrap="hard"; > 3. it makes it possible for us to change our wrapping policy in the future and > to provide content to non-traditional devices and clients. Well, that's what I did. > > What about paragraphs which are currently hard-wrapped to more than 80 > characters? > > If possible, they should be rewrapped to 80 characters. Otherwise they should > be left as-is. That's what I did (leave them as-is). > > What about diffs and code? > > They should be detected and not rewrapped. The patch doesn't do this. I'm not aware of any code path that would actually allow me to determine that a comment is a diff or code, at display-time. > > What about quotes? > > They should be be stripped of quote markers, rewrapped, and then have quote > markers added back to them. I considered this -- I considered wrapping the attachment before it is displayed in the "Edit as Comment" box. But that would actually change the current behavior, so I figured that's another bug. > > What about diagrams? > > They should be detected and not rewrapped, and we should encourage users to > make diagrams available as attachments rather than comments. That's also ideal, but can be dealt with in another bug, if we want. We can also provide a "do not auto-wrap this text" check-box, if we want, thanks to the no_wrap column. > > What about all sorts of other wierd situations? > > We use wrap="hard" almost all of the time, and users almost never override > that intentionally. We can implement something server-side which is at least > as smart as wrap="hard" and probably much smarter, accounting for most > situations in which users want typical 80-character wrapping overridden. Yep. In fact, Text::Wrap, with the parameters I've set, is much smarter than some browsers when it comes to wrapping, and it's at least as smart as Mozilla. > > What if it's not perfect? > > It's not perfect now, and it never will be. That doesn't mean we shouldn't > improve the situation. Yep. It's not perfect. > > What about letting installations decide wrapping behavior? > > This can happen in a separate bug once we implement a solution that makes it > possible. Let's keep this bug focused. And in fact, it would be easy for an admin to change COMMENT_COLS. > > What if it's hard? > > Then we should implement any solutions that mitigate part of the problem (like > Gerv's idea to special-case known bad browsers) until someone has the time to > implement this. OK. Well, I've mitigated the problem for the entire future of all Bugzilla, by not pre-wrapping comments in the DB for the future. OK, that's that.
Status: NEW → ASSIGNED
(In reply to comment #197) > As far as detecting code and other sections that should not be wrapped, you can > use indentation. If a line of text begins with spaces, don't wrap it. But now that wrap="hard" is removed, I don't think we can detect server-side exactly how the comment was formatted in the text box client-side. > Either way, existing indented lines probably shouldn't be wrapped to anything > less than 80 chars. A lot of my comments would get horked if the code did > that; > I often use indentation to format bug reports and long comments. I think the idea is to leave existing comments alone, or perhaps to rewrap only those submitted by browsers which didn't support "wrap=hard" - i.e. those with long runs of characters without a \n. Gerv
(In reply to comment #199) > I think the idea is to leave existing comments alone, or perhaps to rewrap only > those submitted by browsers which didn't support "wrap=hard" - i.e. those with > long runs of characters without a \n. > err.. long runs that are not URLs
> Wrapping all comments that don't end at 80 chars would break long URLs and > certain attachment comments. Not if the 80 chars contained at least one space. My point is that, without too much difficulty, we can come up with a heuristic which marks-for-wrapping most of the current broken comments, while not breaking any working ones. But I assert that this is not _necessary_, either now or ever, and that it's definitely a separate bug. > We can also provide a "do not auto-wrap this text" check-box, if we want, > thanks to the no_wrap column. You can't both answer the "there should be no wrapping UI" point with "well, OK, there is no wrapping UI", and also answer the "what about problem comment type X?" question with "we can add wrapping UI" ;-) Another point to note is that (as outlined in comment 140) this patch will break Bugzilla in Netscape 4, because Netscape 4 requires "wrap=soft" in order to get soft-wrapping. I personally don't care, and think it's about time we made a group decision to dump NS4, but it should be noted. With regard to the code itself, this may seem like a nit, but would it be better to have a "wrapped" rather than a "no_wrap" column? I've always understood that it's good practice to have boolean fields consistently in the positive sense. This turns the field from a "display format" identifier to something which contains metadata about the comment itself - i.e. "this is already wrapped", rather than "don't wrap this when you display it, please". Either way, does it also make sense in checksetup.pl to set the field default to the no_wrap value, rather than set it to the wrap value and then set all instances to the no_wrap value with another line of SQL? Gerv
At its core, this bug is attempting to resolve three main conflicting requirements, which have been articulated at various points in its history. 1) People need to be able to add text to comments which is not just a succession of paragraphs. 2) There should be no UI for wrapping behaviour - users shouldn't have to bother with it 3) It should be possible to produce versions of comments wrapped in different ways, e.g. for new devices. Up to this point, Bugzilla deals with it by ignoring requirement 3. This patch changes things to respect requirement 3, but ignore requirement 1 (there's no way to request that your text not be wrapped). If this bug is ever to be fixed, one of these requirements has to go. Ditch requirement 1 -> Max's patch Ditch requirement 2 -> Max's patch with checkbox UI for wrapping control Ditch requirement 3 -> WONTFIX Having re-familiarised myself with all the issues here, I now think that 3 is the least important, and so we should WONTFIX this bug (at least in its more general form). I'd also accept the compromise of ditching requirement 2. But regardless of my opinion, would it add clarity if we discussed what to do in terms of the three requirements above, rather than patch behaviours? Or has this summary not captured the essence of the issue? Gerv
'My point is that, without too much difficulty, we can come up with a heuristic which marks-for-wrapping most of the current broken comments, while not breaking any working ones.' With all due respect, the fact you believe someone can come up with a reliable heuristic doesn't mean that such a heuristic actually exists. I suspect it would actually be pretty hard. 'You can't both answer the "there should be no wrapping UI" point with "well, OK, there is no wrapping UI", and also answer the "what about problem comment type X?" question with "we can add wrapping UI"' True. And that means there needs to be a solution to getting the right setting for "problem comment X" which doesn't involve UI - that seems to be a similar problem to the problem of what to do with previous comments, which means finding a reliable heuristic should indeed be part of this bug. If adding UI isn't acceptable, and there isn't a reliable heuristic, then we're back at "We can resolve it WONTFIX if we decide that there is no good solution to the problem." [edit: I just mid-aired with Gerv's comment, but I think this pretty much agrees with what he wrote]
The essence of the issue is that Bugzilla should have never stored comments pre-wrapped, and should have always wrapped them at display-time. We are now trying to fix that. It would indeed be nice if we could go back in time and fix this mistake, or write code that will do that for us, by altering the old comments. I think if it's reasonably possible, I'll do it. In fact, I could probably do it in checksetup with Gerv's algorithm below. (In reply to comment #201) > > Wrapping all comments that don't end at 80 chars would break long URLs and > > certain attachment comments. > > Not if the 80 chars contained at least one space. Oh, good point. Although I could also add code to checksetup to test that, it wouldn't catch certain attachment comments that I don't think were wrapped. (Maybe they're older comments, I'm not sure.) Aren't there some attachment comments that overflowed 80 characters with the quoting? Or am I imagining things? > You can't both answer the "there should be no wrapping UI" point with "well, > OK, there is no wrapping UI", and also answer the "what about problem comment > type X?" question with "we can add wrapping UI" ;-) Yes. At this point, there is no wrapping UI. We *could* add wrapping UI, but that would be a different bug. Good point, though. I prefer a tool or checksetup code to the UI solution that I proposed. Still, I don't think it's possible to fix our mistake of textarea wrapping with a reasonable solution that will work for 2/3rds of installs or more. I also don't think that the old comments are such a significant problem that this architectural mistake should not be fixed. In time, old comments will disappear as bugs close. > Another point to note is that (as outlined in comment 140) this patch will > break Bugzilla in Netscape 4, because Netscape 4 requires "wrap=soft" in order > to get soft-wrapping. I personally don't care, and think it's about time we > made a group decision to dump NS4, but it should be noted. Well, it won't entirely break NS4, right? It'll just make the textareas weird, as I understand. > With regard to the code itself, this may seem like a nit, but would it be > better to have a "wrapped" rather than a "no_wrap" column? I've always > understood that it's good practice to have boolean fields consistently in the > positive sense. Yeah. We could have a wrap_me column. I think you're right about booleans being true. > This turns the field from a "display format" identifier to something which > contains metadata about the comment itself - i.e. "this is already wrapped", > rather than "don't wrap this when you display it, please". Oh, I see what you mean... So it could be "wrapped" or "pre_wrapped." (I'd guess "wrapped" is simpler if less clear -- do you agree?) > Either way, does it also make sense in checksetup.pl to set the field default > to the no_wrap value, rather than set it to the wrap value and then set all > instances to the no_wrap value with another line of SQL? The field default is for the future. The other line of SQL is for the past. It gives me less code change to do, and it's also what really is the "default" from there on out.
OK, I figured out how to do it in SQL in checksetup. It runs LIGHTHING fast on landfill, too. I wonder how it would do on b.m.o. This should catch most of the mis-wrapped comments.
Attachment #172857 - Attachment is obsolete: true
Attachment #172900 - Flags: review?(justdave)
Comment on attachment 172900 [details] [diff] [review] Fix mis-wrapped comments, also (Patch v2) (use -p1) And vladd, too (to do some basic "yeah, that looks good" review), if justdave doesn't get to it, first.
Attachment #172900 - Flags: review?(vladd)
Oh, and there's a test installation at: http://landfill.bugzilla.org/bz11901v2/ Not sure if I mentioned that already.
Keywords: relnote
Oh, and I know that you're going to ask (:-D ): Yes, that SUBSTRING syntax, and that POSITION syntax are the same in MySQL and PostgreSQL, and they work on the MySQL 3.23 installation on landfill.
Attachment #172900 - Flags: review?(vladd)
(In reply to comment #204) > The essence of the issue is that Bugzilla should have never stored comments > pre-wrapped, and should have always wrapped them at display-time. Or, to put it in comment #202 terms, "Bugzilla should always have ignored requirement 1 and respected requirement 3." I don't think that's necessarily true - requirement 1 is pretty important IMO. A few current use cases for requirement 1: - The Bugzilla Helper (format=guided) - Reviews of patches - ASCII art - Any other sort of laid-out or formatted text [I apologise if my comment confused two issues - that of fixing the old comments, and the one above about conflicting requirements. This issue (conflicting requirements) is not a question of fixing the past, it's an issue of what we should be doing in the future.] Max: how important do you feel requirement 1 is? Gerv
I've just realised that I'm working under an assumption which may not be true. Is it true that Text::Wrap removes all existing single \n characters from the text before rewrapping it? As I understand it, by default (without a wrap attribute) modern browsers will send exactly what's in the text box - i.e. any explicit \n characters will get sent. And we'll store them in the database. Therefore, is Text::Wrap (or some replacement for it that we wrote) preserved all existing \n characters on new comments, as well as potentially adding new ones at whatever the wrap width was, most of the existing use cases for pre-wrapped text would continue to work. Is Text::Autoformat (which, having just read the documentation, seems very cool, and has a TT interface) the solution to this issue or any others? Gerv
(In reply to comment #211) > Is it true that Text::Wrap removes all existing single \n characters from the > text before rewrapping it? I don't think so. It seems to preserve what you put in when adding comments from the edit attachment page, and we're using the same code there. Text::Wrap::fill() is a separate call to eliminate single \n characters, and I don't believe we're using it here.
(In reply to comment #208) > You can see that the patch fails only to fix comments that *did* wrap, but > wrapped beyond 80 characters. It gives them a little "extra" wrap, which I > think is OK. > > Extra-wrapped: > http://landfill.bugzilla.org/bz11901v2/show_bug.cgi?id=213#c0 > http://landfill.bugzilla.org/bz11901v2/show_bug.cgi?id=411#c0 Yeah, those aren't so bad... they're readable without having to horizontally scroll at least. :) Maybe we should use 90 characters instead of 80 when fixing up the old comments? That'd allow for that fudge factor for the browsers that did wrap and did it a little wide, and it should still fit on most people's browser windows. That's just a nit though, I'm not real concerned on it.
Comment on attachment 172900 [details] [diff] [review] Fix mis-wrapped comments, also (Patch v2) (use -p1) Based on the interdiff with the previous patch and the successful demo on landfill I like this one.
Attachment #172900 - Flags: review?(justdave) → review+
Flags: approval+
(In reply to comment #210) > Max: how important do you feel requirement 1 is? Well, I think that if people want to write a comment that isn't just a succession of paragraphs, they can use an attachment. :-) I think it would be nice to be able to paste wide diagrams or MySQL output into a comment, but really we should encourage people in the documentation to use attachments if they have wide text (since they're probably trying to enter data, which is what attachments are pretty much for).
There is an easy solution to preserving requirement 1. Default to the assumption that the comment is just a series of paragraphs BUT provide a mechanism to let the author of a comment signal that the comment is preformatted. This mechanism could be a) A checkbox b) First line of comment is <pre> or .pre or something similar etc..
(In reply to comment #193) > This means all of the comments that were previously screwed up (submitted from a browser that didn't support wrap=hard) are going to stay screwed up. Just want to avoid confusion down the road. Somebody's going to read that and restart the, "Well they didn't use a standards compliant browser, so don't worry about them." sub-thread. The problem isn't that HTML standards compliant browsers didn't support the Netscape extension "wrap=hard", the problem is that the initial development relied on a browser-dependant feature and didn't handle wrapping server-side.
(In reply to comment #198) > > > What about a preference to control wrapping behavior? > > > > Most people don't bother with prefs, nor should they have to. We have a > > responsibility to make informed decisions for our users, and we shouldn't > > abdicate that responsibility just because a decision is hard to make. > > That's fine -- this patch gives the users no preference. Anyone got any real issues with CREATING a user preference to control this (i.e. a new bug dependent on bug 98123), since it seems like the code exists to make it happen? Also, for the record, I am also very much in favour of creating a UI element that would allow people to say, "Please put a line break *only* where I explicitly enter one" so that code with very long lines due to massive indentation (as just one example) could be left intact on the screen rather than wrapped and made unintelligible. That would definitely be a new bug, however; for the moment, though, this seems like a very good first step.
> Anyone got any real issues with CREATING a user preference to control this Yes. Whether a comment should be wrapped or not isn't a per-user issue so much as it is a per-comment issue, or per-section-of-comment issue. I don't think it should be a pref. ESPECIALLY if you set wrap="soft"; there's no practical way to tell whether one has wrapped a particular line or not in that case, so you'll wind up with worse wrapping problems when "I don't want comment wrapping" people try to hand-wrap their text. > > As far as detecting code and other sections that should not be wrapped, you > > can use indentation. If a line of text begins with spaces, don't wrap it. > But now that wrap="hard" is removed, I don't think we can detect server-side > exactly how the comment was formatted in the text box client-side. You can detect the sequence [newline][space], which is what I'm asking for. Lines of code and indented list items and suchlike will start with hard breaks. If you're indenting text, you don't do it by inserting spaces in a soft wrap, you put in a hard break first. So knowing the client's soft breaks isn't an issue.
(In reply to comment #219) > > Anyone got any real issues with CREATING a user preference to control this > Yes. Whether a comment should be wrapped or not isn't a per-user issue > so much as it is a per-comment issue, or per-section-of-comment issue. > I don't think it should be a pref. You nearly completly misunderstood my suggestion/question, possibly because I wasn't as clear as I should have been. The user pref I mentioned would control the value of COMMENT_COLS, allowing individul users to control the point at which they want their screens to wrap. People with big print could wrap sooner; people with big screens and good eyes could wrap later... or the Admin could override them all and not allow users to change their preference whatsoever. (Please read bug 98123 for discussion of how User Prefs are being implemented.) My entire second paragraph was about comments whose value is lessened should they be wrapped incorrectly, and the need for a *per-comment override* to ensure that the commenter's preferences take precedence over the viewer's. (If this happens at all, it would be as another bug, not part of this one.)
Max said: > Well, I think that if people want to write a comment that isn't just a > succession of paragraphs, they can use an attachment. :-) So all reviews of patches, for example, should be attachments? As I listed, there are several common use cases where comments are not just a succession of paragraphs, and we need to take them into account. Joel said: > Default to the assumption that the comment is just a series of paragraphs BUT > provide a mechanism to let the author of a comment signal that the comment is > preformatted. See comment #138, answers 8, 9 and 10. Shane said: > Anyone got any real issues with CREATING a user preference to control this > (i.e. a new bug dependent on bug 98123), since it seems like the code exists > to make it happen? Yes - it allows users to make Bugzilla less usable for themselves without realising that they've done so. See comment 115. fantasai said: > You can detect the sequence [newline][space], which is what I'm asking for. We should investigate using Text::Autoformat instead of Text::Wrap (before we check this in). From reading its docs, it has this capability, plus a number of others that would be useful. And there's also a TT2 plugin for it. Gerv
I don't see why we couldn't investigate Text::Autoformat *after* we check this in.
Can someone remind me again why we are actually changing the status quo? The standards-compliance argument was always secondary, and WHATWG may make it go away anyway. The only ability we would gain would be the ability to provide comments wrapped at an arbitrary width. Has anyone got a use for that? We can wave our hands and mumble "small devices", but these days, anything PDA-like can display 40 column or 80 column text with no problems. And who works with a bug system via a PDA anyway? Even PDA software developers use emulators on their desktops. Given that 80 columns is in the range of most usable widths (see comment 115), IMO we actively want to prevent users messing with the column width, either when they write the comment or when they display it. They'll just make Bugzilla less usable for themselves, perhaps without noticing it. Giving users that option should not be a priority, and we should certainly not be doing it at the cost of removing useful features like the ability to just write preformatted text without hassle, or making each user consider another piece of UI for comment wrapping control. We could certainly do something about the broken comments in the database, and in the future we can special-case the browsers which don't support "wrap=hard", but that doesn't require changing the way we submit comments now. Gerv
Right. Any discussion about any UI should not happen in this bug, bug should happen in some other bug. This bug is effectively closed for any further additions at this point.
Max: if comment 224 was a reply to comment 223, then you haven't read what I'm saying :-) My point is that currently, this patch regresses useful functionality without adding anything that anyone has found a use case for. So we shouldn't be committing it, unless we can either avoid regressing the useful functionality, or come up with a compelling use case for the new abilities. Gerv
(In reply to comment #225) > My point is that currently, this patch regresses useful functionality > without adding anything that anyone has found a use case for. What exactly is it that we're regressing that's so important to you? Reading over your last few comments, I can't tell, so please enlighten us.
(In reply to comment #225) > Max: if comment 224 was a reply to comment 223, then you haven't read what I'm > saying :-) My point is that currently, this patch regresses useful functionality > [snip] No, it doesn't regress useful functionality. Read the patch. Notice that all comments were previously wrapped before inserting them into the database, and now they are wrapped only when displayed. This is and was the case for both normal comments and attachment comments.
Shane pointed out to me that some people might misunderstand the patch: Text::Wrap doesn't touch any newlines that already exist in the text. If I type: this is some text In a comment, it will come out exactly that way. If I type some really long line, it will be wrapped, as long as it has a space in it. Actually, the wrapping behavior of this patch is much nicer than the current wrapping behavior, overall, because it works on all browsers and it *never* breaks long [valid] URLs.
OK, I've been doing some testing of the use cases I was worried would break. The good news is that some of them don't, at least not significantly :-) So I'm feeling a bit happier. However, two do. 1) quoting text which happens to be already close to the full width: http://landfill.bugzilla.org/bz11901v2/show_bug.cgi?id=2370#c7 The ideal solution would be for new text to wrap at (say) 74 chars, and for two chars to be added to the wrapping width for every level of quoting of the current paragraph. Alternatively, you wrap at 74 chars only if there's no \n in the next six characters. But I'm not sure we can implement either of those, at least not without writing our own wrapping module. I do think we should take a moment to see if we can solve this before checkin. The reason I say that is because once we have the current implementation, we are going to start getting comments which involve two levels of quoting which have unnecessary and ugly newlines in them. (I can explain what I mean here further if it's not clear.) 2) Patch reviews. http://landfill.bugzilla.org/bz11901v2/show_bug.cgi?id=2370#c10 Reading that review is much harder, because many of the quoted lines are now wrapped. We can't say "well, don't write such long lines of code, then" - the fact is, people do, and at the moment we cope well with it. This could perhaps by fixed by comments from the patch review box automatically being set to not be wrapped on display, but then the interspersed text wouldn't wrap, when currently it does. (Not sure how that works...) Any ideas? Gerv
issue 1 in comment 229 is a red herring (see) http://landfill.bugzilla.org/bz11901v2/show_bug.cgi?id=2370#c7 The defect is not in the wrapping code presented here but rather in the quoting code--it makes no assumption about width and just inserts > before any line. Fix that and you've fixed the wrapping problem.
issue 2 in comment 229 is a low-probablity problem again related to the quoting mechanism. The quoting not the wrapping code needs to be fixed.
(In reply to comment #229) Yeah, I did think about those two cases when writing the patch. The interesting thing about the patch now is that we can modify the wrapping behavior at any time that we want, now, after this patch is checked-in. So after we check in this patch, we can deal with it in one of a few ways that I can think of off the top of my head: (1) Modify the quoting code to wrap things to 80 characters. (2) Modify the wrapping code to "unwrap" quoted lines. (3) Modify the attachment editing stuff to wrap things before you edit them. In general, I think the best thing to do would be #1, but the others are possible, too. The "quoting a 77-character comment" thing happens now, anyhow.
OK, fair enough about issue #1. It's not any worse with the patch than it is now. But, as for issue #2, I don't agree that it's a low-priority or rare problem. Lines longer than 78 characters are pretty common in Mozilla code, for example - in .xul and .js files, such as the ones I used for my demo. Max's suggestion 2) would work, and perhaps solve other quoting issues too, but is it possible to control the behaviour of Text::Wrap in this way? Suggestion 3) doesn't solve the problem - the way to preserve readability is not to wrap the quoted lines. Wrapping them earlier or later in the process doesn't improve matters. Yes, we could attempt to fix it up after checkin, but that assumes that a fix exists. And all reviews done between the initial checkin and the fix would have this problem of being harder to read. Gerv
Max: would you be able to take 5 minutes to install Text::Autoformat and use the following magic recipe in place of your call to Text::Wrap? autoformat($text, { all => 1, right => 80, # or COMMENT_COLS fill => 0, squeeze => 0, ignore => qr/^> /, renumber => false, widow => 0, autocentre => false }); Having read the manual carefully, I think this may do what we want - including leaving quoted paragraphs unwrapped. Gerv
OK, so that's a regression. You can see: http://landfill.bugzilla.org/bugzilla-tip/show_bug.cgi?id=2323#c2 Which is how Bugzilla behaves now, which is nicer. I'll think about this a bit. And yeah, I'll look at that Text::Autoformat solution.
ok, clearing approval for now... Max's experiments on landfill seem to be going pretty good, so I'm sure he'll be spinning a new patch. :) Text::Autoformat looks cool so far.
Flags: approval+
Attached patch Version 3 (use Text::Autoformat) (obsolete) (deleted) — Splinter Review
OK, yeah. This version is better. :-) I like Text::Autoformat. Thanks for the suggestion, Gerv. The new version does not wrap lines that start with ">". In every other way, it *should* be the same.
Attachment #172900 - Attachment is obsolete: true
Attachment #173135 - Flags: review?(justdave)
Oh, and the test installation is still valid; it's running the latest version of this patch.
Comment on attachment 173135 [details] [diff] [review] Version 3 (use Text::Autoformat) Actually, this patch is bad. Hold for a new one.
Attachment #173135 - Attachment is obsolete: true
Attachment #173135 - Flags: review?(justdave)
Attached patch Version 3.1 (obsolete) (deleted) — Splinter Review
I also noticed that I had to fix the Linkify page. OK, this patch works, as tested on the same landfill installation in the URL field.
Attachment #173137 - Flags: review?(justdave)
Comment on attachment 173137 [details] [diff] [review] Version 3.1 >@@ -1836,6 +1837,7 @@ > work_time decimal(5,2) not null default 0, > thetext mediumtext, > isprivate tinyint not null default 0, >+ already_wrapped tinyint not null default 0, Nit: perhaps "iswrapped", to match "isprivate"? :-) >+# 2005-01-29 - mkanat@kerio.com >+if (!GetFieldDef('longdescs', 'already_wrapped')) { >+ AddField('longdescs', 'already_wrapped', 'tinyint not null default 0'); >+ # Old, pre-wrapped comments should not be auto-wrapped >+ $dbh->do('UPDATE longdescs SET already_wrapped = 1'); >+ # If a comment doesn't have a newline in the first 80 characters, >+ # and it contains a space, then it's probably a mis-wrapped comment >+ # and we should wrap it at display-time. >+ print "Fixing old, mis-wrapped comments...\n"; >+ $dbh->do(q{UPDATE longdescs SET already_wrapped = 0 >+ WHERE POSITION('\n' IN thetext ) > 80 >+ AND SUBSTRING(thetext FROM 1 FOR 80) LIKE '% %'}); >+} The problem here is that POSITION returns 0 if the string is not in the text, and so I don't think this will fix any of the comments which are completely on one line... http://dev.mysql.com/doc/mysql/en/string-functions.html You could fix this, I think, by also checking for the POSITION call returning 0. (First position is position 1). >+sub wrap_comment ($) { Is it worth calling it "wrap"? We may use it for other things later... >+ my ($comment) = @_; >+ my $autoformat_options = { >+ # Reformat all paragraphs, not just the first one. >+ all => 1, >+ # Break only on spaces, and let long lines overflow. >+ break => break_wrap, >+ # Columns are COMMENT_COLS wide. >+ right => COMMENT_COLS, >+ # Don't reformat into perfect paragraphs, just wrap. >+ fill => 0, >+ # Don't compress whitespace. >+ squeeze => 0, >+ # Lines starting with ">" are not wrapped. Paragraphs, actually. >+ ignore => qr/^>/, We should probably also include a single space after the > here, to cut down on false positives. >+ # Don't re-arrange numbered lists. >+ renumber => 0, >+ # Keep short lines at the end of paragraphs as-is. >+ widow => 0, >+ # Even if a paragraph looks centered, don't "auto-center" it. >+ autocentre => 0 }; Can we create this hash once, rather than every time we format a comment? Gerv
(In reply to comment #241) > (From update of attachment 173137 [details] [diff] [review] [edit]) > Nit: perhaps "iswrapped", to match "isprivate"? :-) Perhaps. I think "already_wrapped" is clearer as to what it actually means. > You could fix this, I think, by also checking for the POSITION call returning > 0. (First position is position 1). Cool. That should be easy to do. Good idea. > Is it worth calling it "wrap"? We may use it for other things later... Well, it's a filter. Just like any filter, it should really only do one thing. We could name it "reformat comment", I suppose, but I'd rather keep it at this one purpose for now. > >+ # Lines starting with ">" are not wrapped. > > Paragraphs, actually. Hrm... Well, I don't *unwrap* paragraphs that start with ">", so I think that might be confusing as a comment. > >+ ignore => qr/^>/, > > We should probably also include a single space after the > here, to cut down > on false positives. Actually, you'll note that attachment comments don't have that space. > Can we create this hash once, rather than every time we format a comment? Oh, good idea. :-) I'll make it an "our" variable at the top of the module.
Attached patch Version 4 (deleted) — Splinter Review
OK, here's version 4! I made the changes that I agreed I would make in the above comment.
Attachment #173137 - Attachment is obsolete: true
Attachment #173218 - Flags: review?(gerv)
Attachment #173137 - Flags: review?(justdave)
Comment on attachment 173218 [details] [diff] [review] Version 4 r=gerv. :-) But you should get signoff from Dave and/or Myk on something this potentially controversial. Gerv
Attachment #173218 - Flags: review?(gerv) → review+
Flags: approval?
Attachment #173218 - Flags: review+
This ought to be mentioned in the non-existant end-user documentation that we need to create ;) (probably in the same place where it mentions how stuff gets auto-linkified in the comments)
Flags: documentation+
Flags: approval?
Flags: approval+
Flags: documentation+ → documentation?
We have end-user documentation - Chapter 6 (currently) of the Bugzilla Guide. Gerv
Another five year-old bug bites the dust! Checking in attachment.cgi; /cvsroot/mozilla/webtools/bugzilla/attachment.cgi,v <-- attachment.cgi new revision: 1.68; previous revision: 1.67 done Checking in checksetup.pl; /cvsroot/mozilla/webtools/bugzilla/checksetup.pl,v <-- checksetup.pl new revision: 1.338; previous revision: 1.337 done Checking in globals.pl; /cvsroot/mozilla/webtools/bugzilla/globals.pl,v <-- globals.pl new revision: 1.300; previous revision: 1.299 done Checking in Bugzilla/Constants.pm; /cvsroot/mozilla/webtools/bugzilla/Bugzilla/Constants.pm,v <-- Constants.pm new revision: 1.16; previous revision: 1.15 done Checking in Bugzilla/Template.pm; /cvsroot/mozilla/webtools/bugzilla/Bugzilla/Template.pm,v <-- Template.pm new revision: 1.22; previous revision: 1.21 done Checking in Bugzilla/Util.pm; /cvsroot/mozilla/webtools/bugzilla/Bugzilla/Util.pm,v <-- Util.pm new revision: 1.20; previous revision: 1.19 done Checking in t/004template.t; /cvsroot/mozilla/webtools/bugzilla/t/004template.t,v <-- 004template.t new revision: 1.35; previous revision: 1.34 done Checking in template/en/default/bug/comments.html.tmpl; /cvsroot/mozilla/webtools/bugzilla/template/en/default/bug/comments.html.tmpl,v <-- comments.html.tmpl new revision: 1.14; previous revision: 1.13 done Checking in template/en/default/bug/edit.html.tmpl; /cvsroot/mozilla/webtools/bugzilla/template/en/default/bug/edit.html.tmpl,v <-- edit.html.tmpl new revision: 1.54; previous revision: 1.53 done Checking in template/en/default/bug/create/create-guided.html.tmpl; /cvsroot/mozilla/webtools/bugzilla/template/en/default/bug/create/create- guided.html.tmpl,v <-- create-guided.html.tmpl new revision: 1.22; previous revision: 1.21 done Checking in template/en/default/bug/create/create.html.tmpl; /cvsroot/mozilla/webtools/bugzilla/template/en/default/bug/create/create.html.tm pl,v <-- create.html.tmpl new revision: 1.42; previous revision: 1.41 done Checking in template/en/default/list/edit-multiple.html.tmpl; /cvsroot/mozilla/webtools/bugzilla/template/en/default/list/edit- multiple.html.tmpl,v <-- edit-multiple.html.tmpl new revision: 1.23; previous revision: 1.22 done Checking in template/en/default/pages/linked.html.tmpl; /cvsroot/mozilla/webtools/bugzilla/template/en/default/pages/linked.html.tmpl,v <-- linked.html.tmpl new revision: 1.8; previous revision: 1.7 done Checking in template/en/default/pages/linkify.html.tmpl; /cvsroot/mozilla/webtools/bugzilla/template/en/default/pages/linkify.html.tmpl,v <-- linkify.html.tmpl new revision: 1.5; previous revision: 1.4 done
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Whiteboard: READ COMMENT 138 BEFORE PROPOSING SOLUTION [content:comments]
Blocks: 282331
No longer blocks: 282331
This has been added to the release notes in bug 297590.
Keywords: relnote
*** Bug 308939 has been marked as a duplicate of this bug. ***
(In reply to comment #247) > Another five year-old bug bites the dust! I am afraid of that not at all the necessary places has this wrap been changed. We are using Bugzilla 2.20 at our office and found the followings (from the generated HTML output and from the template sources): * no wrap attribute at all in "Additional Comments" when changing a bug: <textarea name="comment" id="comment" rows="10" cols="80" accesskey="c"></textarea> * "Comment on bug" when editing attachments: <textarea name="comment" rows="5" cols="25" wrap="soft"></textarea> As I am a outsider I can't reopen this bug but please pay attention to this issue!
(In reply to comment #250) > We are using Bugzilla 2.20 at our office and found the followings (from the > generated HTML output and from the template sources): Of course, I mean the samples from the HTML output and NOT from the templates. Sorry.
(In reply to comment #250) > * no wrap attribute... Of course there's no wrap attribute. That's the whole point of the bug. They were all removed. Read the whole bug. :-)
Shouldn't all the "<textarea id="comment" name="comment" rows="5" cols="80"></textarea>" have their width set to COMMENT_COLS (or to a separate constant)? This would demonstrate the mamimum width of a comment while typing.
(In reply to comment #96) > Ok, never mind, I found the problem and it's on my side. I have an anti-ads > software (proxomitron). It seems that it adds the "wrap=soft", and for some > reason, it doesn't do it on my server. > > (and this comment should correctly wrap) > > Sorry about that. I just had the same problem with Bugzilla version 2.18.3. FYI the name of the filter to turn off in Proxoitron is "Wordwrap all form textboxes" I see that this has been talked about for years, literally, so I'm not going to suggest any more solutions :)
(In reply to comment #253) > Shouldn't all the "<textarea id="comment" name="comment" rows="5" > cols="80"></textarea>" have their width set to COMMENT_COLS (or to a separate > constant)? > This would demonstrate the mamimum width of a comment while typing. For a quick hack on tying the width of the field "Additional Comments" to the constant COMMENT_COLS see bug# 328089.
Bugzilla-2.20.1 recognises that wrapping should not be done by the browser. This is good. It does it later at bug-display-time. This is good too. BUT it does it on the server before it knows the browser width. We get ... use constant COMMENT_COLS => 80; ... which assumes things about the clients' resolution browser and window size. The attached patch against Bugzilla-2.20.1 delays comment wrapping still further. Now we do it on the browser which feels nicer somehow. I scale my browser and everything re-flows as I do so. :)
David: please read the rest of this bug. That sort of wrapping was rejected for very good reasons. Gerv
Attached patch documentation patch - draft1 (obsolete) (deleted) — Splinter Review
I took the bits Max wrote for the release notes and adding them to the user guide. Dave mentioned in the ticket to put this by the linkifaction bit, so that's why it is in the hintsandtips section. Thoughts?
Attachment #297448 - Flags: review?(documentation)
Comment on attachment 297448 [details] [diff] [review] documentation patch - draft1 You don't need the historical note, just an explanation of what bugzilla does and the use of the > character, I think.
Attachment #297448 - Flags: review?(documentation) → review-
Also, if there's some sort of section on using show_bug.cgi or something about the comment or description field, the docs would belong better there.
Attached patch draft 2 of docs patch (deleted) — Splinter Review
Thanks for the quick response! That is what I was originally thinking, so here is a slimmed down version.
Attachment #297448 - Attachment is obsolete: true
Attachment #297450 - Flags: review?(documentation)
Comment on attachment 297450 [details] [diff] [review] draft 2 of docs patch That's fine. If there's some better section for this, that would be good. You probably don't need to explain that it stores them unwrapped, but whatev.
Attachment #297450 - Flags: review?(documentation) → review+
tip: Checking in docs/xml/using.xml; /cvsroot/mozilla/webtools/bugzilla/docs/xml/using.xml,v <-- using.xml new revision: 1.73; previous revision: 1.72 done 3.0.3: Checking in docs/xml/using.xml; /cvsroot/mozilla/webtools/bugzilla/docs/xml/using.xml,v <-- using.xml new revision: 1.64.2.7; previous revision: 1.64.2.6 done 2.22.3: Checking in docs/xml/using.xml; /cvsroot/mozilla/webtools/bugzilla/docs/xml/using.xml,v <-- using.xml new revision: 1.37.2.23; previous revision: 1.37.2.22 done 2.20.5: Checking in docs/xml/using.xml; /cvsroot/mozilla/webtools/bugzilla/docs/xml/using.xml,v <-- using.xml new revision: 1.33.2.25; previous revision: 1.33.2.24 done
Flags: documentation?
Flags: documentation3.0+
Flags: documentation2.22+
Flags: documentation2.20+
Flags: documentation+
Just wanted to add this. This issue has been driving me nuts on a project for over a year. Wanted to record some 100 column log file output without wrap and just couldn't do it. If you are still struggling with the auto wrap, here is what I changed to fix. Very happy now! 1) diff ./template/en/default/admin/params/common.html.tmpl ./template/en/default/admin/params/common.html.tmpl.sav 43c43 < rows="10" cols="100">[% Param(param.name) FILTER html %]</textarea> --- > rows="10" cols="80">[% Param(param.name) FILTER html %]</textarea> 2) root@office:/var/www/bugzilla# diff ./skins/standard/global.css ./skins/standard/global.css.sav 300c300 < width: 75em; --- > width: 50em; 3) root@office:/var/www/bugzilla# diff ./Bugzilla/Comment.pm ./Bugzilla/Comment.pm.sav 148c148 < # (JM disabled) $body = wrap_comment($body); --- > $body = wrap_comment($body);
QA Contact: matty_is_a_geek → default-qa
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: