Commit Graph
4 Commits
Author SHA1 Message Date
Prateek Rungta e37b151467 fix(floating-terminal): close panel on last explicit tab close
- bootstrap floating tabs only on panel-open transition
- close the panel when explicit close removes the last tab
- keep direct closeTab paths from auto-creating replacement tabs
- use visible tab order for close-to-right
- add behavior-boundary regression tests
2026-05-16 05:51:53 -04:00
e42c78107c Mobile: replace presence-lock banner with loud overlay + collapsible chip (#1899)
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: Orca <help@stably.ai>
Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
2026-05-15 11:47:13 -07:00
Prateek RungtaandClaude Opus 4.7 11f24f17ad fix(shell-ready): honor user's ZDOTDIR so XDG-layout zsh users get the right rcfiles (#1737)
The wrapper .zshenv used to capture ORCA_ORIG_ZDOTDIR before sourcing the
user's ~/.zshenv, so users who set ZDOTDIR=$XDG_CONFIG_HOME/zsh in .zshenv
ended up with the wrapper sourcing ~/.zshrc instead of
~/.config/zsh/.zshrc. Functions, aliases, and PATH edits silently
disappeared inside every shell-ready PTY (startup-command, attribution
shim, SSH).

Reorder: clear ZDOTDIR, source user .zshenv inside a function (so an early
`return` doesn't abort our wrapper), recapture from user-resolved →
spawn-env → HOME, then re-pin ZDOTDIR to the wrapper dir baked into the
template. Trailing-slash normalization now matches the Node-side
normalizer. Same change in the renderer- and daemon-side wrappers.

New zsh-subprocess tests (gated on `which zsh`) cover the XDG case,
early-return survival in user .zshenv, spawn-env preservation, HOME
fallback, and self-loop normalization including pathological multi-
trailing-slash paths.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-14 12:45:58 -07:00
Prateek RungtaandJinjing 74373c2deb Drop the per-workspace AGENTS toggle in the sidebar (#1738)
* Drop the per-workspace AGENTS toggle in the sidebar

The chevron header above each card's inline agent list re-litigated a
decision the global "inline-agents" view option already controls, and
sat one row above the agent it labelled — so aiming for the agent and
hitting the chevron collapsed the section the user wanted to interact
with. Collapsed state was session-only, so there was no payoff for the
misclick.

Always render the inline agent list when the global toggle is on; never
render it when it's off. The wrapper keeps a stopPropagation handler so
clicks on the empty row gutter don't reach WorktreeCard's outer
activate/edit-meta handlers, plus role="group" + aria-label="Agents" so
screen-reader users still get a labeled region.

Also drops the leading pl-1 on DashboardAgentRow so the freed row gets
a touch more horizontal room. DashboardAgentRow's only call site is
this inline list, so there's no asymmetry to fix elsewhere.

* Added more tests

---------

Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
2026-05-13 13:34:28 -07:00