Threads 1b: a thread read as a chat #283

Closed
opened 2026-10-22 14:41:25 +00:00 by littlefox · 1 comment
Owner

Part 1b of #242 (D-063). The design is on #242.

A thread read as a chat:

  • the root on top, in full;
  • replies as compact chat messages, oldest first;
  • a person's consecutive messages grouped under one name;
  • a subject shown only when it changes;
  • chains are flat: a reply that is its parent's only answer continues the same column;
  • unread messages marked, and read when seen (#180);
  • "Läs nästa" goes through the open thread, then to the next thread with something new (D-056);
  • a reply field at the bottom: a reply comments the post it's under, or the last one in the chain, to the same recipients;
  • footnotes are drawn under the author's message, which is #277.

The direct-message chats should share this component (#265).

Tests: seed a long chain; e2e for grouping, the reply field and read-when-seen; screenshots.

Part 1b of #242 (D-063). The design is on #242. **A thread read as a chat:** - the root on top, in full; - replies as compact chat messages, oldest first; - a person's consecutive messages grouped under one name; - a subject shown only when it changes; - chains are flat: a reply that is its parent's only answer continues the same column; - unread messages marked, and read when seen (#180); - "Läs nästa" goes through the open thread, then to the next thread with something new (D-056); - a reply field at the bottom: a reply comments the post it's under, or the last one in the chain, to the same recipients; - footnotes are drawn under the author's message, which is #277. The direct-message chats should share this component (#265). Tests: seed a long chain; e2e for grouping, the reply field and read-when-seen; screenshots.
littlefox added this to the 0.7: Threads milestone 2026-10-22 14:41:25 +00:00
Author
Owner

Merged in #298; main run #487 green. Verified: e2e thread-chat.spec (order, one name per run, flat chains, fork indentation, subject only where it changes, unread marks, opening a message, replying from the field with Ctrl+Enter) in desktop/android/iphone; full e2e suite 344 passed on the branch; unit tests for the layout; lint with CI's three clippy commands; screenshots looked at on desktop and phone. Forks become chips and subject changes split off in #284.

Merged in #298; main run #487 green. Verified: e2e thread-chat.spec (order, one name per run, flat chains, fork indentation, subject only where it changes, unread marks, opening a message, replying from the field with Ctrl+Enter) in desktop/android/iphone; full e2e suite 344 passed on the branch; unit tests for the layout; lint with CI's three clippy commands; screenshots looked at on desktop and phone. Forks become chips and subject changes split off in #284.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
littlefox/neokom#283
No description provided.