mirror of
https://github.com/stablyai/orca.git
synced 2026-10-13 08:02:52 +00:00
The popover used to have two tabs: Resources (per-worktree CPU/Mem from the local memory collector, which excludes SSH PTYs by design) and Sessions (every PTY the daemon tracks, local + SSH). With SSH worktrees in use, Sessions could show many worktrees while Resources only showed one — a confusing inconsistency between two adjacent tabs. This consolidates them into a single grouped list (repo → worktree → session) sourced from the union of MemorySnapshot.worktrees and pty.listSessions(). Local rows render numeric CPU/Mem; remote rows render '—' and carry a '· remote' badge on the worktree, with the parent repo also flagged when it contains remote children. Kill-X on every session row with confirm Dialog (mirrors Settings > Manage Sessions). Optimistic removal so killed rows disappear immediately rather than lingering up to the 10s sessions-poll. Focus is restored to the popover body after the dialog closes. The merge is renderer-only and pure: a new mergeSnapshotAndSessions module emits a renderer-local view-model (cpu/memory: number | null) so shared types are untouched. SSH-only sessions resolve to their worktree group via the @@-parse fallback when no tab in this renderer claims the PTY. 12 unit tests cover the dedup, @@-parse, tab-walk-wins, repo aggregate, and all 4 interaction-state paths. Removes the tab switcher and the SessionsTabPanel component. Net -128 lines in the segment file. Co-authored-by: Orca <help@stably.ai>
Orca CLI Docs
Keep this folder focused on the durable references for Orca's public CLI and runtime model.
Keep These Docs
orca-cli-focused-v1-status.md- What is actually implemented and intentionally in scope now.
orca-cli-v1-spec.md- The public CLI contract, selector grammar, JSON envelope, and command semantics.
orca-runtime-layer-design.md- Why the runtime layer exists and which boundaries it owns.
orca-cli-bundled-distribution.md- How the bundled desktop-app distribution and PATH registration model works.
Why The Folder Is Small
Earlier design and implementation work produced several planning and evaluation docs. Those were useful while the feature was taking shape, but they were intentionally removed once the implementation converged so future readers are not forced to choose between multiple overlapping sources of truth.