]> Sergey Matveev's repositories - public-inbox.git/blobdiff - TODO
TODO: support migration to v2 without breaking v1 "git fetch"
[public-inbox.git] / TODO
diff --git a/TODO b/TODO
index 55720a2cb505df7c8c69cf88218761a1f49d4196..66e50633e47c2f8bef358bb3e2f052d36dc8e537 100644 (file)
--- a/TODO
+++ b/TODO
@@ -11,14 +11,23 @@ all need to be considered for everything we introduce)
 
 * 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)
 
-* Combined "super server" for NNTP/HTTP/POP3 to reduce memory overhead
+* NNTP COMPRESS extension (see innd)
 
-* 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.
+* Support more of RFC 3977 (NNTP)
+
+* Combined "super server" for NNTP/HTTP/POP3 to reduce memory overhead
 
 * Configurable linkification for per-inbox shorthands:
   "$gmane/123456" could be configured to expand to the
@@ -34,11 +43,9 @@ all need to be considered for everything we introduce)
   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)
 
-* handle messages with multiple Message-IDs
+* handle messages with multiple Message-IDs (done for v2, doable for v1)
 
 * handle broken double-bracketed References properly (maybe)
   and totally broken Message-IDs
@@ -49,13 +56,14 @@ all need to be considered for everything we introduce)
   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.
@@ -67,3 +75,23 @@ all need to be considered for everything we introduce)
 * more and better test cases (use git fast-import to speed up creation)
 
 * large mbox/Maildir/MH/NNTP spool import (see PublicInbox::Import)
+
+* Allow NNTP and more of PSGI code to work without Xapian
+
+* Read-only WebDAV interface to the git repo so it can be mounted
+  via davfs2 or fusedav to avoid full clones.
+  davfs2 needs Range: request support for this to be feasible:
+    https://savannah.nongnu.org/bugs/?33259
+    https://savannah.nongnu.org/support/?107649
+
+* Contribute something like IMAP IDLE for "git fetch".
+  Inboxes (and any git repos) can be kept up-to-date without
+  relying on polling.
+
+* Expose targeted reindexing of individual messages.
+  Sometimes an indexing bug only affects a handful of messages,
+  so it's not worth the trouble of doing a full reindex.
+
+* code repository integration (with cgit, gitweb, etc...)
+
+* migration path to v2 without breaking v1 "git fetch" cronjobs