-# Copyright (C) 2021 all contributors <meta@public-inbox.org>
+# Copyright (C) all contributors <meta@public-inbox.org>
# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
# common reader code for IMAP and NNTP (and maybe JMAP)
mic_for($self, $uri, $mic_common, $lei) //
die "Unable to continue\n";
next unless $self->isa('PublicInbox::NetWriter');
+ next if $self->{-skip_creat};
my $dst = $orig_uri->mailbox // next;
next if $mic->exists($dst); # already exists
$mic->create($dst) or die "CREATE $dst failed <$orig_uri>: $@";
my ($self, $uri, $r_uidval, $mic) = @_;
return (undef, undef, $r_uidval) unless $self->{incremental};
my ($itrk, $l_uid, $l_uidval);
- if (defined(my $lms = $self->{-lms_ro})) { # LeiMailSync or 0
+ if (defined(my $lms = $self->{-lms_rw})) { # LeiMailSync or 0
$uri->uidvalidity($r_uidval) if defined $r_uidval;
if ($mic) {
my $auth = $mic->Authmechanism // '';
}
my $mic = mic_new($self, $mic_arg, $sec, $uri);
$cached //= {}; # invalid placeholder if no cache enabled
- $mic && $mic->IsConnected ? ($cached->{$sec} = $mic) : undef;
+ if ($mic && $mic->IsConnected) {
+ $cached->{$sec} = $mic;
+ } else {
+ warn 'IMAP LastError: ',$mic->LastError, "\n" if $mic;
+ warn "IMAP errno: $!\n" if $!;
+ undef;
+ }
}
sub imap_each {