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,