One title rule, one group threshold, and a rename the list hears

Fixkamo-internal
Shipped
30 أغسطس 2026 في 2:28 ص UTC
Author
Kamo
Commit
3548593

Review of the Chats branch, four findings. Both surfaces were composing the conversation's name by hand instead of through the helpers @kamo/chat-core exports for exactly that, and had drifted from each other and from the rule. ChatBox now uses deriveWindowTitle and ChatTool the same, so the dialog and the title bar agree by construction. Writing it out locally had produced two real defects. `title ?? sessionTitle?. trim() ?? derived` treats '' as a value — '' is not nullish — so a whitespace-only name emptied the header instead of falling back. And taking ChatTool's `title` as an override was wrong in the first place: it is `props.title` falling back to a generic "Chat", a FALLBACK and never an authoritative name, so every conversation reported itself as "Chat" — three group chats open at once, three identical accessible names, none of them the name the members chose. deriveWindowTitle takes that argument last, which is what it is for. The list row called a chat a group at four people while MediaService, the roster button and the rename rule all draw the line at three. A three-person chat was therefore manageable as a group everywhere except on its own row, which drew it as a direct conversation. And a rename or a removal reached the open window but never the list behind it. The list keeps itself current over the member's unread feed, which carries activity and nothing else; renames travel on the per-session topic, which the list cannot subscribe to without one subscription per visible row. So the window relays both as window events — it is open in precisely the case that matters, since the member who just renamed a chat or was just removed from one is looking at the list behind it. Without this the row keeps its old name until something else refetches, which reads as the rename not having worked, and a conversation the member was removed from stays in the list offering to open a window whose every request now answers 403.

All changes

مثل ما ترى الشحن؟?

كل واحد من هذه تحديثات الأراضي في مكان عملك تلقائيا. ابدأوا بالمجان وشاهدوها تنمو بعد أسبوع.

ابدأوا حراً للأبدخصخصة الفيو