From 0de80b959a042fcc88cf7c97681742292162c4b6 Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Mon, 26 May 2025 12:51:33 -0400 Subject: [PATCH 1/2] Add button to manually open if popup blocked --- emhttp/plugins/dynamix/Terminal.page | 21 ++++++++++++++----- .../DefaultPageLayout/HeadInlineJS.php | 4 ++++ 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/emhttp/plugins/dynamix/Terminal.page b/emhttp/plugins/dynamix/Terminal.page index 923f5cfdf..7aeb348d4 100644 --- a/emhttp/plugins/dynamix/Terminal.page +++ b/emhttp/plugins/dynamix/Terminal.page @@ -15,23 +15,34 @@ Icon="terminal" ?> \ No newline at end of file +} + +function basename(path) { + return path.replace(/.*\//, ''); +} + + \ No newline at end of file diff --git a/emhttp/plugins/dynamix/include/DefaultPageLayout/HeadInlineJS.php b/emhttp/plugins/dynamix/include/DefaultPageLayout/HeadInlineJS.php index f4f0b117c..031d6ff83 100644 --- a/emhttp/plugins/dynamix/include/DefaultPageLayout/HeadInlineJS.php +++ b/emhttp/plugins/dynamix/include/DefaultPageLayout/HeadInlineJS.php @@ -163,6 +163,10 @@ function openTerminal(tag,name,more) { // open terminal window (run in background) name = name.replace(/[ #]/g,"_"); tty_window = makeWindow(name+(more=='.log'?more:''),Math.min(screen.availHeight,800),Math.min(screen.availWidth,1200)); + if ( tty_window === null ) { + throw new Error('Failed to open terminal window'); + return; + } var socket = ['ttyd','syslog'].includes(tag) ? '/webterminal/'+tag+'/' : '/logterminal/'+name+(more=='.log'?more:'')+'/'; $.get('/webGui/include/OpenTerminal.php',{tag:tag,name:name,more:more},function(){setTimeout(function(){tty_window.location=socket; tty_window.focus();},200);}); } From b66f5823e37bf78973383caa27caa456ac1e298d Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Mon, 26 May 2025 12:59:36 -0400 Subject: [PATCH 2/2] Update emhttp/plugins/dynamix/include/DefaultPageLayout/HeadInlineJS.php Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- .../plugins/dynamix/include/DefaultPageLayout/HeadInlineJS.php | 1 - 1 file changed, 1 deletion(-) diff --git a/emhttp/plugins/dynamix/include/DefaultPageLayout/HeadInlineJS.php b/emhttp/plugins/dynamix/include/DefaultPageLayout/HeadInlineJS.php index 031d6ff83..bc038ac64 100644 --- a/emhttp/plugins/dynamix/include/DefaultPageLayout/HeadInlineJS.php +++ b/emhttp/plugins/dynamix/include/DefaultPageLayout/HeadInlineJS.php @@ -165,7 +165,6 @@ function openTerminal(tag,name,more) { tty_window = makeWindow(name+(more=='.log'?more:''),Math.min(screen.availHeight,800),Math.min(screen.availWidth,1200)); if ( tty_window === null ) { throw new Error('Failed to open terminal window'); - return; } var socket = ['ttyd','syslog'].includes(tag) ? '/webterminal/'+tag+'/' : '/logterminal/'+name+(more=='.log'?more:'')+'/'; $.get('/webGui/include/OpenTerminal.php',{tag:tag,name:name,more:more},function(){setTimeout(function(){tty_window.location=socket; tty_window.focus();},200);});