From f897153a1196f23fe0d82dc703d98df1363bf3fc Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Fri, 14 Aug 2026 18:41:10 +0200 Subject: docs: close item 36, narrow item 66 with a negative result Item 36's section moves to the closed file and its three traps go into CLAUDE.md, which is where they will be read: the worker is unreachable by findChild, rowCount on an unexpanded thread row is 0 by design, and currentThreadId reports intent rather than content. The claim that this class of bug cannot be reproduced in test_mainwindow is now false, so it is corrected rather than left standing beside its replacement. One in-test reference to item 36 as a permanent limitation is reworded: bare-window cases still have no worker, but that is now a choice per case rather than a property of the binary. Item 66 stays open with the simple case ruled out. The negative result sharpens this entry's own candidate rather than contradicting it: the test drives setCurrentIndex, which updates the selection model synchronously, while the suspect guard turns on a real click not having done so yet. Two cheaper conditions are named as still unexcluded. Co-Authored-By: Claude Opus 5 --- tests/test_mainwindow.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'tests/test_mainwindow.cpp') diff --git a/tests/test_mainwindow.cpp b/tests/test_mainwindow.cpp index 08db434..1ff8956 100644 --- a/tests/test_mainwindow.cpp +++ b/tests/test_mainwindow.cpp @@ -1431,8 +1431,11 @@ void TestMainWindow::anActionOnAMessageRowTagsThatMessageNotTheThread() void TestMainWindow::selectingAMessageRowTargetsThatMessageNotItsThread() { - // test_mainwindow has no worker (backlog item 36), so this cannot assert on - // what the pane renders. What it CAN assert is the decision the UI makes: + // This case builds a bare window, so it has no worker and cannot assert on + // what the pane renders. A case that needs one opts into + // WorkerBackedWindow; that is deliberately not done here, since the + // decision under test is made before any load. What it CAN assert is that + // decision: // a message row must stop tracking a current thread, or a reply arriving // for either kind of selection cannot tell which one it belongs to. // -- cgit v1.2.3