@nockdev/hsa 1.2.0 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dashboard.html +34 -16
- package/dist/hsa-cli.bundle.js +1 -1
- package/dist/hsa-daemon.bundle.js +1 -1
- package/dist/hsa-http.bundle.js +1 -1
- package/dist/hsa-lib.bundle.js +1 -1
- package/dist/integrity.json +214 -208
- package/logs.html +1018 -480
- package/package.json +1 -1
package/dashboard.html
CHANGED
|
@@ -1490,6 +1490,7 @@
|
|
|
1490
1490
|
let selectedSessionId = "";
|
|
1491
1491
|
let selectedIde = "";
|
|
1492
1492
|
let selectedProject = "";
|
|
1493
|
+
let sessionSSERetryMs = 1000;
|
|
1493
1494
|
|
|
1494
1495
|
document.getElementById("endpointInput").value = endpoint;
|
|
1495
1496
|
|
|
@@ -1718,20 +1719,28 @@
|
|
|
1718
1719
|
)
|
|
1719
1720
|
.join("");
|
|
1720
1721
|
|
|
1721
|
-
|
|
1722
|
+
// B7: Show ALL build systems, not just primary
|
|
1723
|
+
const systems =
|
|
1724
|
+
stack.buildSystems && stack.buildSystems.length > 0
|
|
1725
|
+
? stack.buildSystems
|
|
1726
|
+
: stack.buildSystem
|
|
1727
|
+
? [stack.buildSystem]
|
|
1728
|
+
: [];
|
|
1729
|
+
|
|
1730
|
+
if (systems.length > 0) {
|
|
1722
1731
|
buildEl.style.display = "flex";
|
|
1723
|
-
buildEl.innerHTML =
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1732
|
+
buildEl.innerHTML = systems
|
|
1733
|
+
.map((bs) => {
|
|
1734
|
+
const name = bs.name || "unknown";
|
|
1735
|
+
const parts = [];
|
|
1736
|
+
if (bs.buildCommand)
|
|
1737
|
+
parts.push(`Build: <code>${bs.buildCommand}</code>`);
|
|
1738
|
+
if (bs.testCommand)
|
|
1739
|
+
parts.push(`Test: <code>${bs.testCommand}</code>`);
|
|
1740
|
+
if (bs.devCommand)
|
|
1741
|
+
parts.push(`Dev: <code>${bs.devCommand}</code>`);
|
|
1742
|
+
return `<span title="${name}"><strong style="color:var(--cat-build-tool)">${name}</strong> ${parts.join(" · ")}</span>`;
|
|
1743
|
+
})
|
|
1735
1744
|
.join("");
|
|
1736
1745
|
} else {
|
|
1737
1746
|
buildEl.style.display = "none";
|
|
@@ -2119,8 +2128,8 @@
|
|
|
2119
2128
|
const deltas = [];
|
|
2120
2129
|
for (let i = 1; i < cacheHistory.length; i++) {
|
|
2121
2130
|
deltas.push({
|
|
2122
|
-
hits: cacheHistory[i].hits - cacheHistory[i - 1].hits,
|
|
2123
|
-
misses: cacheHistory[i].misses - cacheHistory[i - 1].misses,
|
|
2131
|
+
hits: Math.max(0, cacheHistory[i].hits - cacheHistory[i - 1].hits),
|
|
2132
|
+
misses: Math.max(0, cacheHistory[i].misses - cacheHistory[i - 1].misses),
|
|
2124
2133
|
});
|
|
2125
2134
|
}
|
|
2126
2135
|
const maxVal = Math.max(
|
|
@@ -2221,9 +2230,17 @@
|
|
|
2221
2230
|
}
|
|
2222
2231
|
} catch {}
|
|
2223
2232
|
};
|
|
2233
|
+
// FE-02: Auto-reconnect with exponential backoff
|
|
2224
2234
|
sessionSSE.onerror = () => {
|
|
2225
2235
|
sessionSSE.close();
|
|
2226
2236
|
sessionSSE = null;
|
|
2237
|
+
setTimeout(() => {
|
|
2238
|
+
connectSessionSSE();
|
|
2239
|
+
sessionSSERetryMs = Math.min(sessionSSERetryMs * 2, 30000);
|
|
2240
|
+
}, sessionSSERetryMs);
|
|
2241
|
+
};
|
|
2242
|
+
sessionSSE.onopen = () => {
|
|
2243
|
+
sessionSSERetryMs = 1000;
|
|
2227
2244
|
};
|
|
2228
2245
|
} catch {}
|
|
2229
2246
|
}
|
|
@@ -2323,7 +2340,8 @@
|
|
|
2323
2340
|
.replace(/&/g, "&")
|
|
2324
2341
|
.replace(/</g, "<")
|
|
2325
2342
|
.replace(/>/g, ">")
|
|
2326
|
-
.replace(/"/g, """)
|
|
2343
|
+
.replace(/"/g, """)
|
|
2344
|
+
.replace(/'/g, "'");
|
|
2327
2345
|
}
|
|
2328
2346
|
function fmtUptime(ms) {
|
|
2329
2347
|
const s = Math.floor(ms / 1000);
|