Date | Commit message (Collapse) |
|
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.
|
|
These need better tests and verification, but it's something
for now.
|
|
Code should be consistent with the design docs
(and we will need better tests).
|
|
Hopefully it's slightly easier-to-follow this way.
|
|
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.
|
|
Hopefully this forces us to generate valid UTF-8 data.
|
|
We may occasionally encounter horrid HTML which lynx cannot
handle, so improve error reporting.
|
|
We need it for converting HTML, unfortunately.
|
|
While we're at it, sort Makefile.PL and add a note to
update INSTALL, too.
|
|
This is essential when telling people to use something like:
curl $URL | git am
|
|
We'll probably support these so they're easier-to-type and share.
|
|
Remove the specified /all.html while we're at it, we only have
/all.atom.xml because it's convenient for feed readers.
|
|
The feed itself already specifies it in XML, and we risk confusing
clients if XML::Atom::SimpleFeed changes in the future. This also
increases consistency for CGI vs static-file serving.
|
|
We'll be reusing more validation logic for per-message and
per-thread pages.
|
|
Message-IDs are extremely long already, so try to keep them short here.
|
|
We did not test as well as we should have.
|
|
While we're at it, write some quick tests.
|
|
This can make it easy to query via "git log --author=..."
without extracting each message.
|
|
We will be using it when setting GIT_COMMITTER_NAME
|
|
For practical purposes, Message-IDs are unique and duplicates
do not appear unless client software is broken.
|
|
These tests were designed to run in parallel.
|
|
Hopefully a little easier to find for clients and not admins running
servers. While we're at it, expand design_notes.
|
|
Using JWZ threading might work decently for this.
Haven't checked in lynx, yet.
|
|
We should reject values which are too short to be useful or sane.
|
|
Composers may screw up and leave the subject out, so
reject those messages.
|
|
We will need it for HTML indices, too.
|
|
Things to keep in mind when working on this.
|
|
Trying my best to not forget things I wrote this years ago.
|
|
Most notably, the INSTALL is geared towards potential server admins,
whereas the README is also for interested "drive-by" readers.
|
|
We do not need to use CGI::Util internals here.
|
|
This should make it easier to support non-CGI uses,
as well as making it easier to generate static sites.
|
|
Passing a giant argument list is to error prone and
hard-to-document.
|
|
We serve the short, abridge-quote version by default since
it is (unfortunately) common practice to over-quote on mailing lists.
|
|
This wording is probably clearer to everyone, and also used by at
least one other mailing list WWW interface.
|
|
Avoid adding extraneous whitespace in HTML content, as it
increases bandwidth usage of network, disk and memory.
|
|
This reduces duplicated/similar code and hopefully makes things more
consistent.
|
|
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.
|
|
This is lightly tested.
|
|
CGI::escape is not a documented subroutine, so the chances of
it going away are higher.
|
|
We no longer use DateTime::Format::Mail.
|
|
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.
|
|
We should be able to wire up the rest, soon.
|
|
We will just use the fallback in Email::Filter to
reduce configuration knobs. Failed messages are failed
messages, do not classify them beyond that.
|
|
This still needs to be fleshed out.
|
|
Unfortunately, quoting is often excessive, so hide multi-line quotes
by default and provide anchored links to full messages instead.
|
|
Hopefully this makes for less ad-hoc hash access in case
our config format changes.
|
|
Mainly, start with URL routes since that's what users usually
see, first.
|
|
We'll go with .html and .txt suffixes on MIDs to benefit
static hosting setups.
|
|
We will be reusing the config parsing code for the CGI
script, too.
|
|
We will also be using the RECIPIENT env in the future, since
that takes aliases into account.
Reducing the possible callsites to check ENV means we can more
easily update the code in the future.
|