From 3e87803625c3c97564806c0d618ca1c2e7094202 Mon Sep 17 00:00:00 2001 From: Weston Blieden Date: Tue, 14 Apr 2026 15:43:18 +0200 Subject: [PATCH] fix: always check app status API so UI shows Stopped when ACAP is not running --- aarch64/app/html/index.html | 27 +++++++++++++-------------- aarch64_ROOT/app/html/index.html | 25 ++++++++++++------------- aarch64_custom/app/html/index.html | 25 ++++++++++++------------- arm/app/html/index.html | 25 ++++++++++++------------- arm_ROOT/app/html/index.html | 25 ++++++++++++------------- arm_custom/app/html/index.html | 25 ++++++++++++------------- 6 files changed, 73 insertions(+), 79 deletions(-) diff --git a/aarch64/app/html/index.html b/aarch64/app/html/index.html index 6a5c782..589fdf0 100644 --- a/aarch64/app/html/index.html +++ b/aarch64/app/html/index.html @@ -614,21 +614,20 @@ .then(function(txt) { var result = parse(txt); renderLogs(txt); - if (result.state !== 'disconnected') { + // Always verify with the app status API - syslog can have stale entries + checkAppRunning().then(function(running) { + if (!running) { + result.state = 'disconnected'; + } else if (result.state === 'disconnected') { + // App is running but syslog is empty/rotated + result.state = 'connected'; + result.ip = result.ip || cacheGet('ip'); + result.node = result.node || cacheGet('node'); + result.tailnet = result.tailnet || cacheGet('tailnet'); + result.version = result.version || cacheGet('version'); + } render(result); - } else { - // Syslog may be empty/rotated - check app status API - checkAppRunning().then(function(running) { - if (running) { - result.state = 'connected'; - result.ip = result.ip || cacheGet('ip'); - result.node = result.node || cacheGet('node'); - result.tailnet = result.tailnet || cacheGet('tailnet'); - result.version = result.version || cacheGet('version'); - } - render(result); - }); - } + }); }) .catch(function() { document.getElementById('status-text').textContent = 'Unable to fetch logs'; diff --git a/aarch64_ROOT/app/html/index.html b/aarch64_ROOT/app/html/index.html index bf63b5e..33db9b6 100644 --- a/aarch64_ROOT/app/html/index.html +++ b/aarch64_ROOT/app/html/index.html @@ -614,20 +614,19 @@ .then(function(txt) { var result = parse(txt); renderLogs(txt); - if (result.state !== 'disconnected') { + // Always verify with the app status API - syslog can have stale entries + checkAppRunning().then(function(running) { + if (!running) { + result.state = 'disconnected'; + } else if (result.state === 'disconnected') { + result.state = 'connected'; + result.ip = result.ip || cacheGet('ip'); + result.node = result.node || cacheGet('node'); + result.tailnet = result.tailnet || cacheGet('tailnet'); + result.version = result.version || cacheGet('version'); + } render(result); - } else { - checkAppRunning().then(function(running) { - if (running) { - result.state = 'connected'; - result.ip = result.ip || cacheGet('ip'); - result.node = result.node || cacheGet('node'); - result.tailnet = result.tailnet || cacheGet('tailnet'); - result.version = result.version || cacheGet('version'); - } - render(result); - }); - } + }); }) .catch(function() { document.getElementById('status-text').textContent = 'Unable to fetch logs'; diff --git a/aarch64_custom/app/html/index.html b/aarch64_custom/app/html/index.html index 04d2ef1..0963bc8 100644 --- a/aarch64_custom/app/html/index.html +++ b/aarch64_custom/app/html/index.html @@ -622,20 +622,19 @@ .then(function(txt) { var result = parse(txt); renderLogs(txt); - if (result.state !== 'disconnected') { + // Always verify with the app status API - syslog can have stale entries + checkAppRunning().then(function(running) { + if (!running) { + result.state = 'disconnected'; + } else if (result.state === 'disconnected') { + result.state = 'connected'; + result.ip = result.ip || cacheGet('ip'); + result.node = result.node || cacheGet('node'); + result.tailnet = result.tailnet || cacheGet('tailnet'); + result.version = result.version || cacheGet('version'); + } render(result); - } else { - checkAppRunning().then(function(running) { - if (running) { - result.state = 'connected'; - result.ip = result.ip || cacheGet('ip'); - result.node = result.node || cacheGet('node'); - result.tailnet = result.tailnet || cacheGet('tailnet'); - result.version = result.version || cacheGet('version'); - } - render(result); - }); - } + }); }) .catch(function() { document.getElementById('status-text').textContent = 'Unable to fetch logs'; diff --git a/arm/app/html/index.html b/arm/app/html/index.html index bf63b5e..33db9b6 100644 --- a/arm/app/html/index.html +++ b/arm/app/html/index.html @@ -614,20 +614,19 @@ .then(function(txt) { var result = parse(txt); renderLogs(txt); - if (result.state !== 'disconnected') { + // Always verify with the app status API - syslog can have stale entries + checkAppRunning().then(function(running) { + if (!running) { + result.state = 'disconnected'; + } else if (result.state === 'disconnected') { + result.state = 'connected'; + result.ip = result.ip || cacheGet('ip'); + result.node = result.node || cacheGet('node'); + result.tailnet = result.tailnet || cacheGet('tailnet'); + result.version = result.version || cacheGet('version'); + } render(result); - } else { - checkAppRunning().then(function(running) { - if (running) { - result.state = 'connected'; - result.ip = result.ip || cacheGet('ip'); - result.node = result.node || cacheGet('node'); - result.tailnet = result.tailnet || cacheGet('tailnet'); - result.version = result.version || cacheGet('version'); - } - render(result); - }); - } + }); }) .catch(function() { document.getElementById('status-text').textContent = 'Unable to fetch logs'; diff --git a/arm_ROOT/app/html/index.html b/arm_ROOT/app/html/index.html index bf63b5e..33db9b6 100644 --- a/arm_ROOT/app/html/index.html +++ b/arm_ROOT/app/html/index.html @@ -614,20 +614,19 @@ .then(function(txt) { var result = parse(txt); renderLogs(txt); - if (result.state !== 'disconnected') { + // Always verify with the app status API - syslog can have stale entries + checkAppRunning().then(function(running) { + if (!running) { + result.state = 'disconnected'; + } else if (result.state === 'disconnected') { + result.state = 'connected'; + result.ip = result.ip || cacheGet('ip'); + result.node = result.node || cacheGet('node'); + result.tailnet = result.tailnet || cacheGet('tailnet'); + result.version = result.version || cacheGet('version'); + } render(result); - } else { - checkAppRunning().then(function(running) { - if (running) { - result.state = 'connected'; - result.ip = result.ip || cacheGet('ip'); - result.node = result.node || cacheGet('node'); - result.tailnet = result.tailnet || cacheGet('tailnet'); - result.version = result.version || cacheGet('version'); - } - render(result); - }); - } + }); }) .catch(function() { document.getElementById('status-text').textContent = 'Unable to fetch logs'; diff --git a/arm_custom/app/html/index.html b/arm_custom/app/html/index.html index 04d2ef1..0963bc8 100644 --- a/arm_custom/app/html/index.html +++ b/arm_custom/app/html/index.html @@ -622,20 +622,19 @@ .then(function(txt) { var result = parse(txt); renderLogs(txt); - if (result.state !== 'disconnected') { + // Always verify with the app status API - syslog can have stale entries + checkAppRunning().then(function(running) { + if (!running) { + result.state = 'disconnected'; + } else if (result.state === 'disconnected') { + result.state = 'connected'; + result.ip = result.ip || cacheGet('ip'); + result.node = result.node || cacheGet('node'); + result.tailnet = result.tailnet || cacheGet('tailnet'); + result.version = result.version || cacheGet('version'); + } render(result); - } else { - checkAppRunning().then(function(running) { - if (running) { - result.state = 'connected'; - result.ip = result.ip || cacheGet('ip'); - result.node = result.node || cacheGet('node'); - result.tailnet = result.tailnet || cacheGet('tailnet'); - result.version = result.version || cacheGet('version'); - } - render(result); - }); - } + }); }) .catch(function() { document.getElementById('status-text').textContent = 'Unable to fetch logs';