about summary refs log tree commit homepage
DateCommit message (Collapse)
2014-04-19various documentation updates
We have an HTML homepage, OMG!
2014-04-19mda: rename PI_FAILBOX to PI_EMERGENCY
The emergency destination may be Maildir. A Maildir emergency destination is better for volatile data which is written to and deleted-from frequently.
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-17add example for CGI with Ruby WEBrick
Some people like old-fashioned Ruby and WEBrick is in the Ruby standard library, so widely available.
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-17cgi: implement suffix-less Message-ID redirects
This may be easier in some cases for copy+paste, but not 100% reliable in case the .txt and .html suffixes are in the Message-ID itself.
2014-04-17cgi: include HTTP status in error message body
This makes it slightly easier for out-of-the-box curl users since curl does not report or show the error by default.
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-15Revert "cgi: relax path restriction for top-level"
CGI mounts should probably handle this internally. We're reverting this since it adds too much potential for abuse with fake/extra prefixes in the URL. We also need to reorder our redirect handling as a result. This reverts commit c394de9f2c91c2c5ed1f7832a5a7cc0206120b7f.
2014-04-15cgi: correct links to folded quotes
Lightly tested, but this seems to work OK.
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-15mda: encoding-aware From: for GIT_ authorship
Users with non-US-ASCII compatible names were not showing up properly in "git log" output.
2014-04-15scripts/import_gmane_spool: preserve delivery order
Unfortunately, this means we get rid of parallelization, as we need to preserve delivery order so HTML indices look chronological. Order may also affect spam filtering and training, too.
2014-04-15doc: add notes on scalability
Fortunately, most mailing lists will never grow too large.
2014-04-14doc: fold philosophy into the README
Hopefully this makes the scope and intent of the project clearer.
2014-04-14rename list from "bugs" to "meta"
"bugs" might confuse and limit the discussion, so "meta" it is!
2014-04-14mda: add most RFC 2919 and 2369 headers
These probably make sense even though we do not handle delivery ourselves. It can aid in searching/filtering/tagging of messages.
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-14cgi: 301 for list-indices without trailing slash
It is common to type upper-level URLs without the slash, redirect users to the correct page for usability.
2014-04-14t/cgi: cleanup: no need for additional block
Not sure what I was thinking...
2014-04-12cgi: ensure we unescape MIDs correctly in URLs
MIDs may have strange characters in them, so we need to handle escaping/unescaping properly to avoid broken links or worse.
2014-04-12cgi: avoid parsing ENV directly for PATH_INFO
This might make it easier to go to non-CGI things.
2014-04-12cgi: relax path restriction for top-level
We may have something like /foo.cgi/m/$MID.html in there.
2014-04-12cgi: rename to have .cgi suffix
This makes it easier to configure for systems which determine a script is a CGI script based on suffix.
2014-04-11scripts/import_gmane_spool: misc updates
We may promote this to be a real script, since public-inbox-mda is idempotent.
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-11add spam/ham learning wrapper script
This is essential for integrating into my inotify-based spam training setup.
2014-04-11Documentation/design_notes: more updates
Laziness \o/ (Then impatience and hubris :)
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: wire up HTML pages for messages
These need better tests and verification, but it's something for now.
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: add one-line descriptions for subroutines
Hopefully it's slightly easier-to-follow this way.
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-11cgi: be strict about UTF-8 encoding in HTML and XML
Hopefully this forces us to generate valid UTF-8 data.
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-11INSTALL: add lynx to install requirements
We need it for converting HTML, unfortunately.
2014-04-10INSTALL: update with Mail::Thread dependency
While we're at it, sort Makefile.PL and add a note to update INSTALL, too.
2014-04-10cgi: implement get_mid_txt
This is essential when telling people to use something like: curl $URL | git am
2014-04-10doc/design_www: add 301 URLs
We'll probably support these so they're easier-to-type and share.