We must not accumulate mset totals for messages which
have already been counted.  Furthermore, the combined
search was being passed an extra arg and causing the
total to go missing.
---
 lib/PublicInbox/LeiXSearch.pm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/PublicInbox/LeiXSearch.pm b/lib/PublicInbox/LeiXSearch.pm
index 21b15025..e69a4edd 100644
--- a/lib/PublicInbox/LeiXSearch.pm
+++ b/lib/PublicInbox/LeiXSearch.pm
@@ -139,7 +139,7 @@ sub mset_progress {
                pkt_do($lei->{pkt_op_p}, 'mset_progress', @_);
        } else { # single lei-daemon consumer
                my ($desc, $mset_size, $mset_total_est) = @_;
-               $lei->{-mset_total} += $mset_size;
+               $lei->{-mset_total} += $mset_size if $mset_total_est ne '?';
                $lei->qerr("# $desc $mset_size/$mset_total_est");
        }
 }
@@ -238,7 +238,7 @@ sub query_combined_mset { # non-parallel for 
non-"--threads" users
        do {
                $mset = $self->mset($mo->{qstr}, $mo);
                mset_progress($lei, 'xsearch', $mset->size,
-                               $mset->size, $mset->get_matches_estimated);
+                               $mset->get_matches_estimated);
                wait_startq($lei); # wait for keyword updates
                for my $mitem ($mset->items) {
                        my $smsg = smsg_for($self, $mitem) or next;
--
unsubscribe: one-click, see List-Unsubscribe header
archive: https://public-inbox.org/meta/

Reply via email to