]> 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 00df8bd375bf7f907c50858f668440942dc8ce6b..644fa034b90064dcd8b1be202bfbf4b56418bcf7 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,5 +1,66 @@
-* configurable constants (quote folding, index limits)
+TODO items for public-inbox
+
+(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 code is nice regardless.
+
+* Configurable linkification for per-inbox shorthands:
+  "$gmane/123456" could be configured to expand to the
+  appropriate link pointing to the gmane.org list archives,
+  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 (index limits, search results)
+
 * 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?)
+  (maybe not needed with Xapian support nowadays?)
+
+* 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 '%' (done?)
+
+* more test cases (use git fast-import to speed up creation)
+
+* large mbox/Maildir/MH/NNTP spool import (use git fast-import)