X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=TODO;h=605013e4904baabecd4a0a55997aebd8e8477a8f;hb=be4d92e74dd0b1c8de85bc08c3c522af2d8d8656;hp=dfee6e5818e20949a74ab2af251d0704fa26b0e0;hpb=066509e117ab359d338e50cdd3ccec5601581d7c;p=public-inbox.git diff --git a/TODO b/TODO index dfee6e58..605013e4 100644 --- a/TODO +++ b/TODO @@ -11,11 +11,19 @@ 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) -* Unix socket support for HTTP and POP3 server for use behind reverse - proxies like nginx +* NNTP COMPRESS extension (see innd) * Combined "super server" for NNTP/HTTP/POP3 to reduce memory overhead @@ -23,6 +31,8 @@ all need to be considered for everything we introduce) 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. +* Optional reply-to-nobody for dead lists. + * Configurable linkification for per-inbox shorthands: "$gmane/123456" could be configured to expand to the appropriate link pointing to the gmane.org list archives, @@ -37,17 +47,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) -* use tags as date-based skiplists for navigating history - (maybe not needed with Xapian support nowadays?) - -* handle Xapian date range queries: - http://mid.gmane.org/20151005222157.GE5880@survex.com - -* handle messages with multiple Message-IDs +* handle messages with multiple Message-IDs (how?) * handle broken double-bracketed References properly (maybe) and totally broken Message-IDs @@ -56,16 +58,15 @@ all need to be considered for everything we introduce) * 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) -* documentation (pod/text) +* improve documentation * linkify thread skeletons better https://public-inbox.org/git/6E3699DEA672430CAEA6DEFEDE6918F4@PhilipOakley/ * generate sample CSS for use with Stylish/dillo/etc -* builtin-help for search engine syntax - * streaming Email::MIME replacement: currently we generate many allocations/strings for headers we never look at and slurp entire message bodies into memory. @@ -74,6 +75,37 @@ all need to be considered for everything we introduce) * 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) + +* Read-only WebDAV interface to the git repo so it can be mounted + via davfs2 or fusedav to avoid full clones. + +* Improve tree layout to help giant archives (v2 format): + + * Must be optional; old ssoma users may continue using v1 + + * Xapian becomes becomes a requirement when using v2; they + claim good scalability: https://xapian.org/docs/scalability.html + + * Allow git to perform better deltafication for quoted messages + + * Changing tree layout for deltafication means we need to handle + deletes for spam differently than we do now. + + * Deal with duplicate Message-IDs (web UI, at least, not sure about NNTP) + + * (Maybe) SQLite alternatives (MySQL/MariaDB/Pg) for NNTP article + number mapping: https://www.sqlite.org/whentouse.html + + * Ref rotation (splitting heads by YYYY or YYYY-MM) + + * Support multiple git repos for a single archive? + This seems gross, but splitting large packs in in git conflicts + with bitmaps and we want to use both features. Perhaps this + limitation can be fixed in git instead of merely being documented: + https://public-inbox.org/git/20160428072854.GA5252@dcvr.yhbt.net/ -* large mbox/Maildir/MH/NNTP spool import (use git fast-import) + * Optional history squashing to reduce commit and intermediate + tree objects