about summary refs log tree commit homepage
DateCommit message (Collapse)
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.
2014-04-10cgi: wire up index + tests
Remove the specified /all.html while we're at it, we only have /all.atom.xml because it's convenient for feed readers.
2014-04-10cgi: do not specify charset in Atom HTTP header
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.
2014-04-10cgi: remove some redundant logic
We'll be reusing more validation logic for per-message and per-thread pages.
2014-04-09doc/design_www: shorten URLs as much as possible
Message-IDs are extremely long already, so try to keep them short here.
2014-04-09t/mda: additional precheck tests
We did not test as well as we should have.
2014-04-09mda: set GIT_AUTHOR_DATE in commits as well
While we're at it, write some quick tests.
2014-04-09mda: set GIT_{COMMITTER,AUTHOR}_{NAME,EMAIL} env
This can make it easy to query via "git log --author=..." without extracting each message.
2014-04-09config: include listname on lookup
We will be using it when setting GIT_COMMITTER_NAME
2014-04-09mda: prevent duplicate Message-IDs from appearing
For practical purposes, Message-IDs are unique and duplicates do not appear unless client software is broken.
2014-04-09Makefile.PL: add parallel test target
These tests were designed to run in parallel.
2014-04-09doc: split out philosophy to a different page
Hopefully a little easier to find for clients and not admins running servers. While we're at it, expand design_notes.
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-08design_notes: various updates, including "why git?"
Things to keep in mind when working on this.
2014-04-08scripts/report-spam: explain design decisions
Trying my best to not forget things I wrote this years ago.
2014-04-08doc: various cleanups all around
Most notably, the INSTALL is geared towards potential server admins, whereas the README is also for interested "drive-by" readers.
2014-04-08cgi: cleanup dependencies
We do not need to use CGI::Util internals here.
2014-04-07cgi: make internal interface more Plack-like
This should make it easier to support non-CGI uses, as well as making it easier to generate static sites.
2014-04-07feed: generate takes a hashref for args
Passing a giant argument list is to error prone and hard-to-document.
2014-04-06doc: design_www note /full/ namespace for messages
We serve the short, abridge-quote version by default since it is (unfortunately) common practice to over-quote on mailing lists.
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-05Makefile.PL: update dependencies
This is lightly tested.
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.
2014-04-05remove failrepo config
We will just use the fallback in Email::Filter to reduce configuration knobs. Failed messages are failed messages, do not classify them beyond that.
2014-04-05public-inbox-mda: preliminary manpage documentation
This still needs to be fleshed out.
2014-04-05view: implement quote folding and flesh out tests
Unfortunately, quoting is often excessive, so hide multi-line quotes by default and provide anchored links to full messages instead.
2014-04-05config: add shortcut for retrieving elements
Hopefully this makes for less ad-hoc hash access in case our config format changes.
2014-04-05doc: add design documentation for WWW interface
Mainly, start with URL routes since that's what users usually see, first.
2014-04-05view: update IRP and MID links
We'll go with .html and .txt suffixes on MIDs to benefit static hosting setups.
2014-04-05flesh out MDA and simplify config setup
We will be reusing the config parsing code for the CGI script, too.
2014-04-05precheck uses recipient argument
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.
2014-04-05README: various updates
2014-04-04filter: use regexp to check multipart bodies
This should be safer than running file(1), which has had its share of vulnerabilities this year (early 2014) We really only care about diffs and maybe short log files, here.
2014-04-03filter: possibly keep PGP sigs only (not other types)
We may keep PGP signatures for messages we do not modify. However, we have no way of verifying them on the server-side.
2014-03-31design_notes: with philosophy
2014-03-28filter: use file(1) to detect mime type if octet-stream
Some mailers do not correctly detect/set the Content-Type header; so attempt to keep messages based on our server-detected MIME type if application/octet-stream was specified.
2014-03-28config: revamp API and implement lookup
2014-03-24initial cut at Atom feed generation
This should make it easier for non-ssoma users to follow.
2014-02-25precheck: require Message-ID to be set
Valid emails should not arrive without a Message-ID.