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.

I2679 — Observatory sleduje proud pomocí kurzoru, místo aby se znovu ptala na jeho stránku

Zařídit, aby změna na meshi dorazila na displej v okamžiku, kdy nastane, a aby mezera v přijatých datech byla něčím, o čem displej ví a co říká.

HOTOVO vlna 0 · p2 · profil implementation · bezpečné souběžně

Součást development-runtime — The runtime has a development surface.

Cíl

Zařídit, aby změna na meshi dorazila na displej v okamžiku, kdy nastane, a aby mezera v přijatých datech byla něčím, o čem displej ví a co říká.

Proč

Observatory se o změně dozví tak, že každých 15 sekund požádá o vlastní stránku. To je poctivé a hrubé: událost je vidět s opožděním až 15 sekund, události mezi dvěma čteními se projeví jen jako rozdíl a zmeškané čtení nelze odlišit od klidného mesh. Specifikace vlastníka žádá o reconnect, deduplikaci, obnovu kurzoru a omezené fronty.

Aktuální stav

share/ui/observatory.js dotazuje svou stránku s ?fragment každých 15 sekund a ustupuje až na 120. Server už drží proud živých událostí pro provedení s kurzorem pro každé provedení a žurnál mesh je řazen podle streamu a pořadí.

Cílový stav

Displej sleduje existující stream událostí serveru od kurzoru, po odpojení z něj pokračuje, když kurzor vypršel, vezme novou projekci a řekne to, zahazuje duplicitu podle její identity a drží omezený počet událostí. Nezavádí se žádný nový transport.

Rozsah

  • apps/majordomus-cli/src/ui/observatory.rs
  • share/ui/observatory.js
  • docs/MAJORDOMUS_UI.md
  • .ai/repo/project/issues/I2679.yaml

Mimo rozsah

  • Nový protokol streamu, úložiště událostí nebo broker zpráv
  • Veřejný snímek, který opět nic nečte

Závislosti

Žádné. Tento úkol je kořenem grafu.

Kritéria přijetí

  • Událost připojená k žurnálu meshe dosáhne displeje bez čtení celé stránky a případ to dokazuje přes skutečný server
  • Po odpojení zobrazení pokračuje od svého kurzoru; s prošlým kurzorem převezme čerstvou projekci a jeho stavové slovo to říká
  • Táž událost doručená dvakrát vykreslí jednu značku a počet událostí, které skript drží, má deklarovanou mez

Validace

  • bin/majordomus plan validate
  • bash test/run.sh 3011_the_observatory_draws_nothing_it_did_not_read

Požadované důkazy

  • observatory_stream_resume_case

Důkazy

pokrývátypcommandvýsledeku commitu
observatory_stream_resume_casetestcargo test --manifest-path apps/majordomus-cli/Cargo.toml --test mesh_cooperation -- three_runtimesvýsledek testu: ok. 1 prošel (běh 2026-10-14 na bb844110bd, #1123): nejnovější stránka, nic nad kurzorem, připojené tvrzení dorazí nad něj s jednou identitou, ať se čte kolikrát chce, vypršelý kurzor je hlášen; drily v prohlížeči na živém serveru: RESYNCED po vypršelém kurzoru, STALE pak LIVE po ztraceném serveru2ca25bb

Časová osa

zahájeno
2026-10-14T12:31:19Z
ověřeno
—
dokončeno
2026-10-14T12:31:39Z

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.

Kanonický záznam: .ai/repo/project/issues/I2679.yaml. Přečtěte ho zpět pomocí majordomus plan show I2679.

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