aboutsummaryrefslogtreecommitdiffstats
path: root/docs/superpowers/specs/2026-08-28-thread-row-identity-design.md
AgeCommit message (Collapse)AuthorFilesLines
37 hoursdocs: settle the unread toggle on a mixed conversationDanilo M.1-0/+16
One key: mixed reads Mark thread read and marks every message read, a fully read conversation reads Mark thread unread. Two presses reach either state, which is item 112's requirement met with a label rule rather than a second action.
38 hoursdocs: state why the thread reply is reply-allDanilo M.1-4/+6
Replying to the sender alone in a multi-person thread drops everyone else from a conversation they are part of, while reading as a reply to it.
38 hoursdocs: settle reply, forward and save on a conversation rowDanilo M.1-0/+24
Forward and Save need a message and disappear; Reply becomes one lean 'Reply to this thread', quoting nothing, reply-all, threaded off the newest message. composeReply already supports it, so no new compose machinery.
38 hoursdocs: settle the dashboard's coloursDanilo M.1-3/+21
Every colour on the pane already means something elsewhere: a sender's hashed identity, a tag's, or the palette's own emphasis. Avatar::colourFor() hashes the address, so a participant's colour is already stable across threads and nothing new had to be decided.
38 hoursdocs: settle the dashboard's scrolling, action strip and unread capDanilo M.1-6/+21
39 hoursdocs: specify what a thread row stands forDanilo M.1-0/+268
Four separate questions in one session turned out to be one question: a row means a message for display and action, and a thread for existence and membership. The spec settles it as the conversation, and records item 177 plus item 176, the thread-scoped undo defect found while hand-testing.