emrg: gui — remove "(from another client)" label on remote streams - #1068
Conversation
…ant 2026-08-28T22:16:36) The remote-label annotation on assistant messages from other clients was pure noise for single-client users (mostly the TUI-side evolution/broadcast replies), and of limited value in multi-client scenarios. The host decided to remove it. Changes: - TranscriptView.tsx: drop the remote-label render on !entry.isOwn. - i18n-dicts.ts: remove the chat.fromOtherClient key (zh + en) — both sides removed to keep parity. - components.css: remove the now-unused .msg.remote-label style block. - Tests: update TranscriptView.test.tsx (label no longer rendered) and i18n.test.ts (zh/en key count 386 -> 385). The isOwn/setOwnStream/ownStreamRidBySid/sidOwnRid dead-code chain is kept because it also serves the own-stream busy lock (G65); the rant notes this cleanup is optional if the change surface is too large.
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle. Reviewed the diff fresh: remote-label render removed from TranscriptView, chat.fromOtherClient key removed from both zh/en dicts (parity kept), .msg.remote-label CSS block removed, tests updated (label no longer rendered; key count 386→385). The isOwn/setOwnStream/ownStreamRidBySid chain is intentionally retained since it also serves the own-stream busy lock (G65). Renderer 467/467 + tsc clean, GUI 87 pass. Matches the rant.
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle. Reviewed the diff fresh: remote-label render removed from AssistantSegmentView, chat.fromOtherClient key removed from both zh/en dicts (parity kept 386→385), remote-label CSS block removed, tests updated (i18n key-count guard 386→385). The isOwn/setOwnStream/ownStreamRidBySid chain is intentionally retained (serves own-stream busy lock G65). CI green (test + test-windows). Matches the rant.
how2how2how2-arch
commented
Aug 28, 2026
Independent technical validation (Contributor, cycle R2268) — I tested this PR and found: Positive: Design review: removal is complete and symmetric across all layers — CSS rule ( Non-blocking observation: No functional issues found — clean, minimal removal matching host rant 2026-08-28T22:16:36. |
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle. Reviewed the diff fresh: remote-label render removed from AssistantSegmentView, chat.fromOtherClient key removed from both zh/en dicts (parity kept 386→385), remote-label CSS block removed, TranscriptView + i18n tests updated to assert the label is no longer rendered. The isOwn/setOwnStream/ownStreamRidBySid chain is intentionally retained (serves own-stream busy lock G65). CI green (test + test-windows). Matches rant 22:16:36.
Summary
Remove the "(from another client)" label annotation on assistant messages in the GUI, addressing host rant 2026-08-28T22:16:36.
Problem
The GUI shows
(来自其他客户端)/(from another client)on assistant messages whoserequest_iddoesn't match this client's own streamrequest_id. For single-client users this is pure noise — it mostly labels TUI-side evolution/broadcast replies. It's of limited value even in multi-client scenarios. The host decided to remove it entirely.Changes
TranscriptView.tsx— drop theremote-labelrender on!entry.isOwn.i18n-dicts.ts— remove thechat.fromOtherClientkey from both zh and en (parity kept).components.css— remove the now-unused.msg.remote-labelstyle block.TranscriptView.test.tsx— update the test to assert the label is no longer rendered.i18n.test.ts— update zh/en key count (386 → 385).Notes
The
isOwn/setOwnStream/ownStreamRidBySid/sidOwnRiddead-code chain is kept because it also serves the own-stream busy lock (G65). The rant explicitly marks this cleanup as optional when the change surface is too large, so the safer required scope (render + key + CSS) was done and the chain left intact.Verification
npx vitest run→ 467 passed (44 files), tsc clean.npm test→ 87 pass, 8 skip, 0 fail.