From a1b3c0c7d61fea432fb67c2d42c66ce3f1cde4e1 Mon Sep 17 00:00:00 2001 From: tofarr Date: Wed, 4 Jun 2025 15:55:26 -0600 Subject: [PATCH] No more 500 error when jumping between conversations (Nested Runtimes) (#8902) --- frontend/src/hooks/query/use-active-conversation.ts | 10 +++++++++- frontend/src/hooks/query/use-user-conversation.ts | 1 - 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/frontend/src/hooks/query/use-active-conversation.ts b/frontend/src/hooks/query/use-active-conversation.ts index e2b52b1c61..5e3b208d0f 100644 --- a/frontend/src/hooks/query/use-active-conversation.ts +++ b/frontend/src/hooks/query/use-active-conversation.ts @@ -1,14 +1,22 @@ +import { useEffect } from "react"; import { useConversationId } from "#/hooks/use-conversation-id"; import { useUserConversation } from "./use-user-conversation"; +import OpenHands from "#/api/open-hands"; const FIVE_MINUTES = 1000 * 60 * 5; export const useActiveConversation = () => { const { conversationId } = useConversationId(); - return useUserConversation(conversationId, (query) => { + const userConversation = useUserConversation(conversationId, (query) => { if (query.state.data?.status === "STARTING") { return 2000; // 2 seconds } return FIVE_MINUTES; }); + + useEffect(() => { + const conversation = userConversation.data; + OpenHands.setCurrentConversation(conversation || null); + }, [conversationId, userConversation.isFetched]); + return userConversation; }; diff --git a/frontend/src/hooks/query/use-user-conversation.ts b/frontend/src/hooks/query/use-user-conversation.ts index d424adeda7..8c371e10bc 100644 --- a/frontend/src/hooks/query/use-user-conversation.ts +++ b/frontend/src/hooks/query/use-user-conversation.ts @@ -23,7 +23,6 @@ export const useUserConversation = ( queryKey: ["user", "conversation", cid], queryFn: async () => { const conversation = await OpenHands.getConversation(cid!); - OpenHands.setCurrentConversation(conversation); return conversation; }, enabled: !!cid,