diff --git a/src/pages/views/teamsbot/TeamsbotSessionView.tsx b/src/pages/views/teamsbot/TeamsbotSessionView.tsx index adacc36..a053db7 100644 --- a/src/pages/views/teamsbot/TeamsbotSessionView.tsx +++ b/src/pages/views/teamsbot/TeamsbotSessionView.tsx @@ -85,9 +85,10 @@ export const TeamsbotSessionView: React.FC = () => { // SSE Live Stream - connect once per session, don't re-create on status changes const sseSessionRef = useRef(null); + const sessionStatus = session?.status; useEffect(() => { - if (!instanceId || !sessionId || !session) return; - if (!['active', 'joining', 'pending'].includes(session.status)) return; + if (!instanceId || !sessionId || !sessionStatus) return; + if (!['active', 'joining', 'pending'].includes(sessionStatus)) return; // Avoid reconnecting if already streaming this session if (sseSessionRef.current === sessionId && eventSourceRef.current) return; @@ -168,7 +169,7 @@ export const TeamsbotSessionView: React.FC = () => { sseSessionRef.current = null; setIsLive(false); }; - }, [instanceId, sessionId]); + }, [instanceId, sessionId, sessionStatus]); // Polling fallback: refresh session data every 5s when SSE is not connected const pollRef = useRef | null>(null);