Make MessageBlock output reactive via Show

This commit is contained in:
Shantur Rathore
2025-11-30 20:27:54 +00:00
parent 1e4d949d35
commit 5ce41217e9

View File

@@ -226,12 +226,6 @@ export default function MessageStreamV2(props: MessageStreamV2Props) {
const store = createMemo(() => messageStoreBus.getOrCreate(props.instanceId)) const store = createMemo(() => messageStoreBus.getOrCreate(props.instanceId))
const messageIds = createMemo(() => store().getSessionMessageIds(props.sessionId)) 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 sessionRevision = createMemo(() => store().getSessionRevision(props.sessionId))
const usageSnapshot = createMemo(() => store().getSessionUsage(props.sessionId)) const usageSnapshot = createMemo(() => store().getSessionUsage(props.sessionId))
const sessionInfo = createMemo(() => const sessionInfo = createMemo(() =>
@@ -703,7 +697,6 @@ function MessageBlock(props: MessageBlockProps) {
const block = createMemo<MessageDisplayBlock | null>(() => { const block = createMemo<MessageDisplayBlock | null>(() => {
const current = record() const current = record()
if (!current) { if (!current) {
console.warn("[MessageBlock] missing record", { messageId: props.messageId, sessionId: props.sessionId })
return null return null
} }
@@ -877,10 +870,9 @@ function MessageBlock(props: MessageBlockProps) {
return resultBlock return resultBlock
}) })
const resolvedBlock = block()
if (!resolvedBlock) return null
return ( return (
<Show when={block()} keyed>
{(resolvedBlock) => (
<div class="message-stream-block" data-message-id={resolvedBlock.record.id}> <div class="message-stream-block" data-message-id={resolvedBlock.record.id}>
<For each={resolvedBlock.items}> <For each={resolvedBlock.items}>
{(item) => ( {(item) => (
@@ -978,6 +970,8 @@ function MessageBlock(props: MessageBlockProps) {
)} )}
</For> </For>
</div> </div>
)}
</Show>
) )
} }