Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

I3221 — Every live surface says in ADR 0158's words whether it is live, reconnecting, stale, polling, a snapshot or a replay

Give every live surface one browser-side mapping from its transport state to ADR 0158's words, shared by the scripts of /ui screens, /ui/peers, /cockpit/monitor and the Observatory: LIVE, RECONNECTING, STALE and POLLING on a server, SNAPSHOT and REPLAY on the published site; view::liveness and the Cockpit kit render only the first-paint word.

BLOKOVÁNO vlna 1 · p2 · profil implementation · bezpečné paralelně

Part of every-surface-follows-what-changed — Every surface follows what changed in the repository by push, and a surface that does not says so.

Blocked. This issue cannot start until I3219 is done. The status is derived from that, not declared.

Cíl

Give every live surface one browser-side mapping from its transport state to ADR 0158's words, shared by the scripts of /ui screens, /ui/peers, /cockpit/monitor and the Observatory: LIVE, RECONNECTING, STALE and POLLING on a server, SNAPSHOT and REPLAY on the published site; view::liveness and the Cockpit kit render only the first-paint word.

Proč

A 2026-10-14 review found a hidden-then-shown Observatory claiming an unavailable server; each surface words its state differently today. Proposed in ADR 0216 (Every live surface follows one channel with named follow streams, and nothing polls where a stream exists) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c262#10.

Aktuální stav

Verified on master 707a04c7ce8: share/ui/observatory.js words REPLAY, SNAPSHOT, RESYNCED, LIVE and STALE; share/ui/ui.js refreshes every 60 s and says it refreshes; ADR 0158 point 11 decides LIVE, RECONNECTING and STALE on a server. In flight, not on master: I2983's share/ui/live.js and PR #1178's observatory-stream.js.

Cílový stav

One mapping and one vocabulary, documented once in docs/MAJORDOMUS_UI.md and in ADR 0158.

Rozsah

  • apps/majordomus-cli/src/ui/view.rs
  • share/ui/ui.js
  • share/ui/observatory.js
  • share/cockpit/monitor.js
  • docs/MAJORDOMUS_UI.md

Mimo rozsah

  • New transport behaviour

Závislosti

Co na tom čeká

Kritéria přijetí

  • A browser test with a controlled clock and a closed socket shows the same word on every listed surface
  • No surface prints LIVE while its socket is closed

Validace

  • cargo test --manifest-path apps/majordomus-cli/Cargo.toml --lib ui::view
  • scripts/ui audit

Požadované důkazy

  • case_one_word_for_liveness

Důkazy

Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.

Časová osa

zahájeno
—
ověřeno
—
dokončeno
—

Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.

Canonical record: .ai/repo/project/issues/I3221.yaml. Read it back with majordomus plan show I3221.

Prohledává názvy a popisy všech stránek, které tento web publikuje.