From 8b32d44039c586b86511aa77487d3902f3f7063f Mon Sep 17 00:00:00 2001 From: Miroslav Pejic Date: Sun, 29 Mar 2026 18:11:18 +0200 Subject: [PATCH] [mirotalk] - fix loading spinner --- public/js/client.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/public/js/client.js b/public/js/client.js index 5db02774..5c06c544 100644 --- a/public/js/client.js +++ b/public/js/client.js @@ -2171,6 +2171,8 @@ async function changeLocalCamera(deviceId) { } catch (fallbackErr) { console.error('Error accessing init video device with default constraints', fallbackErr); printError(err); + // Hide loading spinner on error + if (spinner) spinner.style.display = 'none'; } }); @@ -7989,6 +7991,11 @@ async function swapCamera() { camera = camera == 'user' ? 'environment' : 'user'; camVideo = camera == 'user' ? true : { facingMode: { exact: camera } }; + // Show loading spinner while switching camera + const myVideoWrap = getId('myVideoWrap'); + const spinner = myVideoWrap ? myVideoWrap.querySelector('.video-loading-spinner') : null; + if (spinner) spinner.style.display = ''; + // some devices can't swap the cam, if have Video Track already in execution. await stopLocalVideoTrack(); @@ -8006,6 +8013,9 @@ async function swapCamera() { console.log('[Error] to swapping camera', err); userLog('error', 'Error to swapping the camera ' + err); // https://blog.addpipe.com/common-getusermedia-errors/ + } finally { + // Hide loading spinner + if (spinner) spinner.style.display = 'none'; } }