1.7 KiB
1.7 KiB
Implemented and validated.
Changes:
- Reused the initial
load_pod_listresult for Companion and Orchestrator presence inload_multi_pod_snapshot, removing two duplicate full Pod status probes before the first dashboard rows render. - Renamed the E2E source timings to
companion.presence.from_initial_listandorchestrator.presence.from_initial_listso regressions show whether the initial list is reused. - Changed Pod list startup summarization to avoid reading active session logs while building initial Pod rows. Stored metadata now uses a cheap active-segment marker and live-only rows keep existing minimal live/pending summaries.
- Preserved spawn/restore behavior after Companion/Orchestrator lifecycle changes; if lifecycle changes require reload, the existing reload path remains.
Live-path measurement in the current workspace:
- Before this fix: first non-empty Panel rows appeared at about 7967ms;
pod_metadata_status_probe.initial,companion.presence, andorchestrator.presencewere each about 2.5s. - After removing duplicate probes only: first non-empty rows appeared at about 2964ms; duplicate presence probes dropped to 0ms but initial Pod metadata/status probe was still about 2386ms.
- After also removing session-log reads from the startup Pod summary path: first non-empty rows appeared at about 754ms;
pod_metadata_status_probe.initialwas about 138ms; total dashboard source breakdown was about 649ms.
Validation:
- cargo test -p tui pod_list --lib
- cargo test -p yoi-e2e --features e2e --test panel
- cargo check -p yoi-e2e -p yoi -p tui --features tui/e2e-test
- cargo build -p yoi
- cargo fmt --check
- git diff --check
- target/debug/yoi ticket doctor
- nix build .#yoi --no-link