Просмотр исходного кода

fix(app): prompt submission failing on first message

adamelmore 1 месяц назад
Родитель
Сommit
41f2653a30
1 измененных файлов с 6 добавлено и 5 удалено
  1. 6 5
      packages/ui/src/components/session-turn.tsx

+ 6 - 5
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