From 2d47e90a1a6fa559c618a5c306338b304d20adfd Mon Sep 17 00:00:00 2001 From: lebaudantoine Date: Mon, 11 Aug 2025 13:56:23 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B(frontend)=20reset=20video=20ref=20?= =?UTF-8?q?on=20track=20stop=20for=20state=20transitions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reset video element reference when track stops to ensure "camera starting" to "camera started" message transitions work correctly on repeated camera toggles. Previously only worked on initial video element load. Now properly handles state transitions for multiple camera enable/disable cycles. --- src/frontend/src/features/rooms/components/Join.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/frontend/src/features/rooms/components/Join.tsx b/src/frontend/src/features/rooms/components/Join.tsx index e4e2014a..6bc5e111 100644 --- a/src/frontend/src/features/rooms/components/Join.tsx +++ b/src/frontend/src/features/rooms/components/Join.tsx @@ -161,7 +161,11 @@ export const Join = ({ return () => { videoTrack?.detach() - videoElement?.removeEventListener('loadedmetadata', handleVideoLoaded) + if (videoElement) { + videoElement.removeEventListener('loadedmetadata', handleVideoLoaded) + videoElement.style.opacity = '0' + } + isVideoInitiated.current = false } }, [videoTrack, videoEnabled])