From 8f40c0b6dce67cefa1edce0b865c9a3885d39717 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Sat, 15 Aug 2026 09:42:27 +0200 Subject: fix(status): count threads as they arrive instead of "Searching..." Item 74. runQuery() set the status bar once and only queryFinished cleared it, so the bar kept claiming a query was running for the whole walk while rows were visibly arriving behind it. Measured cold against a 1.1 GB index: the first batch reaches the model at 642 ms and the walk finishes at 5714 ms, so five seconds of a slow query read as a frozen one. onThreadsReady now sets the bar from the model's own row count after each batch, which is the number of rows the user can actually see. No timing changes; this only stops the bar from lying. The refresh branch returns before the new line, so a background refresh stays silent exactly as onQueryFinished already keeps it. That silence has its own test, which fails when the write is moved above the guard. beginRefreshForTesting() is a new seam: refreshCurrentQuery() returns early without a worker and a bare window has none, so a test cannot otherwise reach the refresh path. --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'CHANGELOG.md') diff --git a/CHANGELOG.md b/CHANGELOG.md index e869346..798e8f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,6 +36,13 @@ point at which they are stable. ### Changed +- The status bar counts threads as they arrive instead of saying "Searching..." + until the query is done. On a large query after a reboot, when the notmuch + index is still being read from disk, the first rows appear seconds before the + walk finishes; the bar used to go on claiming the query was running for all of + that time, which made a slow query look like a frozen one. Nothing about the + timing changes. + - The dialog reporting configuration problems at startup now appears over the main window instead of before it. Which problems interrupt startup is unchanged: a keybinding that is being ignored does, a notice such as "no sync -- cgit v1.2.3