From 3524c2eb1267baf44301ea888abc784ecf85e76a Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Tue, 29 Sep 2026 17:14:21 +0200 Subject: feat: apply the launch selectors to the window One entry point, called both at startup and by the socket handler when a later launch arrives. Two paths would drift, which is the lesson this file has already learned from every other pair. The account moves first, because a built-in filter composes with the dropdown and a query run before it would carry the old scope. The thread case reuses recoverStaleThread() whole, as item 91's double-click already does. A message id resolves to its thread first through the worker: opening a message means opening its conversation with that message selected. A thread id must be hex or it is treated as a miss and never reaches notmuch. recoverStaleThread() builds thread: unquoted, which is safe for ids notmuch handed out and not for ones from another program's command line, where "0000 or tag:inbox" would widen the query to the whole inbox. The check uses anchoredPattern() because a PCRE $ also matches before a trailing newline. An empty selector set changes nothing. A bare launch against a running window means raise yourself, and a raise is not a navigation. Also drops an empty public: label left in notmuchworker.h by the previous commit. Co-Authored-By: Claude Opus 5.5 --- src/notmuchworker.h | 2 -- 1 file changed, 2 deletions(-) (limited to 'src/notmuchworker.h') diff --git a/src/notmuchworker.h b/src/notmuchworker.h index 3183729..ad5f616 100644 --- a/src/notmuchworker.h +++ b/src/notmuchworker.h @@ -143,8 +143,6 @@ private: /// threadIdForTesting() and resolveThreadForMessage(). QString firstThreadIdMatching(const QString &query); -public: - public slots: /// Loads ONE message, for a message row selected in the list. -- cgit v1.2.3