TODO | 5 +++++ lib/PublicInbox/Feed.pm | 4 ++-- lib/PublicInbox/MDA.pm | 2 +- lib/PublicInbox/View.pm | 4 ++++ diff --git a/TODO b/TODO index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..00df8bd375bf7f907c50858f668440942dc8ce6b 100644 --- a/TODO +++ b/TODO @@ -0,0 +1,5 @@ +* configurable constants (quote folding, index limits) +* use tags as date-based skiplists for navigating history +* per-message views should be able to quickly navigate do replies. + (n.b.: this is SMTP, we must account for out-of-order delivery) +* NNTP server (is there demand for one?) diff --git a/lib/PublicInbox/Feed.pm b/lib/PublicInbox/Feed.pm index 12ac8a95be278bb046962e1233b4442707a59df9..6996f374e555a4f55d565fda80fe3b119369e3b0 100644 --- a/lib/PublicInbox/Feed.pm +++ b/lib/PublicInbox/Feed.pm @@ -9,8 +9,8 @@ use Date::Parse qw(strptime str2time); use PublicInbox::Hval; use PublicInbox::GitCatFile; use constant { - DATEFMT => '%Y-%m-%dT%H:%M:%SZ', - MAX_PER_PAGE => 25, + DATEFMT => '%Y-%m-%dT%H:%M:%SZ', # atom standard + MAX_PER_PAGE => 25, # this needs to be tunable }; # main function diff --git a/lib/PublicInbox/MDA.pm b/lib/PublicInbox/MDA.pm index ee4d0afe9715c27349d737ef034475ee80b93fdc..e2b2f9143083c0b1979d283fda7d2b985096e9a9 100644 --- a/lib/PublicInbox/MDA.pm +++ b/lib/PublicInbox/MDA.pm @@ -6,7 +6,7 @@ use warnings; use Email::Address; use Encode qw/decode/; use Date::Parse qw(strptime); -use constant MAX_SIZE => 1024 * 500; # same as spamc default +use constant MAX_SIZE => 1024 * 500; # same as spamc default, should be tunable use constant cmd => qw/ssoma-mda -1/; # drop plus addressing for matching diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm index 52e8f0b290b59692f50693af0999c525493af6c9..674d7b7cdfb73c77172c59485dea33c60908d3f7 100644 --- a/lib/PublicInbox/View.pm +++ b/lib/PublicInbox/View.pm @@ -8,8 +8,11 @@ use URI::Escape qw/uri_escape_utf8/; use Encode qw/find_encoding/; use Encode::MIME::Header; use Email::MIME::ContentType qw/parse_content_type/; + +# TODO: make these constants tunable use constant MAX_INLINE_QUOTED => 5; use constant MAX_TRUNC_LEN => 72; + *ascii_html = *PublicInbox::Hval::ascii_html; my $enc_utf8 = find_encoding('UTF-8'); @@ -92,6 +95,7 @@ sub add_text_body_short { my ($enc, $part, $part_nr, $full_pfx) = @_; my $n = 0; my $s = ascii_html($enc->decode($part->body)); + # TODO: fold the "so-and-so wrote:" attribute line here, too: $s =~ s!^((?:(?:>[^\n]*)\n)+)! my $cur = $1; my @lines = split(/\n/, $cur);