about summary refs log tree commit homepage
path: root/lib
DateCommit message (Collapse)
2015-08-15search: make search results more OO
This will relieve callers of the need to decode the data we store internally in Xapian
2015-08-15extract redundant Message-ID handling code
Quit repeating ourselves and use a common MID module instead.
2015-08-15search: implement index_sync to fixup indexer
We need to make the indexer executable and installable while we're at it.
2015-08-13initial search backend implementation
This shall allow us to search for replies/threads more easily.
2015-08-12view: consistent ordering of Cc: addresses
This fixes a minor test failure in t/cgi.t Tested with perl 5.18.2-2ubuntu1 on Ubuntu 14.04.3 LTS
2015-08-05view: remove unused $enc_mime Encoding object
Unneeded since commit e022d3377fd2c50fd9931bf96394728958a90bf3 ("huge refactor of encoding handling")
2015-08-05view: pass fallback encoding to enc_for
This fixes the fallback to message encoding if the message itself was not UTF-8
2015-07-29view: simplify timestamp generation
It's seems less ambiguous to parse a consistent in quiet lists where messages are sparse.
2015-07-20feed: extract subroutines for threading
We'll be using this in the future for displaying per-thread views.
2015-07-14reject HTML loudly and automatically
This should hopefully reduce the delay between when a user fails to send plain-text to when an admin such as myself notices the HTML mail in a sea of spam. Unfortunately, this can lead to backscatter, so avoid doing it until its passed through spamc, at least.
2015-07-06feed: compile regexps only once
This avoids some runtime penalties associated with recompiling a regexp based on a constant local variable.
2015-07-06view: reduce empty <a>, use "id" instead of "name" attributes
This is probably more compliant, and saves us a few bytes on the uncompressed HTML.
2015-07-06feed: close body tag correctly in index
Oops, noticed by manual inspection. One day we'll run tidy in tests to validate.
2015-03-04view: fix linkification and quote-folding conflicts
We can't add newlines to links, unfortunately, because quote-folding is line-based and (being regexp-based) needs to happen after linkification.
2015-02-09view: generate links for common protocols in browsers
SpamAssassin queries URI blacklists, so it's probably OK to enable this without being used as a linkfarm.
2015-01-11filter: handle missing Content-Type
Some mailers may omit the Content-Type header entirely, so do detection and try to get the message through.
2014-11-13view: account for filter bugs which leak HTML into the repo
Ugh, apparently there's a (yet-to-be-fixed) bug in the Filter code which caused an HTML message portion of a multipart message to be displayed on the web UI. Account for that and nuke it.
2014-11-02view: add time to entries older than one day
This is occasionally useful and we're not as starved for screen space now now that sender+timestamps are on a separate line.
2014-11-02view: rename "permalink" to "threadlink"
These may not be permanent, after all. Better threading support can be done for message views, so and the current index layout is still too busy and suboptimal.
2014-10-26view: show raw message link as "raw"
"original" is a bit misleading, since we strip needless junk like HTML from messages before it ever hits git.
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.