Skip to content

Commit f8e68b4

Browse files
authored
fix: will correctly switch endpoints and reset the convo if the first message returned was an error (danny-avila#1225)
1 parent 8cb0a8d commit f8e68b4

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

client/src/components/Chat/Menus/Endpoints/MenuItem.tsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { useState } from 'react';
22
import { Settings } from 'lucide-react';
33
import { EModelEndpoint } from 'librechat-data-provider';
44
import type { FC } from 'react';
5-
import { useLocalize, useUserKey, useOriginNavigate } from '~/hooks';
5+
import { useLocalize, useUserKey } from '~/hooks';
66
import { SetKeyDialog } from '~/components/Input/SetKeyDialog';
77
import { useChatContext } from '~/Providers';
88
import { icons } from './Icons';
@@ -30,7 +30,6 @@ const MenuItem: FC<MenuItemProps> = ({
3030
const [isDialogOpen, setDialogOpen] = useState(false);
3131
const { newConversation } = useChatContext();
3232
const { getExpiry } = useUserKey(endpoint);
33-
const navigate = useOriginNavigate();
3433
const localize = useLocalize();
3534
const expiryTime = getExpiry();
3635

@@ -41,8 +40,7 @@ const MenuItem: FC<MenuItemProps> = ({
4140
if (!expiryTime) {
4241
setDialogOpen(true);
4342
}
44-
newConversation({ template: { endpoint: newEndpoint } });
45-
navigate('new');
43+
newConversation({ template: { endpoint: newEndpoint, conversationId: 'new' } });
4644
}
4745
};
4846

client/src/hooks/useSSE.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ type TResData = {
2323
requestMessage: TMessage;
2424
responseMessage: TMessage;
2525
conversation: TConversation;
26+
conversationId?: string;
2627
};
2728

2829
export default function useSSE(submission: TSubmission | null, index = 0) {
@@ -36,6 +37,7 @@ export default function useSSE(submission: TSubmission | null, index = 0) {
3637
setIsSubmitting,
3738
resetLatestMessage,
3839
invalidateConvos,
40+
newConversation,
3941
} = useChatHelpers(index, paramId);
4042

4143
const { data: startupConfig } = useGetStartupConfig();
@@ -210,6 +212,9 @@ export default function useSSE(submission: TSubmission | null, index = 0) {
210212
});
211213
setIsSubmitting(false);
212214
setMessages([...messages, message, errorResponse]);
215+
if (data.conversationId && paramId === 'new') {
216+
newConversation({ template: { conversationId: data.conversationId } });
217+
}
213218
return;
214219
};
215220

0 commit comments

Comments
 (0)