Thread panel ignores display settings, says "1 replies", and doesn't scroll to the newest reply #269

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

ThreadPanel.tsx:24-25 reads ui.messageMode and ui.relativeTimestamps, but Settings writes display.messageMode / display.relativeTimestamps (settings/SettingsPanel.tsx:467, 478; MessageList.tsx:178-179). Threads therefore always render with the defaults.

Also in the same panel:

  • every row is passed grouped={false} (line 71), so each reply repeats its avatar and name
  • the count reads "1 replies" (line 60)
  • it does not scroll to the newest reply when opened or when one arrives
  • the service is worked out by splitting the buffer id (line 32) instead of from the account, as MessageList does

Slack and Element thread panes group by author and follow new replies.

Part of the v1.0 UI pass.

`ThreadPanel.tsx:24-25` reads `ui.messageMode` and `ui.relativeTimestamps`, but Settings writes `display.messageMode` / `display.relativeTimestamps` (`settings/SettingsPanel.tsx:467, 478`; `MessageList.tsx:178-179`). Threads therefore always render with the defaults. Also in the same panel: - every row is passed `grouped={false}` (line 71), so each reply repeats its avatar and name - the count reads "1 replies" (line 60) - it does not scroll to the newest reply when opened or when one arrives - the service is worked out by splitting the buffer id (line 32) instead of from the account, as `MessageList` does Slack and Element thread panes group by author and follow new replies. _Part of the v1.0 UI pass._
Salastil added this to the v1.0 milestone 2026-10-07 20:42:53 -04:00
Salastil added the bug label 2026-10-07 20:42:53 -04:00
Author
Owner

Finished: 33129f9.

Before (left) and after (right), a staged thread in the Discord-shaped test guild:

thread

  • Replies from one author group (the second line under Clarence is a continuation, no repeated face and name), as in the room; the thread's first message always stands alone. The repeated "in thread" quote above every reply is gone - the panel's title says it.
  • It reads the room's display settings. It asked for ui.messageMode / ui.relativeTimestamps, which nothing writes, so threads ignored Classic/Bubbles and relative times; they now read display.*, the same keys the room reads. (The test copy is on the default layout, so the two pictures match there - the fix shows when the setting is changed.)
  • "1 reply", not "1 replies".
  • Opens on, and follows, the newest reply (it scrolls to the end when opened and when one arrives).
  • The service comes from the account, as the room does, instead of splitting the buffer id.

Not done here: the thread's reply box is still the plain text area - using the full composer is #310.

Finished: [33129f9](https://git.salastil.com/Salastil/moho/commit/33129f905603b0230ca93aea0ecfab66cb921f17). Before (left) and after (right), a staged thread in the Discord-shaped test guild: ![thread](https://git.salastil.com/attachments/d0d1925d-e56d-4021-85b1-68004ac754d8) - **Replies from one author group** (the second line under Clarence is a continuation, no repeated face and name), as in the room; the thread's first message always stands alone. The repeated "in thread" quote above every reply is gone - the panel's title says it. - **It reads the room's display settings.** It asked for `ui.messageMode` / `ui.relativeTimestamps`, which nothing writes, so threads ignored Classic/Bubbles and relative times; they now read `display.*`, the same keys the room reads. (The test copy is on the default layout, so the two pictures match there - the fix shows when the setting is changed.) - **"1 reply"**, not "1 replies". - **Opens on, and follows, the newest reply** (it scrolls to the end when opened and when one arrives). - The service comes from the account, as the room does, instead of splitting the buffer id. Not done here: the thread's reply box is still the plain text area - using the full composer is #310.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Salastil/moho#269