about summary refs log tree commit homepage
path: root/lib
DateCommit message (Collapse)
2014-10-05view: tweak attribution line
This reduces unnecessary white space and consistently places the attribution under the Subject.
2014-10-04view: make the thread index less claustrophobic
At the cost of some vertical whitespace. More bikeshedding...
2014-09-22view: relax line break detection
Often times any succession of "---" denotes the rest of the message is too long to review at once.
2014-09-15filter: ensure CRs do not show up in lynx conversions
Unix line endings are LF-only, so do not introduce or preserve CRLF line endings when reading from lynx.
2014-09-15index: drop signatures from nested output
We have a less-ambiguous "more..." link nowadays if somebody wants to see the full message.
2014-09-15hval: fixup bad line endings in HTML output
We should do this in filter, too, but sometimes we prefer to avoid filtering the message at all.
2014-09-15index: add prev/next index navigation
This helps readers jump around more quickly when there are large messages.
2014-09-15index group state parameters together for generation
This allows us to more-easily group and pass parameters.
2014-09-15view: standalone view shows link to index
Sometimes people come from sharing links and not the index, so the back button in their browser does not really go back.
2014-09-15view: kill unnecessary assignment
Not sure what I was thinking
2014-09-15view: support SHA-1 of Message-IDs for message links
Some Message-IDs are crazy long, so support SHA-1s for them instead. This allows shorter URLs to be generated and are less likely However, we'll still favor short Message-IDs whenever possible.
2014-09-15index: show short-ish permalinks to messages in threads
This should allow us to reference discussions more easily.
2014-09-13line-wrap generated HTML source around attrs for readability
It's important to keep HTML source readable to folks who prefer to read raw HTML. This should improve readability of the HTML source by keeping line length in check without wasting bytes.
2014-09-07feed: (cleanup) avoid redundant ->message call
Avoid redundant subroutine calls as their costs tend to add up.
2014-09-07feed: sort child messages (forward) chronologically
Only root messages should be sorted in reverse chronological order, child messages should be chronological. This gives precedence to _topics_, but also for initial replies. This improves readability when several messages appear at the same nesting level, and helps git patch series' appear correctly as: [PATCH 0/3] ... [PATCH 1/3] ... [PATCH 2/3] ... [PATCH 3/3] ... Instead of (what it was previously): [PATCH 0/3] ... [PATCH 3/3] ... [PATCH 2/3] ... [PATCH 1/3] ...
2014-09-07view: fixup dropped newline in the last commit
Oops!
2014-09-07view: avoid extraneous space for subject-only messages
Sometimes, the subject says it all.
2014-09-06view: reduce redundant linkage in index
There's no point in having a "(more...)" and "link" pointing to the same element, replace "link" with "more..." if we've omitted text from the index.
2014-09-03view: increase context in index views
It's probably better to show too much than too little, even if this means extra scrolling :< Otherwise, we end up punishing messages who quote minimally and end up loosing context. Unfortunately, too many people over-quote nowadays.
2014-08-31view: kill leading whitespace in index
Leading whitespace is pointless, but some folks end up adding it for some reason.
2014-08-31view: show quotes in index if parent is too old
It's helpful to show context if a message does not appear on the current index page.
2014-08-28view: tighten up regexps used for trimming index
The previous regexp matches were too aggressive w.r.t. scissors. We destroy trailing whitespace anyways, so do not worry about it when cutting signatures and patches off.
2014-08-28view: trim git patches delimited by /^---$/
Patches are usually better viewed standalone and are difficult to judge when nested. So save precious vertical space in our message index.
2014-08-28feed: deal with removed files
Sometimes we get spam and need to delete messages, we must prevent errors on missing messages from propagating.
2014-08-28feed: show permalink to home page
This will make it easier to bookmark an index page with threading context.
2014-08-28view: increase MAX_INLINE_QUOTED threshold to 12
12 lines is half an 80x24 terminal, so it is probably a reasonable amount to quote. Often 5 lines was not enough for context. This feature is mainly to reduce scrolling necessary to view pages.
2014-08-28redo main HTML index to show nested messages
This reduces the need for page reloads in common cases and should improve reading speed so users do not need to open many browser tabs. This will hopefully increase an encourage readership. The downside of this are increased server processing overhead and easier address scraping by spam bots.
2014-08-28view: Email::Address cache purge is optional
We will reuse the html_footer function in a nested index.
2014-08-26show date in top-level threaded index
This is probably useful information for folks browsing via web interface. It'll probably make more sense if we show the entire body in the threaded display, though.
2014-08-04filter: preserve QP when collapsing multipart
HTML clients also tend to send quoted-printable crap in their plain-text parts, preserve that so it's displayed correctly for all QP-capable handlers.
2014-05-21MDA: cleanse headers in case of delivery
We nuke DKIM headers because we modify headers and sometimes the body, which may invalidate the message. We'll also nuke whatever Mailman nukes from messages to avoid phishing and leaking information.
2014-05-08mda: drop RFC2369 support for now
That should be use down stream by delivery agents.
2014-05-07www: attempt to improve formatting of footer
This looks nicer to me (totally subjective and open to bikeshedding :P)
2014-05-07consistently whitespace wrap on <pre> sections
Horizontal scrolling is a usability problem for GUI browsers, so help them avoid it. I love GUI users, really! :)
2014-05-05www: set charset=UTF-8 in full message view
Oops, this was an oversight.
2014-05-05mda: attempt to prevent training loops
2014-05-05feed: add atom feed link to the bottom
This should improve navigation as browsers may not make it obvious there is an Atom feed.
2014-05-05view: add newline before list-wide footer
Otherwise the reply link gets squished.
2014-05-05www: multi-line cloneurl maps to multiple lines
URLs may be long, so give each its own line.
2014-05-05www: add footers to HTML index and message views
Some advertising is necessary.
2014-05-04add various TODO items
Screen space is precious, and we do not need it in the abbreviated view.
2014-05-02view: API cleanup, remove "as_" prefix
These views are not OO, so the "as_" prefix makes little sense and "as_html" conflicts with Hval, which is OO.
2014-05-02reduce copies by passing string refs to Email::MIME
This should reduce data copies and memory usage, according to Email::Simple documentation.
2014-05-02git cat-file wrapper uses syswrite for writes
The requests we make to git cat-file --batch are guaranteed to be smaller than the 512 bytes required by PIPE_BUF, so there will be no partial writes. Bypass Perl IO layers and write directly to the pipe to avoid needing IO::Handle here.
2014-05-01thread: limit scope of monkey patch
Future versions of Mail::Thread may be released to fix this bug. However, since it's been about 8 years since the bug was reported..
2014-05-01workaround Mail::Thread memory leak
Thanks to Ask for the patch in https://rt.cpan.org/Public/Bug/Display.html?id=22817
2014-05-01purge Email::Address cache
This prevents memory bloat in case we're serving many requests with a large, diverse set of email addresses (potentially from malicious spammers).
2014-05-01split out WWW package and CGI/PSGI-specific parts
This should allow us to more-easily test with Plack.
2014-04-30"git cat-file --batch" wrapper really mod_perl-compatible
IPC::Open* does not work well under mod_perl (probably because it does funky things with stdout/stderr). So use the POSIX dup2 functions instead, which work reliably on all POSIX-like platforms.
2014-04-30cgi: remove dependency on IPC::Run in CGI
We may not have PATH available on some servers (e.g. webrick) and must rely on the hardcoded system PATH. My installation of IPC::Run does not seem to work without PATH set in the env, however normal Perl "open" calls work fine.