]> Sergey Matveev's repositories - public-inbox.git/log
public-inbox.git
8 years agosearch: implement index_sync to fixup indexer
Eric Wong [Sat, 15 Aug 2015 09:28:31 +0000 (09:28 +0000)]
search: implement index_sync to fixup indexer

We need to make the indexer executable and installable
while we're at it.

8 years agoinitial search backend implementation
Eric Wong [Thu, 13 Aug 2015 02:32:22 +0000 (02:32 +0000)]
initial search backend implementation

This shall allow us to search for replies/threads more easily.

8 years agoview: consistent ordering of Cc: addresses
Eric Wong [Wed, 12 Aug 2015 22:41:10 +0000 (22:41 +0000)]
view: consistent ordering of Cc: addresses

This fixes a minor test failure in t/cgi.t

Tested with perl 5.18.2-2ubuntu1 on Ubuntu 14.04.3 LTS

8 years agoview: remove unused $enc_mime Encoding object
Eric Wong [Wed, 5 Aug 2015 23:36:42 +0000 (23:36 +0000)]
view: remove unused $enc_mime Encoding object

Unneeded since commit e022d3377fd2c50fd9931bf96394728958a90bf3
("huge refactor of encoding handling")

8 years agoview: pass fallback encoding to enc_for
Eric Wong [Wed, 5 Aug 2015 23:29:34 +0000 (23:29 +0000)]
view: pass fallback encoding to enc_for

This fixes the fallback to message encoding if the message
itself was not UTF-8

8 years agopublic-inbox-learn: preserve headers for ham injection
Eric Wong [Sun, 2 Aug 2015 06:35:57 +0000 (06:35 +0000)]
public-inbox-learn: preserve headers for ham injection

We must inject headers properly for injecting ham, otherwise
List-Id headers get dropped.

8 years agoview: simplify timestamp generation
Eric Wong [Wed, 29 Jul 2015 18:09:41 +0000 (18:09 +0000)]
view: simplify timestamp generation

It's seems less ambiguous to parse a consistent in quiet lists
where messages are sparse.

8 years agofeed: extract subroutines for threading
Eric Wong [Mon, 20 Jul 2015 21:53:14 +0000 (21:53 +0000)]
feed: extract subroutines for threading

We'll be using this in the future for displaying per-thread
views.

8 years agoscripts/dc-dlvr.pre: ensure stderr gets back to the MTA
Eric Wong [Tue, 14 Jul 2015 21:09:50 +0000 (21:09 +0000)]
scripts/dc-dlvr.pre: ensure stderr gets back to the MTA

We want to be able to reject errors back to the MTA.

8 years agoreject HTML loudly and automatically
Eric Wong [Tue, 14 Jul 2015 21:01:18 +0000 (21:01 +0000)]
reject HTML loudly and automatically

This should hopefully reduce the delay between when a user fails
to send plain-text to when an admin such as myself notices the
HTML mail in a sea of spam.

Unfortunately, this can lead to backscatter, so avoid doing it
until its passed through spamc, at least.

8 years agofeed: compile regexps only once
Eric Wong [Mon, 6 Jul 2015 21:22:22 +0000 (21:22 +0000)]
feed: compile regexps only once

This avoids some runtime penalties associated with recompiling
a regexp based on a constant local variable.

8 years agoview: reduce empty <a>, use "id" instead of "name" attributes
Eric Wong [Mon, 6 Jul 2015 20:52:33 +0000 (20:52 +0000)]
view: reduce empty <a>, use "id" instead of "name" attributes

This is probably more compliant, and saves us a few bytes
on the uncompressed HTML.

8 years agofeed: close body tag correctly in index
Eric Wong [Mon, 6 Jul 2015 20:11:29 +0000 (20:11 +0000)]
feed: close body tag correctly in index

Oops, noticed by manual inspection.  One day we'll run tidy in tests
to validate.

8 years agopublic-inbox-mda: preserve SpamAssassin headers in spam
Eric Wong [Fri, 5 Jun 2015 17:45:26 +0000 (17:45 +0000)]
public-inbox-mda: preserve SpamAssassin headers in spam

We want to be able to prioritize spam downstream to check for
borderline cases.

9 years agoview: fix linkification and quote-folding conflicts
Eric Wong [Wed, 4 Mar 2015 20:50:34 +0000 (20:50 +0000)]
view: fix linkification and quote-folding conflicts

We can't add newlines to links, unfortunately, because
quote-folding is line-based and (being regexp-based) needs
to happen after linkification.

9 years agoview: generate links for common protocols in browsers
Eric Wong [Mon, 9 Feb 2015 22:33:50 +0000 (22:33 +0000)]
view: generate links for common protocols in browsers

SpamAssassin queries URI blacklists, so it's probably OK
to enable this without being used as a linkfarm.

9 years agodoc/design_www: remove item for auto-generated links
Eric Wong [Mon, 29 Dec 2014 19:25:50 +0000 (19:25 +0000)]
doc/design_www: remove item for auto-generated links

SpamAssassin queries URI blacklists, so it's probably OK
to start generating links in the future...

9 years agoimport_slrnspool: fork a process for each message
Eric Wong [Mon, 12 Jan 2015 01:16:04 +0000 (01:16 +0000)]
import_slrnspool: fork a process for each message

This prevents process growth when importing large messages.
Memory growth could be due to the sliding sbrk window in glibc malloc
or a circular reference in the Email::* Perl code somewhere.

9 years agoimport_slrnspool: load private config key
Eric Wong [Sun, 11 Jan 2015 23:58:55 +0000 (23:58 +0000)]
import_slrnspool: load private config key

PublicInbox::Config->lookup won't return unknown keys

9 years agoimport_slrnspool: graceful exit for interruptibility
Eric Wong [Sun, 11 Jan 2015 23:55:27 +0000 (23:55 +0000)]
import_slrnspool: graceful exit for interruptibility

This should alleviate fears of interrupting the process.

9 years agoimport_slrnspool: make filtering optional
Eric Wong [Sun, 11 Jan 2015 23:13:08 +0000 (23:13 +0000)]
import_slrnspool: make filtering optional

9 years agoimport_slrnspool: use ssoma-mda instead
Eric Wong [Sun, 11 Jan 2015 11:03:41 +0000 (11:03 +0000)]
import_slrnspool: use ssoma-mda instead

Some mailing lists (e.g. git@vger.kernel.org) accept messages
via Bcc: and possibly other things which get rejected by
the strict PublicInbox::Filter rules.  So rely on ssoma-mda
instead.

This prefers a recent revision of ssoma-mda (commit 7fce38e9
onwards) to display subject/author/date information in the
commit message.

9 years ago.gitignore: relax MYMETA pattern
Eric Wong [Sun, 11 Jan 2015 10:56:02 +0000 (10:56 +0000)]
.gitignore: relax MYMETA pattern

Newer systems may use .json instead of .yml

9 years agofilter: handle missing Content-Type
Eric Wong [Sun, 11 Jan 2015 08:54:25 +0000 (08:54 +0000)]
filter: handle missing Content-Type

Some mailers may omit the Content-Type header entirely,
so do detection and try to get the message through.

9 years ago*slrnspool* old gmane archives set Original-To
Eric Wong [Sun, 11 Jan 2015 04:46:27 +0000 (04:46 +0000)]
*slrnspool* old gmane archives set Original-To

Apparently it's not a problem with recent archives.

9 years agoimport_slrnspool: fix off-by-one error
Eric Wong [Sun, 11 Jan 2015 04:43:59 +0000 (04:43 +0000)]
import_slrnspool: fix off-by-one error

We start with zero and only store the next valid ID.

9 years agoscripts/import_slrnspool: new incremental importer
Eric Wong [Sun, 11 Jan 2015 04:28:46 +0000 (04:28 +0000)]
scripts/import_slrnspool: new incremental importer

This allows incremental imports of slrn spools, ideal for
tracking lists via gmane.

9 years agodoc: generate README.html instead of index.html
Eric Wong [Mon, 22 Dec 2014 01:38:24 +0000 (01:38 +0000)]
doc: generate README.html instead of index.html

This allows us to generate links without caring about discoverability
and remains reasonably WYSIWYG for folks editing our documentation in
their favorite $EDITOR

9 years agoDocumentation/txt2pre: support #fragments and ftp://
Eric Wong [Mon, 22 Dec 2014 01:37:58 +0000 (01:37 +0000)]
Documentation/txt2pre: support #fragments and ftp://

Occasionally we'll use these for links.

9 years ago-learn: nuke HTML portions when training as ham
Eric Wong [Thu, 13 Nov 2014 21:51:42 +0000 (21:51 +0000)]
-learn: nuke HTML portions when training as ham

Sometimes people send HTML email and I forget to fixup in my
MUA during moderation.  Automatically strip out HTML portions
instead.

9 years agoview: account for filter bugs which leak HTML into the repo
Eric Wong [Thu, 13 Nov 2014 21:20:29 +0000 (21:20 +0000)]
view: account for filter bugs which leak HTML into the repo

Ugh, apparently there's a (yet-to-be-fixed) bug in the Filter
code which caused an HTML message portion of a multipart message
to be displayed on the web UI.  Account for that and nuke it.

9 years agoview: add time to entries older than one day
Eric Wong [Sun, 2 Nov 2014 23:26:33 +0000 (23:26 +0000)]
view: add time to entries older than one day

This is occasionally useful and we're not as starved for screen
space now now that sender+timestamps are on a separate line.

9 years agoview: rename "permalink" to "threadlink"
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.

9 years agoexamples/public-inbox.psgi: add usage to comments
Eric Wong [Sun, 26 Oct 2014 22:19:33 +0000 (22:19 +0000)]
examples/public-inbox.psgi: add usage to comments

I often forget how to run this

9 years agoview: show raw message link as "raw"
Eric Wong [Sun, 26 Oct 2014 09:45:52 +0000 (09:45 +0000)]
view: show raw message link as "raw"

"original" is a bit misleading, since we strip needless junk
like HTML from messages before it ever hits git.

9 years agoTODO: add mlmmj integration item
Eric Wong [Sun, 5 Oct 2014 23:38:43 +0000 (23:38 +0000)]
TODO: add mlmmj integration item

Because some folks will want to receive email.

9 years agodoc: add TODO to the website
Eric Wong [Sun, 5 Oct 2014 22:49:06 +0000 (22:49 +0000)]
doc: add TODO to the website

9 years agoTODO: add a placeholder for search
Eric Wong [Sun, 5 Oct 2014 22:26:04 +0000 (22:26 +0000)]
TODO: add a placeholder for search

While we're at it, fix up a typo.

9 years agoview: tweak attribution line
Eric Wong [Sun, 5 Oct 2014 00:23:43 +0000 (00:23 +0000)]
view: tweak attribution line

This reduces unnecessary white space and consistently places
the attribution under the Subject.

9 years agoview: make the thread index less claustrophobic
Eric Wong [Sat, 4 Oct 2014 02:51:29 +0000 (02:51 +0000)]
view: make the thread index less claustrophobic

At the cost of some vertical whitespace.

More bikeshedding...

9 years agopublic-inbox-init: fix multi-address setup
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 $/.

9 years agoview: relax line break detection
Eric Wong [Mon, 22 Sep 2014 18:58:57 +0000 (18:58 +0000)]
view: relax line break detection

Often times any succession of "---" denotes the rest of the
message is too long to review at once.

9 years agopublic-inbox-init: manages the config files
Eric Wong [Sun, 21 Sep 2014 04:19:30 +0000 (04:19 +0000)]
public-inbox-init: manages the config files

This hopefully allows easier setup.

9 years agofilter: ensure CRs do not show up in lynx conversions
Eric Wong [Mon, 15 Sep 2014 20:58:41 +0000 (20:58 +0000)]
filter: ensure CRs do not show up in lynx conversions

Unix line endings are LF-only, so do not introduce or preserve
CRLF line endings when reading from lynx.

9 years agoindex: drop signatures from nested output
Eric Wong [Mon, 15 Sep 2014 20:47:33 +0000 (20:47 +0000)]
index: drop signatures from nested output

We have a less-ambiguous "more..." link nowadays if somebody
wants to see the full message.

9 years agohval: fixup bad line endings in HTML output
Eric Wong [Mon, 15 Sep 2014 20:47:02 +0000 (20:47 +0000)]
hval: fixup bad line endings in HTML output

We should do this in filter, too, but sometimes we
prefer to avoid filtering the message at all.

9 years agoindex: add prev/next index navigation
Eric Wong [Mon, 15 Sep 2014 04:16:45 +0000 (04:16 +0000)]
index: add prev/next index navigation

This helps readers jump around more quickly when there are
large messages.

9 years agoindex group state parameters together for generation
Eric Wong [Mon, 15 Sep 2014 03:17:29 +0000 (03:17 +0000)]
index group state parameters together for generation

This allows us to more-easily group and pass parameters.

9 years agoview: standalone view shows link to index
Eric Wong [Mon, 15 Sep 2014 03:00:49 +0000 (03:00 +0000)]
view: standalone view shows link to index

Sometimes people come from sharing links and not the index,
so the back button in their browser does not really go back.

9 years agoview: kill unnecessary assignment
Eric Wong [Mon, 15 Sep 2014 02:49:18 +0000 (02:49 +0000)]
view: kill unnecessary assignment

Not sure what I was thinking

9 years agoview: support SHA-1 of Message-IDs for message links
Eric Wong [Mon, 15 Sep 2014 02:34:33 +0000 (02:34 +0000)]
view: support SHA-1 of Message-IDs for message links

Some Message-IDs are crazy long, so support SHA-1s for them
instead.  This allows shorter URLs to be generated and are
less likely

However, we'll still favor short Message-IDs whenever possible.

9 years agoindex: show short-ish permalinks to messages in threads
Eric Wong [Sun, 14 Sep 2014 23:06:11 +0000 (23:06 +0000)]
index: show short-ish permalinks to messages in threads

This should allow us to reference discussions more easily.

9 years agoline-wrap generated HTML source around attrs for readability
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.

9 years agofeed: (cleanup) avoid redundant ->message call
Eric Wong [Sun, 7 Sep 2014 22:56:09 +0000 (22:56 +0000)]
feed: (cleanup) avoid redundant ->message call

Avoid redundant subroutine calls as their costs tend to add up.

9 years agofeed: sort child messages (forward) chronologically
Eric Wong [Sun, 7 Sep 2014 22:53:15 +0000 (22:53 +0000)]
feed: sort child messages (forward) chronologically

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:

[PATCH 0/3] ...
[PATCH 1/3] ...
[PATCH 2/3] ...
[PATCH 3/3] ...

Instead of (what it was previously):

[PATCH 0/3] ...
[PATCH 3/3] ...
[PATCH 2/3] ...
[PATCH 1/3] ...

9 years agoview: fixup dropped newline in the last commit
Eric Wong [Sun, 7 Sep 2014 07:56:42 +0000 (07:56 +0000)]
view: fixup dropped newline in the last commit

Oops!

9 years agoview: avoid extraneous space for subject-only messages
Eric Wong [Sun, 7 Sep 2014 07:53:47 +0000 (07:53 +0000)]
view: avoid extraneous space for subject-only messages

Sometimes, the subject says it all.

9 years agoview: reduce redundant linkage in index
Eric Wong [Sat, 6 Sep 2014 23:31:40 +0000 (23:31 +0000)]
view: reduce redundant linkage in index

There's no point in having a "(more...)" and "link" pointing
to the same element, replace "link" with "more..." if we've
omitted text from the index.

9 years agoview: increase context in index views
Eric Wong [Wed, 3 Sep 2014 20:43:33 +0000 (20:43 +0000)]
view: increase context in index views

It's probably better to show too much than too little, even
if this means extra scrolling :<

Otherwise, we end up punishing messages who quote minimally
and end up loosing context.  Unfortunately, too many people
over-quote nowadays.

9 years agoview: kill leading whitespace in index
Eric Wong [Sun, 31 Aug 2014 02:58:07 +0000 (02:58 +0000)]
view: kill leading whitespace in index

Leading whitespace is pointless, but some folks end up adding
it for some reason.

9 years agoview: show quotes in index if parent is too old
Eric Wong [Sun, 31 Aug 2014 02:52:27 +0000 (02:52 +0000)]
view: show quotes in index if parent is too old

It's helpful to show context if a message does not
appear on the current index page.

9 years agoview: tighten up regexps used for trimming index
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.

9 years agoview: trim git patches delimited by /^---$/
Eric Wong [Thu, 28 Aug 2014 04:57:30 +0000 (04:57 +0000)]
view: trim git patches delimited by /^---$/

Patches are usually better viewed standalone and are difficult
to judge when nested.  So save precious vertical space in our
message index.

9 years agofeed: deal with removed files
Eric Wong [Thu, 28 Aug 2014 02:15:08 +0000 (02:15 +0000)]
feed: deal with removed files

Sometimes we get spam and need to delete messages,
we must prevent errors on missing messages from propagating.

9 years agofeed: show permalink to home page
Eric Wong [Thu, 28 Aug 2014 02:14:47 +0000 (02:14 +0000)]
feed: show permalink to home page

This will make it easier to bookmark an index page with threading
context.

9 years agoview: increase MAX_INLINE_QUOTED threshold to 12
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.

9 years agoredo main HTML index to show nested messages
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.

9 years agoview: Email::Address cache purge is optional
Eric Wong [Wed, 27 Aug 2014 19:34:03 +0000 (19:34 +0000)]
view: Email::Address cache purge is optional

We will reuse the html_footer function in a nested index.

9 years agoshow date in top-level threaded index
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.

9 years agot/view: ensure HTML shows QP text
Eric Wong [Mon, 4 Aug 2014 20:24:14 +0000 (20:24 +0000)]
t/view: ensure HTML shows QP text

We need to ensure the HTML output is not mangled, either.

9 years agofilter: preserve QP when collapsing multipart
Eric Wong [Mon, 4 Aug 2014 20:16:51 +0000 (20:16 +0000)]
filter: preserve QP when collapsing multipart

HTML clients also tend to send quoted-printable crap in
their plain-text parts, preserve that so it's displayed
correctly for all QP-capable handlers.

9 years agodoc/dc-dlvr-spam-flow: link to ssoma, too
Eric Wong [Wed, 2 Jul 2014 19:50:28 +0000 (19:50 +0000)]
doc/dc-dlvr-spam-flow: link to ssoma, too

Some readers may not be familiar with ssoma internals such as
ssoma-rm.

9 years agodoc/dc-dlvr-spam-flow: include links to relevant projects
Eric Wong [Wed, 2 Jul 2014 19:46:57 +0000 (19:46 +0000)]
doc/dc-dlvr-spam-flow: include links to relevant projects

Some of these projects are not well known, so link to them
to help new users.

9 years agodoc: remove HTML
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!

9 years agot/html_index.t: fix warnings in test case
Eric Wong [Sat, 28 Jun 2014 01:06:31 +0000 (01:06 +0000)]
t/html_index.t: fix warnings in test case

Oops.

9 years agoREADME: reflow and expand initial introduction a bit
Eric Wong [Fri, 30 May 2014 06:51:49 +0000 (06:51 +0000)]
README: reflow and expand initial introduction a bit

Marketing is hard!

9 years agosa_config: just put HTML messages in the mod queue
Eric Wong [Tue, 27 May 2014 08:30:44 +0000 (08:30 +0000)]
sa_config: just put HTML messages in the mod queue

We can be stricter about HTML email, since none of the lists
hosted here accept HTML.

9 years agospamassassin/user_prefs: do not favor paid whitelist services
Eric Wong [Fri, 23 May 2014 09:56:02 +0000 (09:56 +0000)]
spamassassin/user_prefs: do not favor paid whitelist services

Paid reputation management services are not encouraged.

9 years agospamassassin/user_prefs: disable non-English
Eric Wong [Fri, 23 May 2014 09:54:38 +0000 (09:54 +0000)]
spamassassin/user_prefs: disable non-English

Too much spam arrives without any readable English, and I (the
server administrator) cannot easily tell if a non-English
message is spam or not.

9 years agoslrnspool2maildir: fix help and dir creation
Eric Wong [Thu, 8 May 2014 22:32:13 +0000 (22:32 +0000)]
slrnspool2maildir: fix help and dir creation

Any existing directory should do.

9 years agoMDA: cleanse headers in case of delivery
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.

9 years agomda: drop RFC2369 support for now
Eric Wong [Thu, 8 May 2014 02:19:00 +0000 (02:19 +0000)]
mda: drop RFC2369 support for now

That should be use down stream by delivery agents.

9 years agowww: attempt to improve formatting of footer
Eric Wong [Wed, 7 May 2014 01:43:09 +0000 (01:43 +0000)]
www: attempt to improve formatting of footer

This looks nicer to me (totally subjective and open to bikeshedding
:P)

9 years agoconsistently whitespace wrap on <pre> sections
Eric Wong [Tue, 6 May 2014 19:44:43 +0000 (19:44 +0000)]
consistently whitespace wrap on <pre> sections

Horizontal scrolling is a usability problem for GUI browsers,
so help them avoid it.  I love GUI users, really! :)

9 years agoINSTALL: update support status
Eric Wong [Tue, 6 May 2014 19:30:32 +0000 (19:30 +0000)]
INSTALL: update support status

We probably won't bother with FastCGI until there is interest.

10 years agoexamples/apache2_perl.conf: set PI_CONFIG
Eric Wong [Mon, 5 May 2014 19:59:56 +0000 (19:59 +0000)]
examples/apache2_perl.conf: set PI_CONFIG

This is easier and lower-impact than setting HOME anywhere.

10 years agowww: set charset=UTF-8 in full message view
Eric Wong [Mon, 5 May 2014 19:56:20 +0000 (19:56 +0000)]
www: set charset=UTF-8 in full message view

Oops, this was an oversight.

10 years agolearn: set_list_headers on training
Eric Wong [Mon, 5 May 2014 08:48:13 +0000 (08:48 +0000)]
learn: set_list_headers on training

This is idempotent, and should actually/really prevent training
loops.

10 years agomda: attempt to prevent training loops
Eric Wong [Mon, 5 May 2014 08:39:14 +0000 (08:39 +0000)]
mda: attempt to prevent training loops

10 years agofeed: add atom feed link to the bottom
Eric Wong [Mon, 5 May 2014 01:07:54 +0000 (01:07 +0000)]
feed: add atom feed link to the bottom

This should improve navigation as browsers may not make it
obvious there is an Atom feed.

10 years agoview: add newline before list-wide footer
Eric Wong [Mon, 5 May 2014 01:01:13 +0000 (01:01 +0000)]
view: add newline before list-wide footer

Otherwise the reply link gets squished.

10 years agowww: multi-line cloneurl maps to multiple lines
Eric Wong [Mon, 5 May 2014 00:57:06 +0000 (00:57 +0000)]
www: multi-line cloneurl maps to multiple lines

URLs may be long, so give each its own line.

10 years agowww: add footers to HTML index and message views
Eric Wong [Mon, 5 May 2014 00:47:41 +0000 (00:47 +0000)]
www: add footers to HTML index and message views

Some advertising is necessary.

10 years agoadd various TODO items
Eric Wong [Sun, 4 May 2014 01:38:16 +0000 (01:38 +0000)]
add various TODO items

Screen space is precious, and we do not need it in the abbreviated
view.

10 years agoview: API cleanup, remove "as_" prefix
Eric Wong [Fri, 2 May 2014 23:16:37 +0000 (23:16 +0000)]
view: API cleanup, remove "as_" prefix

These views are not OO, so the "as_" prefix makes little sense
and "as_html" conflicts with Hval, which is OO.

10 years agoreduce copies by passing string refs to Email::MIME
Eric Wong [Fri, 2 May 2014 20:28:43 +0000 (20:28 +0000)]
reduce copies by passing string refs to Email::MIME

This should reduce data copies and memory usage, according
to Email::Simple documentation.

10 years agogit cat-file wrapper uses syswrite for writes
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.

10 years agothread: limit scope of monkey patch
Eric Wong [Thu, 1 May 2014 18:33:18 +0000 (18:33 +0000)]
thread: limit scope of monkey patch

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..

10 years agoworkaround Mail::Thread memory leak
Eric Wong [Thu, 1 May 2014 02:30:00 +0000 (02:30 +0000)]
workaround Mail::Thread memory leak

Thanks to Ask for the patch in
https://rt.cpan.org/Public/Bug/Display.html?id=22817

10 years agopurge Email::Address cache
Eric Wong [Thu, 1 May 2014 01:56:34 +0000 (01:56 +0000)]
purge Email::Address cache

This prevents memory bloat in case we're serving many requests
with a large, diverse set of email addresses (potentially from
malicious spammers).