fix: always check app status API so UI shows Stopped when ACAP is not running

This commit is contained in:
Weston Blieden
2026-04-14 15:43:18 +02:00
parent 8bd18ffc63
commit 3e87803625
6 changed files with 73 additions and 79 deletions
+13 -14
View File
@@ -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';
+12 -13
View File
@@ -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';
+12 -13
View File
@@ -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';
+12 -13
View File
@@ -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';
+12 -13
View File
@@ -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';
+12 -13
View File
@@ -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';