]> Sergey Matveev's repositories - public-inbox.git/blobdiff - TODO
public-inbox 1.1.0-pre1
[public-inbox.git] / TODO
diff --git a/TODO b/TODO
index b6a3af3fde7835efa090a5e4fa2f9cb68d0ea0bb..c2727be44fba0665ddb6a9f80aaab5e7739f4280 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,26 +1,35 @@
 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)
 
-* mailmap support (same as git) for remapping expired email addresses
-
-* Optional cookies in WWW interface for user-configurable colors
+* general performance improvements, but without relying on
+  XS or compiled code any more than we currently do.
 
-* WWW: Hybrid flat view + thread skeleton (requires Xapian)
+* 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/
+  Perhaps make this depend solely the NNTP server and work as a proxy.
+  Meaning users can run this without needing a full copy of the
+  archives in a git repository.
+
+* HTTP and NNTP proxy support.  Allow us to be a frontend for
+  firewalled off (or Tor-exclusive) instances.  The use case is
+  for offering a publically accessible IP with a cheap VPS,
+  yet storing large amounts of data on computers without a
+  public IP behind a home Internet connection.
 
 * 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
+* NNTP COMPRESS extension (see innd)
+
+* Support more of RFC 3977 (NNTP)
 
 * 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.
+* Optional reply-to-nobody for dead lists.
 
 * Configurable linkification for per-inbox shorthands:
   "$gmane/123456" could be configured to expand to the
@@ -28,22 +37,53 @@ 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
 
-* implement RFC 4685 (Atom message threading)
+* 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.
 
 * configurable constants (index limits, search results)
 
-* use tags as date-based skiplists for navigating history
-  (maybe not needed with Xapian support nowadays?)
+* handle messages with multiple Message-IDs (done for v2, doable for v1)
+
+* handle broken double-bracketed References properly (maybe)
+  and totally broken Message-IDs
+
+  cf.  https://public-inbox.org/git/20160814012706.GA18784@starla/
 
-* handle Xapian date range queries:
-  http://mid.gmane.org/20151005222157.GE5880@survex.com
+* portability to FreeBSD (and other Free Software *BSDs)
+  ugh... https://rt.cpan.org/Ticket/Display.html?id=116615
+  (IO::KQueue is broken with Danga::Socket)
+
+* EPOLLEXCLUSIVE for listen socket fairness across -httpd/nntpd
+  worker processes.
+
+* improve documentation
+
+* linkify thread skeletons better
+  https://public-inbox.org/git/6E3699DEA672430CAEA6DEFEDE6918F4@PhilipOakley/
+
+* generate sample CSS for use with Stylish/dillo/etc
+
+* 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...)
 
 * 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)
+* more and better test cases (use git fast-import to speed up creation)
+
+* large mbox/Maildir/MH/NNTP spool import (see PublicInbox::Import)
+
+* Optionally allow indexing Xapian without positional information to
+  save space (but prevents "quoted phrase" searching).
 
-* large mbox/Maildir/MH/NNTP spool import (use git fast-import)
+* Allow NNTP and more of PSGI code to work without Xapian
 
-* improve + document mlmmj integration, currently only at:
-  http://bogomips.org/unicorn-public/20140508084301.GA2033%40dcvr.yhbt.net/
+* Read-only WebDAV interface to the git repo so it can be mounted
+  via davfs2 or fusedav to avoid full clones.