about summary refs log tree commit homepage
path: root/lib/PublicInbox/LeiRefreshMailSync.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/PublicInbox/LeiRefreshMailSync.pm')
-rw-r--r--lib/PublicInbox/LeiRefreshMailSync.pm13
1 files changed, 5 insertions, 8 deletions
diff --git a/lib/PublicInbox/LeiRefreshMailSync.pm b/lib/PublicInbox/LeiRefreshMailSync.pm
index eb842843..dde23274 100644
--- a/lib/PublicInbox/LeiRefreshMailSync.pm
+++ b/lib/PublicInbox/LeiRefreshMailSync.pm
@@ -60,7 +60,7 @@ sub input_path_url { # overrides PublicInbox::LeiInput::input_path_url
                         $self->folder_missing($$uri);
                 }
         } else { die "BUG: $input not supported" }
-        $self->{lei}->sto_done_request;
+        $self->{lei}->sto_barrier_request;
 }
 
 sub lei_refresh_mail_sync {
@@ -73,6 +73,8 @@ lei mail_sync.sqlite3 uninitialized, see lei-import(1)
 EOM
         if (defined(my $all = $lei->{opt}->{all})) {
                 $lms->group2folders($lei, $all, \@folders) or return;
+                # TODO: handle NNTP servers which delete messages
+                @folders = grep(!m!\Anntps?://!, @folders);
         } else {
                 $lms->arg2folder($lei, \@folders); # may die
         }
@@ -81,13 +83,8 @@ EOM
         my $self = bless { missing_ok => 1, lms => $lms }, __PACKAGE__;
         $lei->{opt}->{'mail-sync'} = 1; # for prepare_inputs
         $self->prepare_inputs($lei, \@folders) or return;
-        my $ops = {};
-        $lei->{auth}->op_merge($ops, $self) if $lei->{auth};
-        (my $op_c, $ops) = $lei->workers_start($self, 1, $ops);
-        $lei->{wq1} = $self;
         $lei->{-err_type} = 'non-fatal';
-        net_merge_all_done($self) unless $lei->{auth};
-        $lei->wait_wq_events($op_c, $ops); # net_merge_all_done if !{auth}
+        $lei->wq1_start($self);
 }
 
 sub ipc_atfork_child { # needed for PublicInbox::LeiPmdir
@@ -101,7 +98,7 @@ sub _complete_refresh_mail_sync {
         my ($lei, @argv) = @_;
         my $lms = $lei->lms or return ();
         my $match_cb = $lei->complete_url_prepare(\@argv);
-        my @k = $lms->folders($argv[-1], 1);
+        my @k = $lms->folders($argv[-1] // undef, 1);
         my @m = map { $match_cb->($_) } @k;
         @m ? @m : @k
 }