Added leaveWorktreeIfEmpty follow-up in TerminalPaneOverlayLayer onPtyExit/onCloseTab so closing the last terminal deselects the worktree and returns to Landing.
Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
Adds a DESIGN.md following the google-labs-code/design.md alpha spec so
agents and contributors have a single structured source of truth for
Orca's tokens (colors, typography, rounded, spacing, components) and the
prose rationale for when and how to apply them.
Tokens are derived from src/renderer/src/assets/main.css and the Button
CVA in src/renderer/src/components/ui/button.tsx, with a parallel
dark-colors block for the .dark theme remap. Tightens muted-foreground
(#737373 -> #6B6B6B) and ring (#a1a1a1 -> #8E8E8E) to the WCAG AA /
non-text 3:1 thresholds; an a11y note flags these as the normative
target for the CSS variables.
Passes the official `npx @google/design.md lint` with 0 errors.
Re-applies the four ResourceUsageStatusSegment fixes from #1464 on top of
current main. Original PR was branched off the #1415 merge commit and
would have silently reverted #1451 (focus right pane after clicking an
agent), which reworks navigateToTab to thread paneKey through and call
activateTabAndFocusPane.
Findings:
- Orphan kill race re-adds the killed row (await kill before refresh).
- Duplicate sessions interval inside open-gated effect (removed).
- Kill-confirm Dialog mounted inside PopoverContent (hoisted to sibling).
- daemonUnreachable required at least one snapshot failure (also treat
null snapshot + sessions error as unreachable).
Co-authored-by: hermes <bot@hermes>
* perf(tasks): narrow task page cache subscriptions
Avoid re-rendering the full Tasks page for unrelated GitHub and Linear cache writes by selecting only the cache entries the page can render, and by returning null from dialog/drawer selectors while those surfaces are closed.
* fix: satisfy task selector lint
Skip the expensive expanded-tree refresh after deferred file explorer watcher payloads when the replayed events can be reconciled with targeted directory refreshes. Keep the fallback for unreplayable rename payloads.
Dedupes in-flight GitHub and Linear metadata lookups behind the existing short TTL caches, and prevents cleared caches from being repopulated by stale in-flight responses.
Batch terminal pane splitter flex writes behind requestAnimationFrame so high-rate drag pointermove bursts do at most one layout write per frame, while flushing the latest size before final refit.
Centralize the xterm refresh after successful WebGL attachment so resumed, reparented, or setting-toggled panes do not show a stale empty WebGL canvas until the next output or resize.
Debounce Monaco markdown doc-link decoration refreshes so rapid content changes coalesce into one full-model scan, while preserving immediate initial render and cleanup behavior.
Cancel delayed browser anti-detection debugger reattach timers when guest policy cleanup runs so closed or re-registered webviews are not retained until the retry fires.
Cap the per-PID cwd result cache and sweep expired entries on each lookup.
Add a regression test that freezes time and churns unique PIDs so TTL expiry cannot mask unbounded cache growth.