Messaging · Messages: messages in runs, threads, the unread line and receipts

ChatMessage sets a message under its author's picture, name and clock
time. The next by the same author within five minutes, on the same day,
joins the run: only its words, the time in the gutter on hover.
UnreadDivider marks where unread messages start. MessageThread tells who
replied, how many and when the last came; with a handler it opens on a
press, Enter or Space. ThreadPanel holds the first message, a rule
counting the replies, the replies and a composer, its body scrolling.
ReadReceipt says sending, sent, delivered or read, and who saw it in a
group. MessageReactions and TypingIndicator point to collab and motion.

gpui recolors nothing on hover: text takes its color at layout. The
gutter time rests invisible and turns visible through a group hover.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ZacharyZhang-NYandClaude Opus 5.5 committed 2026-09-26 21:48:17 -04:00
1 parent 3c8a5a026c
commit 5bbfdcd766
11 files changed
+1012 -8

No files matched your search

+2 -1
View File
@@ -98,7 +98,7 @@ Per-component lines live in `tasks/`. Tags there:
- [x] T27b Files · Explorer
- [x] T27c Files · Find and look
- [x] T27d Files · Transfers
- [ ] T28a Messaging · Channels
- [x] T28a Messaging · Channels
- [ ] T28b Messaging · Messages
- [ ] T28c Messaging · People
- [ ] T28d Messaging · Calls
@@ -333,3 +333,4 @@ Per-component lines live in `tasks/`. Tags there:
| T27c | 2 | PASS | |
| T27d | 1 | FAIL | a press on a finished download's Show button also opened the file through its row |
| T27d | 2 | PASS | |
| T28a | 1 | PASS | |