diff --git a/client/src/components/Chat/Menus/Endpoints/MenuItem.tsx b/client/src/components/Chat/Menus/Endpoints/MenuItem.tsx index b300c12570..d114b428b6 100644 --- a/client/src/components/Chat/Menus/Endpoints/MenuItem.tsx +++ b/client/src/components/Chat/Menus/Endpoints/MenuItem.tsx @@ -2,7 +2,7 @@ import { useState } from 'react'; import { Settings } from 'lucide-react'; import { EModelEndpoint } from 'librechat-data-provider'; import type { FC } from 'react'; -import { useLocalize, useUserKey, useOriginNavigate } from '~/hooks'; +import { useLocalize, useUserKey } from '~/hooks'; import { SetKeyDialog } from '~/components/Input/SetKeyDialog'; import { useChatContext } from '~/Providers'; import { icons } from './Icons'; @@ -30,7 +30,6 @@ const MenuItem: FC = ({ const [isDialogOpen, setDialogOpen] = useState(false); const { newConversation } = useChatContext(); const { getExpiry } = useUserKey(endpoint); - const navigate = useOriginNavigate(); const localize = useLocalize(); const expiryTime = getExpiry(); @@ -41,8 +40,7 @@ const MenuItem: FC = ({ if (!expiryTime) { setDialogOpen(true); } - newConversation({ template: { endpoint: newEndpoint } }); - navigate('new'); + newConversation({ template: { endpoint: newEndpoint, conversationId: 'new' } }); } }; diff --git a/client/src/hooks/useSSE.ts b/client/src/hooks/useSSE.ts index 2a738e8e08..908bf9afd7 100644 --- a/client/src/hooks/useSSE.ts +++ b/client/src/hooks/useSSE.ts @@ -23,6 +23,7 @@ type TResData = { requestMessage: TMessage; responseMessage: TMessage; conversation: TConversation; + conversationId?: string; }; export default function useSSE(submission: TSubmission | null, index = 0) { @@ -36,6 +37,7 @@ export default function useSSE(submission: TSubmission | null, index = 0) { setIsSubmitting, resetLatestMessage, invalidateConvos, + newConversation, } = useChatHelpers(index, paramId); const { data: startupConfig } = useGetStartupConfig(); @@ -210,6 +212,9 @@ export default function useSSE(submission: TSubmission | null, index = 0) { }); setIsSubmitting(false); setMessages([...messages, message, errorResponse]); + if (data.conversationId && paramId === 'new') { + newConversation({ template: { conversationId: data.conversationId } }); + } return; };