diff --git a/client/src/hooks/Chat/useChatFunctions.ts b/client/src/hooks/Chat/useChatFunctions.ts index eec8e03bd3..5a86eeb7c6 100644 --- a/client/src/hooks/Chat/useChatFunctions.ts +++ b/client/src/hooks/Chat/useChatFunctions.ts @@ -1,4 +1,5 @@ import { v4 } from 'uuid'; +import { cloneDeep } from 'lodash'; import { useQueryClient } from '@tanstack/react-query'; import { Constants, @@ -51,10 +52,10 @@ export default function useChatFunctions({ getMessages, setMessages, isSubmitting, - conversation, latestMessage, setSubmission, setLatestMessage, + conversation: immutableConversation, }: { index?: number; isSubmitting: boolean; @@ -77,8 +78,8 @@ export default function useChatFunctions({ const isTemporary = useRecoilValue(store.isTemporary); const codeArtifacts = useRecoilValue(store.codeArtifacts); const includeShadcnui = useRecoilValue(store.includeShadcnui); - const { getExpiry } = useUserKey(conversation?.endpoint ?? ''); const customPromptMode = useRecoilValue(store.customPromptMode); + const { getExpiry } = useUserKey(immutableConversation?.endpoint ?? ''); const setShowStopButton = useSetRecoilState(store.showStopButtonByIndex(index)); const resetLatestMultiMessage = useResetRecoilState(store.latestMessageFamily(index + 1)); @@ -108,6 +109,8 @@ export default function useChatFunctions({ return; } + const conversation = cloneDeep(immutableConversation); + const endpoint = conversation?.endpoint; if (endpoint === null) { console.error('No endpoint available');