about summary refs log tree commit homepage
path: root/lib
DateCommit message (Collapse)
2014-04-25cgi: eliminate dead/redundant HTML escaping code
2014-04-24html: refactor header value handling to be OO
This helps us keep track of escaping which needs to be done for various levels.
2014-04-22view: fix link to raw message from /f/ endpoint
Ugh, at least this has a test...
2014-04-22fix quoted URL generation in feeds
While we're at it, make sure strange characters are escaped properly in Message-IDs. We'll need tests for all this behavior.
2014-04-22view: do not decode Message-ID
This is ridiculous, nobody (including ssoma) ever does this.
2014-04-21feed: fix address when multiple addresses exist
This needs to be cleaned up
2014-04-21config: use description file for gitweb
Do not repeat ourselves, just use the same description file gitweb uses to avoid surprising users.
2014-04-21html/index: fix broken prev/next pagination on short histories
We do not have much history in public-inbox meta, so do not mislead users with strange navigation elements which lead nowhere.
2014-04-21feed: there is only one atom feed, with all messages
This is not a blog. All posts, whether replies or not, carry equal weight.
2014-04-21html/index: do not waste space with non-existent thread roots
Screen real-estate is valuable, and missing roots tend to be false-positive matches (using Subject, not In-Reply-To or References).
2014-04-20feed: close string ref before returning
Just in case there is an error, this should be more explicit.
2014-04-20cgi: delay some requires
This shaves off nearly 100ms when my Core2Duo is clocked to 800Mhz when rendering a full HTML index.
2014-04-20feed: speed up blob checks if Git.pm is usable
Git::cat_blob is a handy interface to read multiple emails without incurring fork + exec overhead. Git.pm is GPLv2+, not GPLv2-only, so we may link to it.
2014-04-19mda: share commit setup code with -learn
We need -learn to do many of the same things as -mda when we have a false-positive. We also need -learn to do HTML filtering in case the training user screws up.
2014-04-19move precheck to MDA namespace
We will be combining common code between -learn and -mda
2014-04-19cgi: index pages allow iterating some pagination
This allows WWW readers to slowly page through the entire history of the mailing list.
2014-04-18view: fix regression in standalone /^>$/ lines
The lack of trailing whitespace in quote prefixes threw us off and cause t/view to fail. This failure was caused by commit fefea3d7d2484ffbf433aec0dd80026aa7120e07 ("ensure per-message short quotes do not get too long") and not caught before pushing because I failed to run "make", only "prove" (and not even "prove -l" :x).
2014-04-17ensure per-message short quotes do not get too long
Sometimes a single long word or URL can lengthen the line too much.
2014-04-17cgi: sort HTML index by most recent date
This is hopefully the most user-friendly method.
2014-04-17view: remove pointless self-linkage
It is pointless to link to ourselves.
2014-04-17view: fix title of HTML views
We need to take care to escape everything properly to avoid HTML/JS injections.
2014-04-17view: inline shorter quotes
Breaking up short quote messages at 1 line is too disconcerting, try 5 lines as proper quotes shouldn't be too long.
2014-04-17HTML: various encoding fixups
2014-04-17Feed: add bug note on memory cycle
This affects users of long-lived processes (FastCGI/Plack)
2014-04-15view: finish HTML in per-message pages
2014-04-15cgi: support /all.html page with inline threads
Maybe this increases readability for now.
2014-04-15HTML: use shorter URLs in indices
Long URLs are not needed for HTML pages, but may be for feeds since they're often resyndicated and not consumed by the browser.
2014-04-15HTML: ensure hrefs are quoted properly
We may be breaking some parsers or allowing more breakage to slip through without quotes. We waste some bytes, though.
2014-04-14derive -primary_address in config
This may be useful for generating List-Id headers and HTML pages.
2014-04-14cgi: fix up top-level index
We do not have all messages in the top-level index (and we need to adjust the test while we're at it).
2014-04-11view: trim_message_id consistently
Message-IDs could have embedded '<' and '>'
2014-04-11config: support multiple addresses for a inbox
This makes it possible to gradually migrate to new address in case of list name changes, and is one step closer to operating in "stealth hijack mode" :)
2014-04-11filter: clarify regular expression
I often forget the subtleties of Perl regexps and newlines, so I suspect others do, too. Use explicit capture so it's more familiar to users of non-Perl regexps.
2014-04-11cgi: update feed/view and tests for shorter URLs
Code should be consistent with the design docs (and we will need better tests).
2014-04-11cgi: /$LISTNAME/ and /$LISTNAME/index.html are equal
This prevents ambiguity when switching URLs between static file servers and CGI. The /$LISTNAME/index.html URL appearing in the wild is inevitable because of our static file server support. Worst yet, there's no easy/consistent way to get all installations detect and 301 them to the shorter /$LISTNAME/. So we make the CGI support /$LISTNAME/index.html. The downside of this is the potential duplicate entry in all caches.
2014-04-11filter: use IPC::Run and improve lynx error handling
We may occasionally encounter horrid HTML which lynx cannot handle, so improve error reporting.
2014-04-09config: include listname on lookup
We will be using it when setting GIT_COMMITTER_NAME
2014-04-09preliminary HTML index generation
Using JWZ threading might work decently for this. Haven't checked in lynx, yet.
2014-04-09precheck: stricter checks including min length
We should reject values which are too short to be useful or sane.
2014-04-08precheck: reject messages with no subject
Composers may screw up and leave the subject out, so reject those messages.
2014-04-08feed: filter out each_recent_blob wrapper
We will need it for HTML indices, too.
2014-04-07feed: generate takes a hashref for args
Passing a giant argument list is to error prone and hard-to-document.
2014-04-06view: use "original" rather than "raw"
This wording is probably clearer to everyone, and also used by at least one other mailing list WWW interface.
2014-04-06view: minor cleanups
Avoid adding extraneous whitespace in HTML content, as it increases bandwidth usage of network, disk and memory.
2014-04-06feed: reuse view class to display message
This reduces duplicated/similar code and hopefully makes things more consistent.
2014-04-06view: all content is assumed to be displayable text
Our Filter class now passes through application/octet-stream if it looks like text (because some mailers suck); so we cannot trust the specified Content-Type of a message.
2014-04-05view: use URI::Escape to escape URIs
CGI::escape is not a documented subroutine, so the chances of it going away are higher.
2014-04-05feed: remove unnecessary use
We no longer use DateTime::Format::Mail.
2014-04-05feed: use Date::Parse to parse dates
This is a smaller module dependency-wise and should be easier-to-install for folks with limited packaging systems or network/disk capacity. We do not need very powerful date parsing, as bad date formats are likely the work of spammers.
2014-04-05get a basic CGI feed sender running
We should be able to wire up the rest, soon.