Keep last good status on fetch failure; retry and log to diagnostics

This commit is contained in:
Aaron
2025-12-13 12:07:02 -05:00
parent d49218409d
commit 8864df2b2c
2 changed files with 9 additions and 3 deletions

View File

@@ -6,7 +6,7 @@ import { initServiceControls, renderServices } from "./services.js";
import { initSettings } from "./settings.js";
import { initUpdateSettings, isUpdatesDirty } from "./update-settings.js";
import { initReleaseUI } from "./releases.js?v=20251213h";
import { initDiagUI, logUi } from "./diaglog.js?v=20251213i";
import { initDiagUI, logUi } from "./diaglog.js?v=20251213j";
const servicesGrid = document.getElementById("servicesGrid");
const heroStats = document.getElementById("heroStats");
@@ -133,6 +133,7 @@ let toastDurationMs = 5000;
let toastSpeedMs = 300;
let fontChoice = "redhat";
let releaseUI = null;
let lastStatusData = null;
function applyToastSettings() {
if (!toastContainer) return;
@@ -318,6 +319,7 @@ function setUpdatesUI(enabled) {
async function loadStatus() {
try {
const data = await getStatus();
lastStatusData = data;
renderStats(heroStats, data);
renderServices(servicesGrid, data.services, { openAddService });
const updatesEnabled =
@@ -358,7 +360,11 @@ async function loadStatus() {
releaseUI?.refreshStatus();
} catch (e) {
console.error(e);
renderStats(heroStats, placeholderStatus);
logUi(`Status refresh failed: ${e?.message || e}`, "error");
if (!lastStatusData) {
renderStats(heroStats, placeholderStatus);
}
setTimeout(loadStatus, 2000);
}
}

View File

@@ -777,7 +777,7 @@
</div>
</div>
<script type="module" src="assets/main.js?v=20251213i"></script>
<script type="module" src="assets/main.js?v=20251213j"></script>
<div id="toastContainer" class="toast-container"></div>
</body>
</html>