diff --git a/client/src/components/Chat/ChatView.tsx b/client/src/components/Chat/ChatView.tsx index ecbc79091..0ee64ef62 100644 --- a/client/src/components/Chat/ChatView.tsx +++ b/client/src/components/Chat/ChatView.tsx @@ -1,8 +1,9 @@ -import { memo } from 'react'; +import { memo, useCallback } from 'react'; import { useRecoilValue } from 'recoil'; import { useForm } from 'react-hook-form'; import { useParams } from 'react-router-dom'; import { useGetMessagesByConvoId } from 'librechat-data-provider/react-query'; +import type { TMessage } from 'librechat-data-provider'; import type { ChatFormValues } from '~/common'; import { ChatContext, AddedChatContext, useFileMapContext, ChatFormProvider } from '~/Providers'; import { useChatHelpers, useAddedResponse, useSSE } from '~/hooks'; @@ -24,10 +25,13 @@ function ChatView({ index = 0 }: { index?: number }) { const fileMap = useFileMapContext(); const { data: messagesTree = null, isLoading } = useGetMessagesByConvoId(conversationId ?? '', { - select: (data) => { - const dataTree = buildTree({ messages: data, fileMap }); - return dataTree?.length === 0 ? null : dataTree ?? null; - }, + select: useCallback( + (data: TMessage[]) => { + const dataTree = buildTree({ messages: data, fileMap }); + return dataTree?.length === 0 ? null : dataTree ?? null; + }, + [fileMap], + ), enabled: !!fileMap, }); diff --git a/client/src/components/Chat/Menus/HeaderNewChat.tsx b/client/src/components/Chat/Menus/HeaderNewChat.tsx index 5a9fc403a..3e29190e7 100644 --- a/client/src/components/Chat/Menus/HeaderNewChat.tsx +++ b/client/src/components/Chat/Menus/HeaderNewChat.tsx @@ -1,9 +1,13 @@ +import { useQueryClient } from '@tanstack/react-query'; +import { QueryKeys, Constants } from 'librechat-data-provider'; +import type { TMessage } from 'librechat-data-provider'; +import { useMediaQuery, useLocalize } from '~/hooks'; import { NewChatIcon } from '~/components/svg'; import { useChatContext } from '~/Providers'; -import { useMediaQuery, useLocalize } from '~/hooks'; export default function HeaderNewChat() { - const { newConversation } = useChatContext(); + const queryClient = useQueryClient(); + const { conversation, newConversation } = useChatContext(); const isSmallScreen = useMediaQuery('(max-width: 768px)'); const localize = useLocalize(); if (isSmallScreen) { @@ -12,10 +16,16 @@ export default function HeaderNewChat() { return (

- {title || localize('com_ui_new_chat')} + {title ?? localize('com_ui_new_chat')}