From 09fabb36b620549c68cfd3e5a9a30b85dc1fb22d Mon Sep 17 00:00:00 2001 From: Snowknight26 Date: Thu, 5 Mar 2026 09:41:27 -0600 Subject: [PATCH] fix(web): video stealing focus when it plays again when looping (#26704) --- .../lib/components/asset-viewer/video-native-viewer.svelte | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/web/src/lib/components/asset-viewer/video-native-viewer.svelte b/web/src/lib/components/asset-viewer/video-native-viewer.svelte index 78fdc3a1ba..e53414be07 100644 --- a/web/src/lib/components/asset-viewer/video-native-viewer.svelte +++ b/web/src/lib/components/asset-viewer/video-native-viewer.svelte @@ -50,6 +50,7 @@ ); let isScrubbing = $state(false); let showVideo = $state(false); + let hasFocused = $state(false); onMount(() => { // Show video after mount to ensure fading in. @@ -59,6 +60,7 @@ $effect(() => { // reactive on `assetFileUrl` changes if (assetFileUrl) { + hasFocused = false; videoPlayer?.load(); } }); @@ -151,7 +153,10 @@ onseeking={() => (isScrubbing = true)} onseeked={() => (isScrubbing = false)} onplaying={(e) => { - e.currentTarget.focus(); + if (!hasFocused) { + e.currentTarget.focus(); + hasFocused = true; + } }} onclose={() => onClose()} muted={$videoViewerMuted}