X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=TODO;h=f9122a5d8e8c8d0cdcc449a9c088851679ab51e8;hb=f9fc5cf2e8cefda4a56d937ed217e47689fd7e49;hp=9f58342f3b457dfa369b1bdf0f86813c9d65d789;hpb=4b82e287358c9cd858456798c7f09881d2d274aa;p=public-inbox.git diff --git a/TODO b/TODO index 9f58342f..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,6 +21,9 @@ 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. +* 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) @@ -101,10 +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/ - (note: may not be needed since we do grokmirror manifest.js.gz, now) - * 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 + +* fix search for messages with multiple Subject:/To:/From:/Date: + headers (some wacky examples out there...)