Eric Wong [Sun, 2 Nov 2014 01:44:30 +0000 (01:44 +0000)]
view: 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.
Eric Wong [Sat, 4 Oct 2014 02:33:57 +0000 (02:33 +0000)]
public-inbox-init: fix multi-address setup
We must support multi-address mailing lists, so we do not
clobber existing addresses. However, we need to ensure
idempotency and ensure existing addresses are not reset.
Furthermore, we were not parsing the existing config correctly
due to a leaking $/.
Eric Wong [Sat, 13 Sep 2014 21:50:31 +0000 (21:50 +0000)]
line-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.
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:
Eric Wong [Thu, 28 Aug 2014 05:06:41 +0000 (05:06 +0000)]
view: 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.
Eric Wong [Thu, 28 Aug 2014 01:33:43 +0000 (01:33 +0000)]
view: 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.
Eric Wong [Thu, 28 Aug 2014 01:25:12 +0000 (01:25 +0000)]
redo 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.
Eric Wong [Tue, 26 Aug 2014 05:46:15 +0000 (05:46 +0000)]
show 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.
Eric Wong [Wed, 2 Jul 2014 19:33:33 +0000 (19:33 +0000)]
doc: remove HTML
Even with txt2pre, the maintenance/discoverability burden is too
high and lynx still uses too much memory. Unfortunately, we'll have
to keep our INSTALL.html for a while longer on the server since it's
linked, but not index.html!
Eric Wong [Wed, 21 May 2014 15:22:49 +0000 (15:22 +0000)]
MDA: cleanse headers in case of delivery
We nuke DKIM headers because we modify headers and sometimes the
body, which may invalidate the message. We'll also nuke whatever
Mailman nukes from messages to avoid phishing and leaking
information.
Eric Wong [Fri, 2 May 2014 20:07:59 +0000 (20:07 +0000)]
git cat-file wrapper uses syswrite for writes
The requests we make to git cat-file --batch are guaranteed to be
smaller than the 512 bytes required by PIPE_BUF, so there will be no
partial writes. Bypass Perl IO layers and write directly to the
pipe to avoid needing IO::Handle here.
Eric Wong [Wed, 30 Apr 2014 20:24:54 +0000 (20:24 +0000)]
add example configs for Apache2 mod_perl and CGI
These are probably still popular configurations in some
settings, so include sample configurations to get folks
started. These are trickier than an average CGI script
to setup because we rely on pretty URLs from PATH_INFO
and not ugly query parameters.
IPC::Open* does not work well under mod_perl (probably because
it does funky things with stdout/stderr). So use the POSIX
dup2 functions instead, which work reliably on all POSIX-like
platforms.
Eric Wong [Wed, 30 Apr 2014 01:03:30 +0000 (01:03 +0000)]
cgi: remove dependency on IPC::Run in CGI
We may not have PATH available on some servers (e.g. webrick)
and must rely on the hardcoded system PATH. My installation of
IPC::Run does not seem to work without PATH set in the env,
however normal Perl "open" calls work fine.
Eric Wong [Mon, 28 Apr 2014 22:09:30 +0000 (22:09 +0000)]
cgi: make CGI optional for Plack users
CGI.pm is on its way out, so do not make it a hard requirement for
Plack users. We still support CGI-only installations because some
sysadmins and distros may be very conservative.
Eric Wong [Mon, 28 Apr 2014 20:04:44 +0000 (20:04 +0000)]
feed: avoid redirect on permalink
This saves one round-trip request response so reduces latency over
slow links. The redirect only exists for convenience and isn't 100%
reliable in case the Message-ID terminates with a .(html|txt)
suffix.
Eric Wong [Mon, 28 Apr 2014 10:25:58 +0000 (10:25 +0000)]
mda: support aliased addresses
This mimics functionality found in -learn. Originally the design
allowed for only one address per-list, but when migrating/hijacking
existing mailing lists, having multiple addresses map to the same
inbox is useful.
Eric Wong [Mon, 28 Apr 2014 07:39:41 +0000 (07:39 +0000)]
feed: disable navigation to previous page
This is unfortunately needed for scalability to long histories.
The design of git requires it to traverse full history to walk
forward in time, since commits can only record past history.
Instead, replace "prev" with a "head" link to zip us back to
the most recent page. Users who wish to go backwards can use
browser history, which should always work on our old-fashioned
HTML pages.