118 Commits
Author SHA1 Message Date
Jinwoo HongandOrca 7cbee189f7 Show full tab titles in tab tooltips (#2986)
Co-authored-by: Orca <help@stably.ai>
2026-05-28 11:16:32 -07:00
Jinwoo HongandOrca c21fdf8fb2 Fix SSH handler re-registration port forwards (#2963)
Co-authored-by: Orca <help@stably.ai>
2026-05-27 21:04:30 -07:00
Jinwoo HongandOrca 3984291978 Validate orchestration reset scope (#2960)
* Validate orchestration reset scope

Require orchestration.reset callers to provide exactly one reset scope, while keeping the CLI no-flag shortcut explicit.

Design doc: docs/orchestration-reset-scope-validation.md

Co-authored-by: Orca <help@stably.ai>

* Add reset CLI subprocess e2e

Co-authored-by: Orca <help@stably.ai>

---------

Co-authored-by: Orca <help@stably.ai>
2026-05-27 21:40:33 -04:00
Jinjing 8014516253 Add failed automation rerun action (#2913)
* Add rerun action for failed automations

Adds a recoverable failed automation rerun action in the run detail view, with pending-state handling and focused view-state coverage.

Design doc: docs/failed-automation-rerun-action.md

* Rebuild Electron binary before PR tests

- Ensure Node-based unit tests can import `electron` after install blocks package postinstall
- Generate Electron's required `path.txt` in the PR workflow
2026-05-27 11:28:16 -07:00
Neil 50803c9d45 docs: record memory leak audit coverage (#2874) 2026-05-26 20:13:11 -07:00
Neil 9b2c05fa77 Fix keyboard layout shortcut dispatch
Fix shortcut dispatch so app commands follow the produced logical key for the active keyboard layout, while preserving intentional physical-code fallbacks for terminal byte paths and unavailable logical keys.\n\nCloses #2858
2026-05-26 18:28:55 -07:00
Neil e896dd3eb7 Recover hidden terminal output from main-owned state (#2848)
* fix: avoid renderer stalls on terminal backlogs

* Recover hidden terminal output from main state
2026-05-26 16:01:56 -07:00
BorjaandNeil e510421699 Add Command Code as a supported CLI agent (#2520)
* Add Command Code as a supported CLI agent

Register Command Code (https://commandcode.ai) across the agent
catalog, launch config, telemetry kind, agent-status icon record, and
settings search. Detection uses the full `command-code` binary rather
than the shorter `cmd` alias that `npm i -g command-code` also
installs — agent-process-recognition normalizes process names by
stripping `.exe`/`.cmd` extensions, so using `cmd` would collide with
Windows' built-in `cmd.exe` shell.

Closes #2083

* Complete Command Code agent registration

---------

Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
2026-05-25 22:35:41 -07:00
Neil ab80339158 Fix shell-launched OMP status hooks (#2821)
* Fix shell-launched OMP status hooks

* Update oh-my-pi branding

* Add OMP to mobile agent metadata
2026-05-25 22:20:15 -07:00
Jinwoo HongandOrca a33eedfd02 Reveal new worktrees in sidebar (#2804)
Co-authored-by: Orca <help@stably.ai>
2026-05-25 18:40:19 -07:00
formatme efd75da5d6 Add OMP as first-class TUI agent
Adds OMP as a first-class TUI agent and keeps Pi/OMP overlay state isolated across local and relay PTY paths.\n\nValidated locally with focused Vitest coverage, typecheck, lint, git diff --check, and Electron manual verification using installed omp (omp/15.3.2).
2026-05-25 18:35:48 -07:00
Brennan Benson b2d05ddf84 docs: add telemetry availability reference (#2723) 2026-05-23 17:38:43 -07:00
Jinjing 102cc09622 Improve worktree import handling (#2677)
* feat: improve worktree import handling

* chore: remove PR docs assets

* rm html
2026-05-23 01:13:33 -07:00
Brennan BensonandOrca 8096f236aa Fix delete workspace dialog overflow (#2634)
Co-authored-by: Orca <help@stably.ai>
2026-05-22 13:08:11 -07:00
Brennan BensonandOrca 12720cbe22 Fix inactive workspace scan loading copy (#2577)
Co-authored-by: Orca <help@stably.ai>
2026-05-21 19:44:26 -07:00
Jinjing ee9b0cefa4 feat(nav): add automations to worktree history (#2454) 2026-05-20 15:26:11 -07:00
Neil f5466d9922 Update Antigravity docs and prompt cache (#2394) 2026-05-19 20:55:46 -07:00
Brennan BensonandOrca 84e9ee964b Persist Source Control view mode (#2153)
Co-authored-by: Orca <help@stably.ai>
2026-05-17 22:26:49 -07:00
Jinjing e957b86197 Add configurable Open In applications (#2110)
* feat: add configurable Open In menu

Implements configurable Open In applications in worktree context menus with persisted settings, preload/API wiring, and renderer controls/tests.\n\nDesign doc: docs/configurable-open-in-menu.md

* fix: address review findings
2026-05-16 15:34:40 -07:00
Jinjing 087f1aa9bf fix(worktree): preflight delete before terminal teardown (#2103)
Implement delete preflight checks before PTY teardown across git/runtime/ipc flows.

Design reference: docs/worktree-delete-preflight.md
2026-05-16 13:52:59 -07:00
Neil 675b1b0cb6 Fix Windows agent hook Unicode prompts (#2100) 2026-05-16 13:32:23 -07:00
2ad01ead7d feat(file-explorer): show gitignored files with dimmed italic decoration (#1941)
* feat(file-explorer): show gitignored files with dimmed italic decoration

Surfaces `.gitignore`d files in the right-sidebar file explorer with an
italicised, dimmed filename and a CircleSlash icon in the same trailing
slot used by the git status letter. A tracked change always wins — the
ignored decoration only applies when no other git status is present.

Gated behind a new `showGitIgnoredFiles` global setting (default on) so
heavy SSH workspaces can keep the smaller payload by skipping
`--ignored=matching` on `git status`.

`ignoredPaths` lives as a peer field on GitStatusResult rather than an
extension of GitFileStatus/GitStagingArea, so Source Control's
staging-area grouping is untouched.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore(file-explorer): trim redundant comments from gitignored decoration

Removes duplicated "Why:" explanations that ended up restating the same
backward-compat rationale across five files (relay, ssh provider, runtime
git commands, RPC handler, renderer git client) plus a few comments that
narrated the mechanism the code already shows.

Net: -39 lines of comment across 10 files; no behavior change.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore(file-explorer): drop remaining comments from gitignored decoration

The code reads well without them.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* review: harden gitignored file decorations

- clear ignored decoration cache when ignored status is disabled or omitted
- keep ignored decoration state scoped across worktree and runtime cleanup
- add coverage for local, SSH, runtime, relay, and Explorer precedence

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
2026-05-15 18:58:08 -07:00
Jinjing df44d8aff1 chore: ignore ephemeral docs (#2004) 2026-05-15 18:09:21 -07:00
Neil e7f3bb6034 Add Grok agent support 2026-05-15 13:52:39 -07:00
Jinwoo HongandOrca 6c4bcf7ea6 feat(ssh): make remote workspaces first-class (#1876)
Co-authored-by: Orca <help@stably.ai>
2026-05-15 12:32:07 -07: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
Jinjing b8d6698950 fix: make right sidebar header draggable (#1950) 2026-05-15 11:44:52 -07:00
Jinjing cc0272e5c4 chore: remove open editor design doc (#1938) 2026-05-15 11:11:13 -07:00
Jinjing 35e13a04b1 Add worktree Open in editor button (#1929)
* Add worktree open-in editor button

Implements the Open in menu flow from docs/open-in-worktree-button.md, including shell IPC validation and sidebar menu integration.

* Move worktree open action into menu

Updates the design to remove the card button and show VS Code under a single Open in context-menu item.

* Shorten worktree file manager labels
2026-05-15 11:05:21 -07:00
Jinjing 39b8c5026a docs: add Korean README (#1905) 2026-05-15 00:20:13 -07:00
Neil 2c7da06b2a Revert "Scaffold iOS companion control architecture" (#1858) 2026-05-14 13:02:27 -07:00
Ramzi cf6867aa6b Scaffold iOS companion control architecture (#1252) 2026-05-14 12:47:26 -07:00
Jinwoo HongandOrca 5b24ae4198 Fix Claude scoped Keychain auth (#1735)
Co-authored-by: Orca <help@stably.ai>
2026-05-14 10:48:46 -07:00
Neil a2ae62fccd Rename mobile README showcase asset
Rename the mobile companion showcase files to ensure GitHub renders the updated background asset.
2026-05-13 18:36:09 -07:00
Neil 58e5e5dc19 Polish mobile README showcase
Update the mobile companion README copy, download text, translations, and showcase media.
2026-05-13 18:28:36 -07:00
Neil c713c81eb3 Rename showcase tile to Native Search
Rename Keyboard Native to Native Search in README showcase and translations.
2026-05-13 18:16:57 -07:00
Neil 915e177783 Add Linear and mobile README showcase
Add Linear to the README feature showcase, add mobile companion download links, and update translated READMEs.
2026-05-13 18:12:54 -07:00
Neil e68468d403 Update usage tracking showcase title
Rename the showcase tile to Account Switcher & Usage Tracking and update translated README labels.
2026-05-13 15:37:25 -07:00
Neil 39f0779da7 Improve README feature showcase
Add a responsive GIF-first feature showcase to README files and update translations.
2026-05-13 15:18:55 -07:00
Jinjing c8d97f3b98 fix: include gitignored files in quick open (#1762) 2026-05-13 14:29:30 -07:00
JinjingandOrca 6782823a90 docs: add agent statuses section to READMEs
Co-authored-by: Orca <help@stably.ai>
2026-05-12 01:18:27 -07:00
JinjingandOrca 6616aa1577 chore: remove local-only design doc from repo (#1689)
docs/manual-repo-reorder.md is a planning doc that should not have
been checked in; .gitignore now broadly excludes docs/*.md.

Co-authored-by: Orca <help@stably.ai>
2026-05-10 23:18:30 -07:00
JinjingandOrca 648f207281 feat(checks-panel): auto-refresh on entering Checks tab (#1688)
Force a freshness check each time the user enters the Checks tab
(open sidebar, switch to Checks tab, or switch active worktree/branch)
so stale PR metadata, cached-null "no PR" results, stale checks, and
stale comments are surfaced immediately rather than waiting for the
cache TTL.

- Extracts entry-refresh logic into `checks-entry-refresh.ts` with a
  30 s grace window to suppress rapid show/hide duplicate fetches.
- Adds a `shouldEntryRefresh` effect in `ChecksPanel` keyed by
  `activeWorktreeId::repo.path::branch`; resets on panel hide so
  close-and-reopen re-evaluates freshness.
- Fixes a stale-closure bug in `handleRefresh`: `fetchPRChecks` is now
  called directly with the freshly resolved `headSha` after PR refresh
  instead of reusing the pre-refresh closure's captured sha.
- Adds 11 unit tests in `checks-entry-refresh.test.ts`.
- Design doc: `docs/refresh-on-checks-tab.md`.

Co-authored-by: Orca <help@stably.ai>
2026-05-10 23:16:41 -07:00
JinjingandOrca cbf99a1c98 feat(sidebar): allow manual drag-and-drop reordering of repos (#1686)
* feat(sidebar): allow manual drag-and-drop reordering of repos

Users can now drag repo headers in the sidebar to reorder them. The
custom order is persisted to disk and survives restarts. Includes
design doc at docs/manual-repo-reorder.md.

Co-authored-by: Orca <help@stably.ai>

* fix: scope post-drag click swallow to dragged repo header

Avoid silently eating unrelated clicks if one races between pointerup and
the failsafe teardown.

Co-authored-by: Orca <help@stably.ai>

---------

Co-authored-by: Orca <help@stably.ai>
2026-05-10 23:07:28 -07:00
JinjingandOrca 908bc18234 feat(sidebar-filter): replace dropdown with searchable popover for repo filtering (#1684)
Replaces the DropdownMenu-based repo filter with a Command/Popover combo that
supports live search, All/None bulk actions, and a Clear all footer. Scales
to large repo sets without scroll friction. Design doc added at
docs/sidebar-filter-redesign.md.

Co-authored-by: Orca <help@stably.ai>
2026-05-10 21:47:15 -07:00
JinjingandOrca b501a6faa0 fix(github-drawer): eliminate reopen flash via useSyncExternalStore (#1680)
Replace the setState-driven data flow with useSyncExternalStore so the
drawer reads cached work-item details synchronously on first render.
Warm reopens now paint the cached content immediately with zero blank
flash. Adds a pub/sub layer (subscribeWorkItemDetailsCache /
notifyWorkItemDetailsCache) to all cache-write paths so React is
notified on every touch or invalidation. Includes design doc at
docs/gh-work-item-drawer-cache-flash.md.

Co-authored-by: Orca <help@stably.ai>
2026-05-10 19:53:05 -07:00
JinjingandOrca ace7db218d perf(github-drawer): cache work-item details + collapse issue fetch (#1655)
Reopening a GitHub issue/PR drawer paid full IPC + `gh` startup latency on
every open. Two changes here:

1. Module-level SWR cache in GitHubItemDialog.tsx keyed by
   (repoPath, issueSourcePreference, type, number). Reopening within 30s
   paints cached data instantly; older entries paint stale-then-refresh.
   Concurrent opens dedupe on a shared in-flight promise. Mutation
   handlers invalidate by (repo, type, number); a cache-generation
   counter prevents in-flight refetches from resurrecting stale data
   after a mid-flight invalidation.

2. Collapsed GraphQL query for issue details replaces 3 serial `gh`
   subprocesses (REST issue + REST comments + GraphQL participants) with
   one round-trip. Falls back to the legacy fan-out on any GraphQL error
   so historical contract is preserved.

Cross-window invalidation rides a new `gh:workItemMutated` IPC broadcast
that skips the originating sender (the source already updated its cache
optimistically — re-broadcasting would race the optimistic write).
`addIssueComment` now takes a `type` so the broadcast scopes correctly
when a PR shares its number with an issue.

Co-authored-by: Orca <help@stably.ai>
2026-05-09 23:46:30 -07:00
Neil 4e8be92c84 Revert "fix(skills): remove broken doc references in orca-cli SKILL.md" (#1638) 2026-05-09 18:03:59 -07:00
f22d046160 fix(skills): remove broken doc references in orca-cli SKILL.md (#973)
* fix(skills): remove broken doc references in orca-cli SKILL.md

Three files listed under ## References do not exist in the repository:
docs/orca-cli-focused-v1-status.md, docs/orca-cli-v1-spec.md, and
docs/orca-runtime-layer-design.md. Agents following the skill would hit
dead links when trying to resolve ambiguous CLI behavior. Replace the
stale list with a general pointer to the docs/ directory.

Co-Authored-By: Claude Code <noreply@anthropic.com>

* docs: remove stale Orca CLI doc index

---------

Co-authored-by: claude[bot] <claude[bot]@users.noreply.github.com>
Co-authored-by: Claude Code <noreply@anthropic.com>
Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
2026-05-09 17:58:49 -07:00
NeilandOrca 5eb5043344 Move STYLEGUIDE.md into docs/ (#1625)
Co-authored-by: Orca <help@stably.ai>
2026-05-09 01:08:35 -07:00