[eric] chat: a bubble subscribes to the overflow context only when its text is an error card; every bubble selected an object whose message count moved per message, so a 60-bubble transcript re-rendered whole on each streamed message (ENG-487)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
ciregenz
2026-09-07 12:23:57 -07:00
co-authored by Claude Fable 5.1
parent e6caedb392
commit 006c8e9f0e
@@ -997,7 +997,12 @@ const ChatMessageBubble: React.FC<Props> = ({ message, editing = false, onSaveEd
[displayText, viewportWidth],
);
// Only a bubble whose text IS an OpenSwarm error card needs the live context (the parser keys on the text, the
// context only phrases the detail). Every other bubble selected an object whose messagesCount moved on each
// message, so a 60-bubble transcript re-rendered whole per streamed message (ENG-487).
const wantsOverflowCtx = !isUser && parseOpenSwarmError(rawText) !== null;
const overflowCtx = useAppSelector((state) => {
if (!wantsOverflowCtx) return undefined;
const sid = state.agents.activeSessionId;
if (!sid) return undefined;
const s = state.agents.sessions[sid];