From d1f3a3f21daf46c4029944df00dad7481887aef5 Mon Sep 17 00:00:00 2001 From: IgorA100 Date: Fri, 24 May 2024 19:51:51 +0300 Subject: [PATCH 1/2] Fix: changedMonitors.forEach (montage.js) Iterating through the array was incorrect --- web/skins/classic/views/js/montage.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/skins/classic/views/js/montage.js b/web/skins/classic/views/js/montage.js index a774b09b0a..dba27bd5c2 100644 --- a/web/skins/classic/views/js/montage.js +++ b/web/skins/classic/views/js/montage.js @@ -798,7 +798,7 @@ function initPage() { setInterval(() => { //Updating GridStack resizeToContent, Scale & Ratio if (changedMonitors.length > 0) { - changedMonitors.forEach(function(item, index, object) { + changedMonitors.slice().reverse().forEach(function(item, index, object) { const value = getSelected(document.getElementById("ratio"+item)); const img = document.getElementById('liveStream'+item); const currentMonitor = monitors.find((o) => { @@ -818,7 +818,7 @@ function initPage() { if (img.offsetHeight > 20 && objGridStack) { //Required for initial page loading objGridStack.resizeToContent(document.getElementById('m'+item)); - changedMonitors.splice(index, 1); + changedMonitors.splice(object.length - 1 - index, 1); } monitorsSetScale(item); }); From f1b13e8eedb963b82d60fb4cc234bcb63fd87ab4 Mon Sep 17 00:00:00 2001 From: IgorA100 Date: Sat, 25 May 2024 01:09:46 +0300 Subject: [PATCH 2/2] Update montage.js --- web/skins/classic/views/js/montage.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/web/skins/classic/views/js/montage.js b/web/skins/classic/views/js/montage.js index dba27bd5c2..9ab439c4ce 100644 --- a/web/skins/classic/views/js/montage.js +++ b/web/skins/classic/views/js/montage.js @@ -823,7 +823,7 @@ function initPage() { monitorsSetScale(item); }); } - }, 200); + }, 100); setTimeout(() => { selectLayout(); @@ -873,6 +873,7 @@ function initPage() { //Check if the monitor arrangement is complete const intervalIdWidth = setInterval(() => { if (checkEndMonitorsChange()) { + initGridStack(); startMonitors(); clearInterval(intervalIdWidth); }