From 5ce41217e9e2b1db1260e73842076679bfb0ab82 Mon Sep 17 00:00:00 2001 From: Shantur Rathore Date: Sun, 30 Nov 2025 20:27:54 +0000 Subject: [PATCH] Make MessageBlock output reactive via Show --- .../ui/src/components/message-stream-v2.tsx | 204 +++++++++--------- 1 file changed, 99 insertions(+), 105 deletions(-) diff --git a/packages/ui/src/components/message-stream-v2.tsx b/packages/ui/src/components/message-stream-v2.tsx index 82fea412..e1673d41 100644 --- a/packages/ui/src/components/message-stream-v2.tsx +++ b/packages/ui/src/components/message-stream-v2.tsx @@ -226,12 +226,6 @@ export default function MessageStreamV2(props: MessageStreamV2Props) { const store = createMemo(() => messageStoreBus.getOrCreate(props.instanceId)) const messageIds = createMemo(() => store().getSessionMessageIds(props.sessionId)) - createEffect(() => { - const ids = messageIds() - console.info("[MessageStreamV2] messageIds", { sessionId: props.sessionId, ids }) - }) - - const sessionRevision = createMemo(() => store().getSessionRevision(props.sessionId)) const usageSnapshot = createMemo(() => store().getSessionUsage(props.sessionId)) const sessionInfo = createMemo(() => @@ -703,7 +697,6 @@ function MessageBlock(props: MessageBlockProps) { const block = createMemo(() => { const current = record() if (!current) { - console.warn("[MessageBlock] missing record", { messageId: props.messageId, sessionId: props.sessionId }) return null } @@ -877,107 +870,108 @@ function MessageBlock(props: MessageBlockProps) { return resultBlock }) - const resolvedBlock = block() - if (!resolvedBlock) return null - return ( -
- - {(item) => ( - - - - - - {(() => { - const toolItem = item as ToolDisplayItem - const toolState = toolItem.toolPart.state as ToolState | undefined - const hasToolState = - Boolean(toolState) && (isToolStateRunning(toolState) || isToolStateCompleted(toolState) || isToolStateError(toolState)) - const taskSessionId = hasToolState ? extractTaskSessionId(toolState) : "" - const taskLocation = taskSessionId ? findTaskSessionLocation(taskSessionId) : null - const handleGoToTaskSession = (event: MouseEvent) => { - event.preventDefault() - event.stopPropagation() - if (!taskLocation) return - navigateToTaskSession(taskLocation) - } + + {(resolvedBlock) => ( +
+ + {(item) => ( + + + + + + {(() => { + const toolItem = item as ToolDisplayItem + const toolState = toolItem.toolPart.state as ToolState | undefined + const hasToolState = + Boolean(toolState) && (isToolStateRunning(toolState) || isToolStateCompleted(toolState) || isToolStateError(toolState)) + const taskSessionId = hasToolState ? extractTaskSessionId(toolState) : "" + const taskLocation = taskSessionId ? findTaskSessionLocation(taskSessionId) : null + const handleGoToTaskSession = (event: MouseEvent) => { + event.preventDefault() + event.stopPropagation() + if (!taskLocation) return + navigateToTaskSession(taskLocation) + } - return ( -
-
-
- {TOOL_ICON} - Tool Call - {toolItem.toolPart.tool || "unknown"} + return ( +
+
+
+ {TOOL_ICON} + Tool Call + {toolItem.toolPart.tool || "unknown"} +
+ + + +
+
- - - -
- -
- ) - })()} - - - - - - - - - - - - )} - -
+ ) + })()} +
+ + + + + + + + + +
+ )} +
+
+ )} +
) }