]> Sergey Matveev's repositories - public-inbox.git/blobdiff - TODO
TODO: clarify streaming Email::MIME replacement
[public-inbox.git] / TODO
diff --git a/TODO b/TODO
index fb7c071994b5fbbaceeb3f3dce3fa4e2001812b1..644fa034b90064dcd8b1be202bfbf4b56418bcf7 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,10 +1,27 @@
 TODO items for public-inbox
 
-(Not in any particular order)
+(Not in any particular order, and
+performance, ease-of-setup, installation, maintainability, etc
+all need to be considered for everything we introduce)
+
+* general performance improvements, but without relying on
+  XS or compiled code any more than we currently do.
+
+* mailmap support (same as git) for remapping expired email addresses
+
+* POP3 server, since some webmail providers support external POP3:
+  https://public-inbox.org/meta/20160411034104.GA7817@dcvr.yhbt.net/
+
+* TLS support for various daemons (including STARTTLS for NNTP and POP3)
+
+* Unix socket support for HTTP and POP3 server for use behind reverse
+  proxies like nginx
+
+* Combined "super server" for NNTP/HTTP/POP3 to reduce memory overhead
 
 * Optional reply-to-list support for mirroring lists that want it :<
   Reply-to-list encourages the existing list as a single-point-of-failure,
-  but having an extra mirror using public-inbox.org is nice regardless.
+  but having an extra mirror using public-inbox code is nice regardless.
 
 * Configurable linkification for per-inbox shorthands:
   "$gmane/123456" could be configured to expand to the
@@ -12,9 +29,17 @@ TODO items for public-inbox
   likewise "[Bug #123456]" could be configured to expand to
   point to some project's bug tracker at http://example.com/bug/123456
 
+* Support optional "HTTPS Everywhere" for mapping old HTTP to HTTPS
+  links if (and only if) the user wants to use HTTPS.  We may also
+  be able to configure redirects for expired URLs.
+
+  Note: message bodies rendered as HTML themselves must NOT change,
+  the links should point to an anchor tag within the same page,
+  instead; giving the user options.
+
 * implement RFC 4685 (Atom message threading)
 
-* configurable constants (quote folding, index limits)
+* configurable constants (index limits, search results)
 
 * use tags as date-based skiplists for navigating history
   (maybe not needed with Xapian support nowadays?)
@@ -22,14 +47,20 @@ TODO items for public-inbox
 * handle Xapian date range queries:
   http://mid.gmane.org/20151005222157.GE5880@survex.com
 
+* Consider storing git blob ID in Xapian doc data to avoid ref
+  and tree lookups based on Message-Id.
+
+* streaming Email::MIME replacement: currently we generate many
+  allocations/strings for headers we never look at and slurp
+  entire message bodies into memory.
+  (this is pie-in-the-sky territory...)
+
+* Allow in-place Xapian updates without clobbering the whole
+  index (versioning each doc data entry?) for big archives
+
 * use REQUEST_URI properly for CGI / mod_perl2 compatibility
-  with Message-IDs which include '%'
+  with Message-IDs which include '%' (done?)
 
 * more test cases (use git fast-import to speed up creation)
 
 * large mbox/Maildir/MH/NNTP spool import (use git fast-import)
-
-* remove dependency on ssoma installation (inline the code)
-
-* improve + document mlmmj integration, currently only at:
-  http://bogomips.org/unicorn-public/20140508084301.GA2033%40dcvr.yhbt.net/