+ if ($query eq '') {
+ my $prev = 0;
+ my $msgs = [];
+ my $cb = sub {
+ $ctx->{-inbox}->mm->id_batch($prev, sub {
+ $msgs = $_[0];
+ });
+ $prev = $msgs->[-1] if @$msgs;
+ $msgs;
+ };
+ return PublicInbox::MboxGz->response($ctx, $cb, 'all');
+ }
+ my $opts = { offset => 0 };
+ my $srch = $ctx->{srch};
+ my $cb = sub { # called by MboxGz->getline
+ my $msgs = $srch->query($query, $opts);
+ $opts->{offset} += scalar @$msgs;
+ $msgs;
+ };