Thread panel uses the full composer and groups by author #310

Closed
opened 2026-10-07 20:43:18 -04:00 by Salastil · 1 comment
Owner

The thread reply box is a plain textarea (ThreadPanel.tsx:96-108): no emoji, attachments, mentions or formatting, and a 12px radius against the main composer's 8px.

Fix: reuse the real Composer in a thread mode; group replies by author. (The settings/plural/scroll bugs are filed separately.)

Part of the v1.0 UI pass.

The thread reply box is a plain textarea (ThreadPanel.tsx:96-108): no emoji, attachments, mentions or formatting, and a 12px radius against the main composer's 8px. **Fix:** reuse the real Composer in a thread mode; group replies by author. (The settings/plural/scroll bugs are filed separately.) _Part of the v1.0 UI pass._
Salastil added this to the v1.0 milestone 2026-10-07 20:43:18 -04:00
Salastil added the feature label 2026-10-07 20:43:18 -04:00
Author
Owner

Finished: f120076.

The thread reply box is the room's own box now, answering the thread.

  • Composer takes a thread flag: it reads the open thread's conversation, sends through the thread (sendToThread now carries files and spoilers too) and shows "Reply in thread". Everything the room's box has works there: the emoji button and :shortcode completion, @ names, the + for files (several, as one message on Discord), formatting, Shift+Enter, the Send button that appears when there is something to send.
  • What belongs to the room stays with the room's box: the "type anywhere" listener, files dropped on the window, a reply in progress, Up-to-edit, and stickers, voice messages, locations and polls (which are messages of their own kind and would go to the room, not the thread).
  • The old textarea and its CSS are gone, along with its 12px radius that did not match the main box. (The replies were already grouped by author, and the plural and scroll-to-newest were fixed under #269.)
  • Behaviour checked in the app with a thread open beside the room: two boxes, the thread's is focused, Enter sends once as a thread reply to the root, the room's box is untouched, and a key typed with nothing focused still goes to the room's.

Before (left), after (right, with :fi typed to show the emoji list):

thread

Finished: [f120076](https://git.salastil.com/Salastil/moho/commit/f12007679be487d1cf7286d1dc75b6219eb76a46). The thread reply box is the room's own box now, answering the thread. - `Composer` takes a `thread` flag: it reads the open thread's conversation, sends through the thread (`sendToThread` now carries files and spoilers too) and shows "Reply in thread". Everything the room's box has works there: the emoji button and `:shortcode` completion, `@` names, the `+` for files (several, as one message on Discord), formatting, Shift+Enter, the Send button that appears when there is something to send. - What belongs to the room stays with the room's box: the "type anywhere" listener, files dropped on the window, a reply in progress, Up-to-edit, and stickers, voice messages, locations and polls (which are messages of their own kind and would go to the room, not the thread). - The old textarea and its CSS are gone, along with its 12px radius that did not match the main box. (The replies were already grouped by author, and the plural and scroll-to-newest were fixed under #269.) - Behaviour checked in the app with a thread open beside the room: two boxes, the thread's is focused, Enter sends once as a thread reply to the root, the room's box is untouched, and a key typed with nothing focused still goes to the room's. Before (left), after (right, with `:fi` typed to show the emoji list): ![thread](https://git.salastil.com/attachments/f5cd48c8-58f2-4f6f-aa37-3a17f87e565c)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Salastil/moho#310