From cfae078171fc1453be0795e4ba5f0252627ebba3 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Wed, 10 Jun 2020 07:04:40 +0000 Subject: imap: require ".$UID_MIN-$UID_END" suffix Finish up the IMAP-only portion of iterative config reloading, which allows us to create all sub-ranges of an inbox up front. The InboxIdler still uses ->each_inbox which will struggle with 100K inboxes. Having messages in the top-level newsgroup name of an inbox will still waste bandwidth for clients which want to do full syncs once there's a rollover to a new 50K range. So instead, make every inbox accessible exclusively via 50K slices in the form of "$NEWSGROUP.$UID_MIN-$UID_END". This introduces the DummyInbox, which makes $NEWSGROUP and every parent component a selectable, empty inbox. This aids navigation with mutt and possibly other MUAs. Finally, the xt/perf-imap-list maintainer test is broken, now, so remove it. The grep perlfunc is already proven effective, and we'll have separate tests for mocking out ~100k inboxes. --- xt/imapd-mbsync-oimap.t | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'xt/imapd-mbsync-oimap.t') diff --git a/xt/imapd-mbsync-oimap.t b/xt/imapd-mbsync-oimap.t index d2237a24..b2cb8737 100644 --- a/xt/imapd-mbsync-oimap.t +++ b/xt/imapd-mbsync-oimap.t @@ -13,12 +13,13 @@ my $inboxdir = $ENV{GIANT_INBOX_DIR}; plan skip_all => "bad characters in $inboxdir" if $inboxdir =~ m![^\w\.\-/]!; my ($tmpdir, $for_destroy) = tmpdir(); my $cfg = "$tmpdir/cfg"; -my $mailbox = 'inbox.test'; +my $newsgroup = 'inbox.test'; +my $mailbox = "$newsgroup.1-50000"; { open my $fh, '>', $cfg or BAIL_OUT "open: $!"; print $fh <