From a6385b4059599841cd03a476cf420d169d32a70b Mon Sep 17 00:00:00 2001 From: Hiep Le <69354317+hieptl@users.noreply.github.com> Date: Mon, 3 Nov 2025 18:56:52 +0700 Subject: [PATCH] =?UTF-8?q?fix(frontend):=20agent=20status=20shows=20?= =?UTF-8?q?=E2=80=9CDisconnected=E2=80=9D=20when=20starting=20a=20new=20co?= =?UTF-8?q?nversation=20until=20sandbox=20initializes=20(#11612)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/hooks/use-unified-websocket-status.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/frontend/src/hooks/use-unified-websocket-status.ts b/frontend/src/hooks/use-unified-websocket-status.ts index 4ad6e45a43..b84a17c465 100644 --- a/frontend/src/hooks/use-unified-websocket-status.ts +++ b/frontend/src/hooks/use-unified-websocket-status.ts @@ -2,6 +2,7 @@ import { useMemo } from "react"; import { useWsClient, V0_WebSocketStatus } from "#/context/ws-client-provider"; import { useActiveConversation } from "#/hooks/query/use-active-conversation"; import { useConversationWebSocket } from "#/contexts/conversation-websocket-context"; +import { useConversationId } from "#/hooks/use-conversation-id"; /** * Unified hook that returns the current WebSocket status @@ -9,11 +10,15 @@ import { useConversationWebSocket } from "#/contexts/conversation-websocket-cont * - For V1 conversations: Returns status from ConversationWebSocketProvider */ export function useUnifiedWebSocketStatus(): V0_WebSocketStatus { + const { conversationId } = useConversationId(); const { data: conversation } = useActiveConversation(); const v0Status = useWsClient(); const v1Context = useConversationWebSocket(); - const isV1Conversation = conversation?.conversation_version === "V1"; + // Check if this is a V1 conversation: + const isV1Conversation = + conversationId.startsWith("task-") || + conversation?.conversation_version === "V1"; const webSocketStatus = useMemo(() => { if (isV1Conversation) { @@ -33,7 +38,13 @@ export function useUnifiedWebSocketStatus(): V0_WebSocketStatus { } } return v0Status.webSocketStatus; - }, [isV1Conversation, v1Context, v0Status.webSocketStatus]); + }, [ + isV1Conversation, + v1Context, + v0Status.webSocketStatus, + conversationId, + conversation, + ]); return webSocketStatus; }