Date | Commit message (Collapse) |
|
Screen space is precious, and we do not need it in the abbreviated
view.
|
|
These views are not OO, so the "as_" prefix makes little sense
and "as_html" conflicts with Hval, which is OO.
|
|
This should reduce data copies and memory usage, according
to Email::Simple documentation.
|
|
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.
|
|
Future versions of Mail::Thread may be released to fix this bug.
However, since it's been about 8 years since the bug was reported..
|
|
Thanks to Ask for the patch in
https://rt.cpan.org/Public/Bug/Display.html?id=22817
|
|
This prevents memory bloat in case we're serving many requests
with a large, diverse set of email addresses (potentially from
malicious spammers).
|
|
This should allow us to more-easily test with Plack.
|
|
Hopefully this is enough to get some folks started.
|
|
This ought to prevent browsers from misguessing/misdetecting
things.
|
|
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.
|
|
Found with mod_perl2 (as it overrides exit).
|
|
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.
|
|
It looks ugly in error messages to have redundant slashes.
|
|
We probably know what we're doing, here...
|
|
This might improve grep-ability slightly and reduce allocations
while we're at it.
|
|
This should elimate all of our %ENV dependencies in the WWW portion
of our code.
|
|
ENV changes do not propagate to child processes under mod_perl
|
|
We use --git-dir=... instead of $ENV{GIT_DIR} because ENV changes
do not propagate easily with mod_perl.
|
|
%ENV changes do not propagate by default under a mod_perl2
environment, and we might as well work towards being thread-safe.
|
|
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.
|
|
We should be adding automated tests for this, soon.
|
|
Implicit string conversion is more confusing.
|
|
Browsers know how to follow relative URLs, so we may generate
smaller HTML pages.
|
|
We only generate URI-escaped URLs, so we should not be decoding this
into octets.
|
|
This is one less key stroke for somebody paging through the
list history.
|
|
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.
|
|
public-inbox is for discussion, so top-level posts do not get
special treatment.
|
|
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.
|
|
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.
|
|
This is more correct, although it costs us 4 bytes.
|
|
This might be slightly cleaner, though generating the base URL
now has an ugly condition in it.
|
|
We should be able to deal with URIs with non-ASCII characters in
them. I only found this problem when looking at archives with
non-English spam :x
|
|
This needs further testing and refactoring, but seems to work
reasonably well.
|
|
This should work in most browsers, lets find out!
|
|
For each feed element, we'll just use the link since there's
currently no suitable URN.
|
|
This hopefully improves compatibility with mailers
|
|
It's strictly not necessary anymore since
commit fa6168c56bdd1cece178b6b852a9b2cba6ce6ffb
("feed: message must exist in current HEAD to show up")
However it can still save us some unnecessary syscalls and
round-trips to the "git cat-file --batch" process, so it's probably
worth th cost of stuffing it in a hash.
|
|
|
|
We do not want recently-deleted spam showing up when looking
in old histories.
|
|
While we're at it, add a script for easy editing of user prefs.
We need some human-maintained rules based on the spam we get.
It's an imperfect world, but I'd _much_ rather deal with the
occassional spam than require signup/registration to post.
|
|
Some mail user agents use this header, and Mail::Thread uses
it, too, so show it if possible, but only if it's not redundant
to In-Reply-To.
|
|
This may not work with most mail user agents, however.
|
|
Hopefully this simplifies and corrects our usage of Perl encoding
APIs.
|
|
|
|
This helps us keep track of escaping which needs to be done
for various levels.
|
|
We already depend on IPC::Run, so just use it our tests.
|
|
We need to ensure this works
This follows commit bd8fd095067b79a0d2a40bbca2b27b923d02b3f8
("feed: fix address when multiple addresses exist")
|
|
One of my dev machines did not have XML::Feed so things were
not tested sufficiently.
|