]> Sergey Matveev's repositories - public-inbox.git/commitdiff
lei q: do not collapse threads with `-tt'
authorEric Wong <e@80x24.org>
Tue, 14 Feb 2023 02:42:32 +0000 (02:42 +0000)
committerEric Wong <e@80x24.org>
Wed, 15 Feb 2023 04:31:22 +0000 (04:31 +0000)
While having Xapian collapse threads is an easy way to reduce
the amount of deduplication work we need to do when writing
out threads; we can't rely on it when using `lei q -tt` since
that needs to flag all hits.

Reported-by: Maxim Mikityanskiy <maxtram95@gmail.com>
Link: https://public-inbox.org/git/Y+pgBmj0jxR+cVkD@mail.gmail.com/
lib/PublicInbox/Search.pm

index 2feb3e13b49d222bc7bd28430a9cf159692a933f..273cc57cf94ba8b12d18acfcefd4aaa13e8a2c7a 100644 (file)
@@ -460,8 +460,9 @@ sub _enquire_once { # retry_reopen callback
                $enquire->set_sort_by_relevance_then_value(TS, !$opts->{asc});
        }
 
-       # `mairix -t / --threads' or JMAP collapseThreads
-       if ($opts->{threads} && has_threadid($self)) {
+       # `lei q -t / --threads' or JMAP collapseThreads; but don't collapse
+       # on `-tt' ({threads} > 1) which sets the Flagged|Important keyword
+       if (($opts->{threads} // 0) == 1 && has_threadid($self)) {
                $enquire->set_collapse_key(THREADID);
        }
        $enquire->get_mset($opts->{offset} || 0, $opts->{limit} || 50);