From: Eric Wong <e@80x24.org>
To: Maxim Mikityanskiy <maxtram95@gmail.com>
Cc: meta@public-inbox.org, Kyle Meyer <kyle@kyleam.com>
Subject: [PATCH] lei q: do not collapse threads with `-tt'
Date: Tue, 14 Feb 2023 02:42:32 +0000 [thread overview]
Message-ID: <20230214024232.M64373@dcvr> (raw)
In-Reply-To: <Y+pgBmj0jxR+cVkD@mail.gmail.com>
Maxim Mikityanskiy <maxtram95@gmail.com> wrote:
> lei q --no-save -a -o /tmp/lei-test -I 'https://lore.kernel.org/all' \
> -tt 'a:syzbot AND rt:2023-01-01..2023-01-07'
At first, I thought -a (--augment) was causing it...
Sidenote: you also don't need to quote the query (I forget the exact
rules, but I tried to keep quotes easier for phrase searches).
> It looks as if the match works correctly, but the -tt option fails to
> mark most of the matched emails as important, except a few that actually
> got marked (I couldn't find a pattern here). It's also not consistent,
> for example, after I removed /tmp/lei-test and restarted the lei q
> command, I got many more important emails, almost in each thread, but
> there were still threads without flagged emails.
Yes, now it seems it's the collapsing optimization.
> I'm checking the flags with mutt.
>
> Does anyone know what could be the reason for such behavior?
I think the following patch fixes it.
(I accidentally sent you a private copy with invalid blobs since
I had other unpublished changes)
-----8<-------
Subject: [PATCH] lei q: do not collapse threads with `-tt'
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 | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/lib/PublicInbox/Search.pm b/lib/PublicInbox/Search.pm
index 2feb3e13..273cc57c 100644
--- a/lib/PublicInbox/Search.pm
+++ b/lib/PublicInbox/Search.pm
@@ -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);
next prev parent reply other threads:[~2023-02-14 2:42 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-13 16:06 lei q -tt doesn't work properly? Maxim Mikityanskiy
2023-02-14 2:42 ` Eric Wong [this message]
2023-02-26 12:17 ` [PATCH] lei q: do not collapse threads with `-tt' Maxim Mikityanskiy
2023-02-26 17:09 ` Eric Wong
2023-02-26 17:15 ` [PATCH] doc: note "lei q -tt" is broken with HTTP(S) remotes Eric Wong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://public-inbox.org/README
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230214024232.M64373@dcvr \
--to=e@80x24.org \
--cc=kyle@kyleam.com \
--cc=maxtram95@gmail.com \
--cc=meta@public-inbox.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).