Separat status och mottagningsräknare för varje kanal.

Senaste råmeddelande, fel och ignoreringsorsaker.
Pausa visning, rensa och kopiera logg.
Uppdateras utan att störa inställningsfält eller tidtagning.
This commit is contained in:
larssand
2026-09-08 18:37:47 +02:00
parent 8aedf83826
commit a0c3d3039e
15 changed files with 265 additions and 14 deletions

View File

@@ -118,6 +118,20 @@ try {
await evaluate('document.getElementById("syncStatusRetry").click()');
await waitFor(async () => (await savedState()).classes.some(item => item.name === "Offline Draft"), "retry persisted draft");
await waitFor(async () => (await status()) === "saved", "confirmed saved status");
await navigate("settings", "settingsForm");
await evaluate(`(async () => {
const panel = document.getElementById("decoderDiagnostics");
if (!panel) throw new Error("Missing decoder diagnostics");
panel.open = true;
const field = document.querySelector('#settingsForm [name="wsUrl"]');
field.value = "ws://draft.example:9000";
const { decoderDiagnostics } = await import("/src/decoder_diagnostics.js");
decoderDiagnostics.frame("main", "diagnostic sample");
await new Promise(resolve => setTimeout(resolve, 1200));
if (!panel.textContent.includes("diagnostic sample")) throw new Error("Diagnostics did not update");
if (field.value !== "ws://draft.example:9000") throw new Error("Diagnostics reset settings draft");
})()`);
console.log("PASS decoder diagnostics update without resetting settings draft");
await runOverlaySmoke({ evaluate });
assert.deepEqual(errors, []);
console.log("PASS offline save failure, local draft retention, retry and confirmed saved status");