mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-16 16:30:15 +01:00
fix: fix infinite query failure when conversationId is not found
This commit is contained in:
parent
478814ff1b
commit
fb7542c865
2 changed files with 12 additions and 13 deletions
|
|
@ -63,13 +63,11 @@ export const useGetConversationByIdQuery = (
|
|||
//to make it work with how the Chat component is structured
|
||||
export const useGetConversationByIdMutation = (
|
||||
id: string,
|
||||
callback: (data: t.TConversation) => void
|
||||
): UseMutationResult<t.TConversation> => {
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation(() => dataService.getConversationById(id),
|
||||
{
|
||||
onSuccess: (res: t.TConversation) => {
|
||||
callback(res);
|
||||
queryClient.invalidateQueries([QueryKeys.conversation, id]);
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ export default function Chat() {
|
|||
|
||||
//disabled by default, we only enable it when messagesTree is null
|
||||
const messagesQuery = useGetMessagesByConvoId(conversationId, { enabled: false });
|
||||
const getConversationMutation = useGetConversationByIdMutation(conversationId, setConversation);
|
||||
const getConversationMutation = useGetConversationByIdMutation(conversationId);
|
||||
|
||||
// when conversation changed or conversationId (in url) changed
|
||||
useEffect(() => {
|
||||
|
|
@ -31,7 +31,17 @@ export default function Chat() {
|
|||
newConversation();
|
||||
} else if (conversationId) {
|
||||
// fetch it from server
|
||||
getConversationMutation.mutate();
|
||||
getConversationMutation.mutate(conversationId, {
|
||||
onSuccess: (data) => {
|
||||
setConversation(data);
|
||||
},
|
||||
onError: (error) => {
|
||||
console.error('failed to fetch the conversation');
|
||||
console.error(error);
|
||||
navigate(`/chat/new`);
|
||||
newConversation();
|
||||
}
|
||||
});
|
||||
setMessages(null);
|
||||
} else {
|
||||
navigate(`/chat/new`);
|
||||
|
|
@ -45,15 +55,6 @@ export default function Chat() {
|
|||
}
|
||||
}, [conversation, conversationId]);
|
||||
|
||||
useEffect(() => {
|
||||
if(getConversationMutation.isError) {
|
||||
console.error('failed to fetch the conversation');
|
||||
console.error(getConversationMutation.error);
|
||||
newConversation();
|
||||
}
|
||||
}, [getConversationMutation.isError, newConversation]);
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
if (messagesTree === null && conversation?.conversationId) {
|
||||
messagesQuery.refetch(conversation?.conversationId);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue