join(', ', @$ngname). "\n";
return;
} elsif ($ngname =~ m![^a-z0-9/_\.\-\~\@\+\=:]! ||
- $ngname =~ /\.[0-9]+-[0-9]+\z/) {
+ $ngname =~ /\.[0-9]+\z/) {
warn "mailbox name invalid: newsgroup=`$ngname'\n";
return;
}
# this case is a 32-bit representation of the creation
# date/time of the mailbox"
defined($ibx->{uidvalidity} = $mm->created_at) or return;
- PublicInbox::IMAP::ensure_ranges_exist($imapd, $ibx, $mm->max // 1);
+ PublicInbox::IMAP::ensure_slices_exist($imapd, $ibx, $mm->max // 0);
# preload to avoid fragmentation:
$ibx->description;
$imapd->{inboxlist} = [
map {
my $no = $mailboxes->{$_} == $dummy ? '' : 'No';
- qq[* LIST (\\Has${no}Children) "." $_\r\n]
- } sort { length($a) <=> length($b) } keys %$mailboxes
+ my $u = $_; # capitalize "INBOX" for user-familiarity
+ $u =~ s/\Ainbox(\.|\z)/INBOX$1/i;
+ qq[* LIST (\\Has${no}Children) "." $u\r\n]
+ } keys %$mailboxes
];
$imapd->{pi_config} = $pi_config;
if (my $idler = $imapd->{idler}) {