summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authoradamelmore <[email protected]>2026-01-24 13:07:10 -0600
committeradamelmore <[email protected]>2026-01-24 13:15:34 -0600
commit41f2653a30b7b23f259c69addb4c8627f92f2560 (patch)
treec04559f2241d16f2f746be5ca43ec9c38bb12d80
parent0d9ca0ea31f4ce4254ec9407941afadced7b0309 (diff)
downloadopencode-41f2653a30b7b23f259c69addb4c8627f92f2560.tar.gz
opencode-41f2653a30b7b23f259c69addb4c8627f92f2560.zip
fix(app): prompt submission failing on first message
-rw-r--r--packages/ui/src/components/session-turn.tsx11
1 files changed, 6 insertions, 5 deletions
diff --git a/packages/ui/src/components/session-turn.tsx b/packages/ui/src/components/session-turn.tsx
index 4556b1f12..1789cbfdc 100644
--- a/packages/ui/src/components/session-turn.tsx
+++ b/packages/ui/src/components/session-turn.tsx
@@ -156,12 +156,12 @@ export function SessionTurn(
const allMessages = createMemo(() => data.store.message[props.sessionID] ?? emptyMessages)
const messageIndex = createMemo(() => {
- const messages = allMessages()
+ const messages = allMessages() ?? emptyMessages
const result = Binary.search(messages, props.messageID, (m) => m.id)
if (!result.found) return -1
const msg = messages[result.index]
- if (msg.role !== "user") return -1
+ if (!msg || msg.role !== "user") return -1
return result.index
})
@@ -170,7 +170,8 @@ export function SessionTurn(
const index = messageIndex()
if (index < 0) return undefined
- const msg = allMessages()[index]
+ const messages = allMessages() ?? emptyMessages
+ const msg = messages[index]
if (!msg || msg.role !== "user") return undefined
return msg
@@ -179,7 +180,7 @@ export function SessionTurn(
const lastUserMessageID = createMemo(() => {
if (props.lastUserMessageID) return props.lastUserMessageID
- const messages = allMessages()
+ const messages = allMessages() ?? emptyMessages
for (let i = messages.length - 1; i >= 0; i--) {
const msg = messages[i]
if (msg?.role === "user") return msg.id
@@ -213,7 +214,7 @@ export function SessionTurn(
const msg = message()
if (!msg) return emptyAssistant
- const messages = allMessages()
+ const messages = allMessages() ?? emptyMessages
const index = messageIndex()
if (index < 0) return emptyAssistant