X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=TODO;h=46c61f8e1ca23f5064665ad2b200642ab17b93ea;hb=9342aad429aa437b743c75bd18e06e3df25a3b6a;hp=2d20bad4b6206a3c94989c7118e8ee977829ec2e;hpb=77c66b4cdb1d52321ed3cb6352fe0b72312cbb71;p=public-inbox.git diff --git a/TODO b/TODO index 2d20bad4..46c61f8e 100644 --- a/TODO +++ b/TODO @@ -5,10 +5,14 @@ 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. + XS or pre-built modules any more than we currently do. + (Optional Inline::C and user-compiled re2c acceptable) * mailmap support (same as git) for remapping expired email addresses +* support remapping of expired URLs similar to mailmap + (coordinate with git.git with this?) + * 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. @@ -21,7 +25,11 @@ all need to be considered for everything we introduce) 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) +* support HTTP(S) CONNECT proxying to NNTP for users with + firewall problems + +* DHT (distributed hash table) for mapping Message-IDs to various + archive locations to avoid SPOF. * optional Cache::FastMmap support so production deployments won't need Varnish (Varnish doesn't protect NNTP, either) @@ -67,10 +75,9 @@ all need to be considered for everything we introduce) * linkify thread skeletons better https://public-inbox.org/git/6E3699DEA672430CAEA6DEFEDE6918F4@PhilipOakley/ -* streaming Email::MIME replacement: currently we generate many +* low-memory 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...) + entire message bodies into memory. GMime+Inline::C could work. * use REQUEST_URI properly for CGI / mod_perl2 compatibility with Message-IDs which include '%' (done?) @@ -103,7 +110,36 @@ all need to be considered for everything we introduce) * imperfect scraper importers for obfuscated list archives (e.g. obfuscated Mailman stuff, Google Groups, etc...) -* support hooks, since low-level git-fast-import does not run them - https://public-inbox.org/meta/20190405174329.GA21472@chatter.qube.local/ +* improve performance and avoid head-of-line blocking on slow storage + +* share "git cat-file --batch" processes across inboxes to avoid + bumping into /proc/sys/fs/pipe-user-pages-* limits + +* make "git cat-file --batch" detect unlinked packfiles so we don't + have to restart processes (very long-term) + +* support searching based on `git-patch-id --stable` to improve + bidirectional mapping of commits <=> emails + +* linter to check validity of config file + +* linter option and WWW endpoint to graph relationships and flows + between inboxes, addresses maildirs, coderepos, etc... + +* pygments support - via Python script similar to `git cat-file --batch' + to avoid startup penalty. pygments.rb (Ruby) can be inspiration, too. + +* highlighting + linkification for "git format-patch --interdiff" output + +* highlighting + linkification for "git format-patch --range-diff" output + (requires mirroring of git repos) + +* parse and allow (semi)automatic-mirroring of "git request-pull" output + for coderepos + +* configurable diff output for solver-generated blobs + +* figure out how search for messages with multiple Date: headers + should work (some wacky examples out there...) -* investigate native grokmirror support/integration +* support UUCP addresses for legacy archives