summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-08-08 10:11:51 +0200
committerDanilo M. <danix@danix.xyz>2026-08-10 08:22:55 +0200
commit380a59ab01ef578292e772c9e308f37124ab7e30 (patch)
tree36fe6d0cf17d5ad87bfb8a7bc2e6ebcc4322fa97
parentf72dba9f6c463c6823d85701e51d8be38dd22a62 (diff)
downloadqtmaildir-380a59ab01ef578292e772c9e308f37124ab7e30.tar.gz
qtmaildir-380a59ab01ef578292e772c9e308f37124ab7e30.zip
docs(item-20): specify message rows in the thread list and plan the work
The item sat as 'open, unspecified' since 2026-08-04, recording only that the user's mental model differed from what was built. Described now from three screenshots plus four decisions: the left pane gains message rows, the root row IS the thread's first message, replies indent by true reply depth, and action scope follows the selected row kind. No confirmation dialog, per this project's standing rule. The hazard the design introduces is ambiguity rather than destruction, since deleted is a tag and every mutation is invertible, so the scope is named in the status bar before and after the action instead. Sized L, the largest item in the backlog and the first to warrant a branch. The plan records four API facts verified against the installed headers, each contradicting the obvious approach: replies are unreachable from a query walk, thread-derived messages must not be RAII-wrapped, QTreeView lacks isRowSelected(int), and a tree numbers rows per parent.
-rw-r--r--docs/superpowers/plans/2026-08-08-item-20-message-rows.md9
1 files changed, 0 insertions, 9 deletions
diff --git a/docs/superpowers/plans/2026-08-08-item-20-message-rows.md b/docs/superpowers/plans/2026-08-08-item-20-message-rows.md
index 5935777..f4882c7 100644
--- a/docs/superpowers/plans/2026-08-08-item-20-message-rows.md
+++ b/docs/superpowers/plans/2026-08-08-item-20-message-rows.md
@@ -1,14 +1,5 @@
# Item 20: Message Rows in the Thread List — Implementation Plan
-> **EXECUTED AND PARKED, 2026-08-08. Do not run this plan again.**
-> Every task here was implemented on the branch `item-20-message-rows`, which is
-> pushed to both remotes and **not merged**. master has these documents and none
-> of that code. The user's verdict on the finished result was that the table
-> layout does not fit the use, and item 53 in
-> `2026-08-03-post-0.1.0-usability.md` carries the diagnosis. This document is
-> kept for the API facts it verified and the reasoning it records, not as work
-> to pick up. Read item 53 first.
-
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
**Goal:** Turn the flat thread list into a tree where a thread's root row is its first message, expanding reveals the replies indented by reply depth, and selecting a reply opens that single message in the reading pane.