From 0ae3b06aa6da896ed8659c120b6d1156a4b6d57d Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Fri, 21 Mar 2025 22:44:20 -0400 Subject: [PATCH 01/10] Update DisplaySettings.page --- emhttp/plugins/dynamix/DisplaySettings.page | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/emhttp/plugins/dynamix/DisplaySettings.page b/emhttp/plugins/dynamix/DisplaySettings.page index 825d991f7..4880442ee 100644 --- a/emhttp/plugins/dynamix/DisplaySettings.page +++ b/emhttp/plugins/dynamix/DisplaySettings.page @@ -4,8 +4,8 @@ Icon="icon-display" Tag="desktop" --- + + + + : From 18994d247a305c9b3f03e5d179a7ce59411a53c8 Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Fri, 21 Mar 2025 22:50:39 -0400 Subject: [PATCH 02/10] Update DashStats.page --- emhttp/plugins/dynamix/DashStats.page | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/emhttp/plugins/dynamix/DashStats.page b/emhttp/plugins/dynamix/DashStats.page index 5f2e59ad0..340a323a7 100644 --- a/emhttp/plugins/dynamix/DashStats.page +++ b/emhttp/plugins/dynamix/DashStats.page @@ -1795,12 +1795,12 @@ $(function() { dropdown('enter_view'); startup = false; - dashboard.start(); + dashboard.start().monitor(); - vmdashusage.start(); + vmdashusage.start().monitor(); - apcups.start(); + apcups.start().monitor(); update900(); toggleChart(true); @@ -1818,10 +1818,18 @@ $(function() { data.cpu = cpu.tail(cpuline); data.rxd = rxd.tail(netline); data.txd = txd.tail(netline); - $.post('/webGui/include/InitCharts.php',{cmd:'set',data:JSON.stringify(data)}); + // $.post('/webGui/include/InitCharts.php',{cmd:'set',data:JSON.stringify(data)}); }); }); +// Start graphs over again when window back in focus + +$(window).blur(function() { + cpu = []; + rxd = []; + txd = []; +}); + window.onunload = function(){ dashboard.stop(); From bd9419c4c667a611e9305807ef1a4b09a2f15a53 Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Fri, 21 Mar 2025 22:56:45 -0400 Subject: [PATCH 03/10] Update DefaultPageLayout.php --- .../dynamix/include/DefaultPageLayout.php | 42 +++++++++++++++++-- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/emhttp/plugins/dynamix/include/DefaultPageLayout.php b/emhttp/plugins/dynamix/include/DefaultPageLayout.php index 7fbb2469d..87d01a544 100644 --- a/emhttp/plugins/dynamix/include/DefaultPageLayout.php +++ b/emhttp/plugins/dynamix/include/DefaultPageLayout.php @@ -105,10 +105,14 @@ if (!file_exists($notes)) file_put_contents($notes,shell_exec("$docroot/plugins/ \n"; -echo "
"; +if (isset($myPage['Load']) && $myPage['Load']>0) echo "\n\n";echo "
"; $tab = 1; $pages = []; if (!empty($myPage['text'])) $pages[$myPage['name']] = $myPage; @@ -1232,6 +1235,39 @@ $('body').on('click','a,.ca_href', function(e) { } } }); + +// Start & stop live updates when window loses focus +var nchanPaused = false; + +$(window).focus(function() { + if (nchanPaused !== false ) { + removeBannerWarning(nchanPaused); + nchanPaused = false; + subscribers.forEach(function(e) { + e.start(); + }); + } +}); + +$(window).blur(function() { + if ( subscribers.length ) { + if ( nchanPaused === false ) { + var newsub = subscribers; + subscribers.forEach(function(e) { + try { + e.stop(); + } catch { + newsub.splice(newsub.indexOf(e,1)); + } + }); + subscribers = newsub; + if ( subscribers.length ) { + nchanPaused = addBannerWarning("",false,true ); + } + } + } +}); + From 38efaf4165e1d3bbdb5408a8ce4241fc713207d8 Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Fri, 21 Mar 2025 22:58:36 -0400 Subject: [PATCH 04/10] Update default.cfg --- emhttp/plugins/dynamix/default.cfg | 1 + 1 file changed, 1 insertion(+) diff --git a/emhttp/plugins/dynamix/default.cfg b/emhttp/plugins/dynamix/default.cfg index 9096beced..46a20fb8e 100644 --- a/emhttp/plugins/dynamix/default.cfg +++ b/emhttp/plugins/dynamix/default.cfg @@ -35,6 +35,7 @@ headermetacolor="" headerdescription="yes" showBannerGradient="yes" favorites="yes" +liveUpdate="no" [parity] mode="0" hour="0 0" From 7dbc9d14a53255f5790d761e1088d8e6efd397df Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Fri, 21 Mar 2025 23:05:59 -0400 Subject: [PATCH 05/10] Fix typo --- emhttp/plugins/dynamix/DisplaySettings.page | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix/DisplaySettings.page b/emhttp/plugins/dynamix/DisplaySettings.page index 4880442ee..10d6a86ea 100644 --- a/emhttp/plugins/dynamix/DisplaySettings.page +++ b/emhttp/plugins/dynamix/DisplaySettings.page @@ -326,7 +326,7 @@ _(Favorites enabled)_: _(Allow realtime updates on inactive browsers)_: : From 782baac3f0aa4f888ad3ae1a9f775c94ca415547 Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Mon, 24 Mar 2025 11:33:38 -0400 Subject: [PATCH 06/10] Stop monitored subs when unloading page --- emhttp/plugins/dynamix/DashStats.page | 17 +--------------- .../dynamix/include/DefaultPageLayout.php | 20 ++++++++++++++++--- 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/emhttp/plugins/dynamix/DashStats.page b/emhttp/plugins/dynamix/DashStats.page index 340a323a7..6b73a708b 100644 --- a/emhttp/plugins/dynamix/DashStats.page +++ b/emhttp/plugins/dynamix/DashStats.page @@ -1813,13 +1813,6 @@ $(function() { $('#netline').val(netline); $.removeCookie('lockbutton'); // remember latest graph values - $(window).on('beforeunload',function(e){ - var data = {}; - data.cpu = cpu.tail(cpuline); - data.rxd = rxd.tail(netline); - data.txd = txd.tail(netline); - // $.post('/webGui/include/InitCharts.php',{cmd:'set',data:JSON.stringify(data)}); - }); }); // Start graphs over again when window back in focus @@ -1830,13 +1823,5 @@ $(window).blur(function() { txd = []; }); -window.onunload = function(){ - dashboard.stop(); - - vmdashusage.stop(); - - - apcups.stop(); - -} + diff --git a/emhttp/plugins/dynamix/include/DefaultPageLayout.php b/emhttp/plugins/dynamix/include/DefaultPageLayout.php index 87d01a544..124ad9daf 100644 --- a/emhttp/plugins/dynamix/include/DefaultPageLayout.php +++ b/emhttp/plugins/dynamix/include/DefaultPageLayout.php @@ -1235,7 +1235,7 @@ $('body').on('click','a,.ca_href', function(e) { } } }); - + // Start & stop live updates when window loses focus var nchanPaused = false; @@ -1249,7 +1249,21 @@ $(window).focus(function() { } }); +// Stop nchan on loss of focus $(window).blur(function() { + nchanFocusStop(true); +}); + +// Include both beforeunload and unload as this may be unreliable in certain circumstances on mobile devices +window.onbeforeunload = function() { + nchanFocusStop(false); +} + +window.onunload = function() { + nchanFocusStop(false); +} + +function nchanFocusStop(banner) { if ( subscribers.length ) { if ( nchanPaused === false ) { var newsub = subscribers; @@ -1261,12 +1275,12 @@ $(window).blur(function() { } }); subscribers = newsub; - if ( subscribers.length ) { + if ( banner && subscribers.length ) { nchanPaused = addBannerWarning("",false,true ); } } } -}); +} From 23c474556f542158aa6bff8c7e227547dcfec78c Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Mon, 24 Mar 2025 12:37:02 -0400 Subject: [PATCH 07/10] Support Main and Docker Tabs --- .../plugins/dynamix.docker.manager/DockerContainers.page | 5 +---- emhttp/plugins/dynamix/ArrayOperation.page | 8 ++++---- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/emhttp/plugins/dynamix.docker.manager/DockerContainers.page b/emhttp/plugins/dynamix.docker.manager/DockerContainers.page index 3f1f14d98..b88a44dc4 100644 --- a/emhttp/plugins/dynamix.docker.manager/DockerContainers.page +++ b/emhttp/plugins/dynamix.docker.manager/DockerContainers.page @@ -192,10 +192,7 @@ $(function() { }); $.removeCookie('lockbutton'); loadlist(true); - dockerload.start(); + dockerload.start().monitor(); }); -window.onunload = function(){ - dockerload.stop(); -} diff --git a/emhttp/plugins/dynamix/ArrayOperation.page b/emhttp/plugins/dynamix/ArrayOperation.page index fc633f83a..873e8b44b 100644 --- a/emhttp/plugins/dynamix/ArrayOperation.page +++ b/emhttp/plugins/dynamix/ArrayOperation.page @@ -114,7 +114,7 @@ function toggle_state(device,name,action) { button = '[id^=button-]'; } devices.stop(); - $.post('/webGui/include/ToggleState.php',{device:device,name:name,action:action},function(){setTimeout(function(){devices.start();},1000);if (button) $(button).prop('disabled',false);}); + $.post('/webGui/include/ToggleState.php',{device:device,name:name,action:action},function(){setTimeout(function(){devices.start().monitor();},1000);if (button) $(button).prop('disabled',false);}); } function display_diskio() { @@ -364,7 +364,7 @@ mymonitor.on('message', function(state) { break; } }); -mymonitor.start(); +mymonitor.start().monitor(); var arraymonitor = new NchanSubscriber('/sub/arraymonitor',{subscriber:'websocket'}); @@ -420,7 +420,7 @@ devices.on('message', function(msg,meta) { break; } }); -devices.start(); +devices.start().monitor(); var fsState = new NchanSubscriber('/sub/fsState',{subscriber:'websocket'}); @@ -434,7 +434,7 @@ fsState.on('message', function(msg) { break; } }); -fsState.start(); +fsState.start().monitor(); setTimeout(function(){$('#pauseButton').prop('disabled',false);$('#cancelButton').prop('disabled',false);},250); From a9b00b4d1942368a1df002ebd0a7bfb1d64aa3f7 Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Mon, 24 Mar 2025 12:45:15 -0400 Subject: [PATCH 08/10] Support VM page --- emhttp/plugins/dynamix.vm.manager/VMUsageStats.page | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/emhttp/plugins/dynamix.vm.manager/VMUsageStats.page b/emhttp/plugins/dynamix.vm.manager/VMUsageStats.page index 953ca1582..c865b2278 100644 --- a/emhttp/plugins/dynamix.vm.manager/VMUsageStats.page +++ b/emhttp/plugins/dynamix.vm.manager/VMUsageStats.page @@ -32,10 +32,7 @@ vmusage.on('message', function(msg){ }); $(function(){ - vmusage.start(); + vmusage.start().monitor(); }); -window.onunload = function(){ - vmusage.stop(); -} \ No newline at end of file From 57e4579dfe0cf4e24d1bc974641e88aa27a54970 Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Mon, 24 Mar 2025 13:46:33 -0400 Subject: [PATCH 09/10] Stop monitored on unload if live updates enabled --- .../plugins/dynamix/include/DefaultPageLayout.php | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/emhttp/plugins/dynamix/include/DefaultPageLayout.php b/emhttp/plugins/dynamix/include/DefaultPageLayout.php index 124ad9daf..43c7906f6 100644 --- a/emhttp/plugins/dynamix/include/DefaultPageLayout.php +++ b/emhttp/plugins/dynamix/include/DefaultPageLayout.php @@ -723,7 +723,7 @@ unset($buttons,$button); // Build page content // Reload page every X minutes during extended viewing? -if (isset($myPage['Load']) && $myPage['Load']>0) echo "\n\n";echo "
"; +if (isset($myPage['Load']) && $myPage['Load']>0 && $display['liveUpdate'] !== "no") echo "\n\n";echo "
"; $tab = 1; $pages = []; if (!empty($myPage['text'])) $pages[$myPage['name']] = $myPage; @@ -1235,7 +1235,7 @@ $('body').on('click','a,.ca_href', function(e) { } } }); - + // Start & stop live updates when window loses focus var nchanPaused = false; @@ -1251,9 +1251,9 @@ $(window).focus(function() { // Stop nchan on loss of focus $(window).blur(function() { - nchanFocusStop(true); + nchanFocusStop(); }); - + // Include both beforeunload and unload as this may be unreliable in certain circumstances on mobile devices window.onbeforeunload = function() { nchanFocusStop(false); @@ -1263,14 +1263,14 @@ window.onunload = function() { nchanFocusStop(false); } -function nchanFocusStop(banner) { +function nchanFocusStop(banner=true) { if ( subscribers.length ) { if ( nchanPaused === false ) { var newsub = subscribers; subscribers.forEach(function(e) { try { e.stop(); - } catch { + } catch(err) { newsub.splice(newsub.indexOf(e,1)); } }); @@ -1281,7 +1281,6 @@ function nchanFocusStop(banner) { } } } - From 0c33f55894eea9c18042ed8745e5be1fc4bef6ec Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Mon, 24 Mar 2025 14:13:34 -0400 Subject: [PATCH 10/10] Copyright --- emhttp/plugins/dynamix.vm.manager/VMUsageStats.page | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/emhttp/plugins/dynamix.vm.manager/VMUsageStats.page b/emhttp/plugins/dynamix.vm.manager/VMUsageStats.page index c865b2278..f492ee950 100644 --- a/emhttp/plugins/dynamix.vm.manager/VMUsageStats.page +++ b/emhttp/plugins/dynamix.vm.manager/VMUsageStats.page @@ -4,8 +4,8 @@ Nchan="vm_usage:stop" Cond="exec(\"grep -o '^USAGE=.Y' /boot/config/domain.cfg 2>/dev/null\") && is_file('/var/run/libvirt/libvirtd.pid')" ---