user/dev discussion of public-inbox itself
 help / color / Atom feed
From: Eric Wong <e@yhbt.net>
To: meta@public-inbox.org
Subject: MUA and client-side limits w.r.t. IMAP
Date: Tue, 19 May 2020 09:00:00 +0000
Message-ID: <20200519090000.GA24273@dcvr> (raw)

TL;DR: is 50K messages a reasonable IMAP folder size?

So far, the IMAP daemon code shares quite a bit of data and
logic with the NNTP code.  NNTP article numbers are reusable as
IMAP UIDs; and for small inboxes, newsgroups can be an IMAP
folder.  But that only works for small inboxes...

One major difference between IMAP and NNTP is every NNTP client
I've looked at (even going back to the 90s) has default limits
on the number of messages it can fetch for a newsgroup.

I'm not sure if any IMAP client has NNTP-like limits by default.
Instead, they'll attempt to fetch headers for every single
message in that IMAP folder.

Bigger public-inboxes have 300-400K of messages per epoch.  I
don't think most MUAs will be happy with even that, not to
mention monster multi-epoch inboxes like LKML.

So I'm thinking 10K-60K is more reasonable these days, at least
on the hardware I have and TokyoCabinet header caching in mutt.
10K is a pretty small window for lists like LKML; and 50K only
takes a few seconds for my old Centrino laptop over IMAP.

All messages can still be exposed via extra folders with numbers
tacked on:

* default, same as newsgroup name, messages "expire"
inbox.comp.version-control.git           =>    most recent 50K messages

* messages never expire from these IMAP folders:
inbox.comp.version-control.git.400000    =>    350,001..400K
inbox.comp.version-control.git.350000    =>    300,001..350K
inbox.comp.version-control.git.300000    =>    250,001..300K
...

I don't want to expose a configuration knob, here; since
users can get thrown off and have to resync if the admin
changes the window size.

I don't know about MUAs other than mutt; but is 50K a reasonable
folder size?

Also, IMAP search may be able to cross into the older ranges,
not sure, yet...

                 reply index

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://public-inbox.org/README

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200519090000.GA24273@dcvr \
    --to=e@yhbt.net \
    --cc=meta@public-inbox.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

user/dev discussion of public-inbox itself

Archives are clonable:
	git clone --mirror http://public-inbox.org/meta
	git clone --mirror http://czquwvybam4bgbro.onion/meta
	git clone --mirror http://hjrcffqmbrq6wope.onion/meta
	git clone --mirror http://ou63pmih66umazou.onion/meta

Example config snippet for mirrors

Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.mail.public-inbox.meta
	nntp://ou63pmih66umazou.onion/inbox.comp.mail.public-inbox.meta
	nntp://czquwvybam4bgbro.onion/inbox.comp.mail.public-inbox.meta
	nntp://hjrcffqmbrq6wope.onion/inbox.comp.mail.public-inbox.meta
	nntp://news.gmane.io/gmane.mail.public-inbox.general

 note: .onion URLs require Tor: https://www.torproject.org/

AGPL code for this site: git clone https://public-inbox.org/public-inbox.git