X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=TODO;h=f9122a5d8e8c8d0cdcc449a9c088851679ab51e8;hb=f9fc5cf2e8cefda4a56d937ed217e47689fd7e49;hp=704b0648384f0234aeee6847c7174d46f6ca81e3;hpb=2c569ea74232c381e6bf43c192e970b012245fa9;p=public-inbox.git diff --git a/TODO b/TODO index 704b0648..f9122a5d 100644 --- a/TODO +++ b/TODO @@ -5,7 +5,7 @@ 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. * mailmap support (same as git) for remapping expired email addresses @@ -21,7 +21,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) +* 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) * dogfood and take advantage of new kernel APIs (while maintaining portability to older Linux, free BSDs and maybe Hurd). @@ -30,8 +34,6 @@ all need to be considered for everything we introduce) ensure things continue working as they should (or more better) while retaining compatibility with old versions. -* NNTP COMPRESS extension (see innd) - * Support more of RFC 3977 (NNTP) * Combined "super server" for NNTP/HTTP/POP3 to reduce memory overhead @@ -102,7 +104,38 @@ 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/ +* consider using HTTP::Date instead of Date::Parse, since we need the + former is capable of parsing RFC822-ish dates, used by Plack, and + the latter is missing from OpenBSD and maybe other distros. + +* 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 -* investigate native grokmirror support/integration +* fix search for messages with multiple Subject:/To:/From:/Date: + headers (some wacky examples out there...)