diff options
| author | Adam <[email protected]> | 2025-12-29 09:47:53 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2025-12-29 09:47:57 -0600 |
| commit | 831e9bce51c035ec22ce9562bf0257d6b59b2fe4 (patch) | |
| tree | b6e86b44cbc980d737a63cb571cb61a9003d237b /packages/ui/src/components/session-turn.tsx | |
| parent | 5de73abd820d9425e82f85f95f50568332ca7cdc (diff) | |
| download | opencode-831e9bce51c035ec22ce9562bf0257d6b59b2fe4.tar.gz opencode-831e9bce51c035ec22ce9562bf0257d6b59b2fe4.zip | |
fix(desktop): jankiness
Diffstat (limited to 'packages/ui/src/components/session-turn.tsx')
| -rw-r--r-- | packages/ui/src/components/session-turn.tsx | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/packages/ui/src/components/session-turn.tsx b/packages/ui/src/components/session-turn.tsx index a3ac5b0b4..0a1ee5c4f 100644 --- a/packages/ui/src/components/session-turn.tsx +++ b/packages/ui/src/components/session-turn.tsx @@ -111,13 +111,23 @@ export function SessionTurn( const allMessages = createMemo(() => data.store.message[props.sessionID] ?? []) - const message = createMemo(() => { + const messageIndex = createMemo(() => { const messages = allMessages() const result = Binary.search(messages, props.messageID, (m) => m.id) - if (!result.found) return undefined + if (!result.found) return -1 const msg = messages[result.index] - if (msg.role !== "user") return undefined + if (msg.role !== "user") return -1 + + return result.index + }) + + const message = createMemo(() => { + const index = messageIndex() + if (index < 0) return undefined + + const msg = allMessages()[index] + if (!msg || msg.role !== "user") return undefined return msg }) @@ -141,13 +151,6 @@ export function SessionTurn( return data.store.part[msg.id] ?? [] }) - const messageIndex = createMemo(() => { - const messages = allMessages() - const result = Binary.search(messages, props.messageID, (m) => m.id) - if (!result.found) return -1 - return result.index - }) - const assistantMessages = createMemo(() => { const msg = message() if (!msg) return [] as AssistantMessage[] |
