diff --git a/packages/react/src/use-chat.ts b/packages/react/src/use-chat.ts index c3fb350dc8fe..5f0404d54c46 100644 --- a/packages/react/src/use-chat.ts +++ b/packages/react/src/use-chat.ts @@ -95,7 +95,7 @@ const getStreamedResponse = async ( ) => { // Do an optimistic update to the chat state to show the updated messages // immediately. - const previousMessages = messagesRef.current; + const previousMessages = chatRequest.messages; mutate(chatRequest.messages, false); const constructedMessagesPayload = sendExtraMessageFields diff --git a/packages/solid/src/use-chat.ts b/packages/solid/src/use-chat.ts index b25146d69992..f8be7e5856b0 100644 --- a/packages/solid/src/use-chat.ts +++ b/packages/solid/src/use-chat.ts @@ -132,7 +132,7 @@ export function useChat({ // Do an optimistic update to the chat state to show the updated messages // immediately. - const previousMessages = getCurrentMessages(); + const previousMessages = messagesSnapshot; mutate(messagesSnapshot); let chatRequest: ChatRequest = { @@ -190,9 +190,7 @@ export function useChat({ onFinish, restoreMessagesOnFailure() { // Restore the previous messages if the request fails. - if (previousMessages.status === 'success') { - mutate(previousMessages.data); - } + mutate(previousMessages); }, generateId, }); diff --git a/packages/svelte/src/use-chat.ts b/packages/svelte/src/use-chat.ts index 7ec68e0d412b..d87daa3621ff 100644 --- a/packages/svelte/src/use-chat.ts +++ b/packages/svelte/src/use-chat.ts @@ -231,7 +231,7 @@ export function useChat({ }, get(streamData), extraMetadata, - get(messages), + chatRequest.messages, abortController, generateId, streamMode, diff --git a/packages/vue/src/use-chat.ts b/packages/vue/src/use-chat.ts index 1a13c8848872..230c66ee4cd6 100644 --- a/packages/vue/src/use-chat.ts +++ b/packages/vue/src/use-chat.ts @@ -128,7 +128,7 @@ export function useChat({ // Do an optimistic update to the chat state to show the updated messages // immediately. - const previousMessages = messagesData.value; + const previousMessages = messagesSnapshot; mutate(messagesSnapshot); let chatRequest: ChatRequest = {