Commit Graph
10162 Commits
Author SHA1 Message Date
12d78b55cd fix: explain missing build tools when SSH relay native deps fail to compile (#5607)
* fix: explain missing build tools when SSH relay native deps fail to compile

Deploying the relay to a remote host runs `npm install` for node-pty and
@parcel/watcher on first connect. node-pty ships no Linux prebuild, so that
install falls back to `node-gyp rebuild`, which needs a C/C++ toolchain. On a
host without one it dies with an opaque `not found: make` and the error the
user sees is just `... npm install ... failed (exit 1):` with nothing after it.

After a failed install on Linux, probe the remote for make/gcc/g++/python3 and,
when the toolchain is missing, throw an error that names what is missing and
gives the exact install command for the detected package manager
(apt-get/dnf/yum/pacman/apk/zypper), falling back to a short per-distro list.
The raw npm/node-gyp output is kept as the underlying error for triage.

Windows hosts are unaffected (node-pty has win32 prebuilds); the probe and the
rewritten message only run on Linux relays.

* fix: preserve SSH relay native install output

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

---------

Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Orca <help@stably.ai>
2026-06-17 11:17:55 -07:00
99b5de6e3d Add Ante as a supported CLI agent (#5193)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Orca <help@stably.ai>
Co-authored-by: brennanb2025 <brennankbenson@gmail.com>
2026-06-17 11:12:45 -07:00
Brennan BensonandOrca 5429e659d4 Show PDF export only in Markdown controls (#5548)
Co-authored-by: Orca <help@stably.ai>
2026-06-17 10:51:41 -07:00
Brennan BensonandOrca 0b3cfa7b46 Keep terminal text painted after app resume (#5565)
Co-authored-by: Orca <help@stably.ai>
2026-06-17 10:49:41 -07:00
github-actions[bot] bf5854bd45 release: v1.4.77 v1.4.77 2026-06-17 17:24:10 +00:00
Jinjing b0979e7707 Increase horizontal padding for "No checks configured" state (#5604)
Update the padding from px-3 to px-4 to align the empty state message with other list elements.
2026-06-17 10:23:07 -07:00
Jinjing 3518e13cff Ensure OMP SQLite databases are source-backed in agent overlays (#5603)
OMP creates SQLite databases like agent.db lazily under the agent PTY
directory. Proactively pre-create and link these database files (plus WAL/SHM
sidecars on Windows) to the user's persistent store so that credentials and
history are not lost in disposable overlays.

- Implement `mirrorOmpPersistentSqliteFiles` to handle linking `agent.db`
- Support both Unix symlinks and Windows hardlinks for writable state
- Extract prefill and titlebar extension source code into separate files
2026-06-17 10:21:57 -07:00
github-actions[bot] 913c587162 release: v1.4.76 v1.4.76 2026-06-17 15:54:43 +00:00
KMGeon f4f6fb6b4d fix: restore File Explorer tree scrolling (#5578) 2026-06-17 08:53:22 -07:00
github-actions[bot] 6cea158e89 Update README downloads badge 2026-06-17 13:33:06 +00:00
github-actions[bot] 0e41d644c5 release: v1.4.75 v1.4.75 2026-06-17 08:05:39 +00:00
JinjingandOrca 3aa553892f Streamline Create PR UX and format git pull policy errors (#5576)
* Show disabled Create PR button in header when branch is not ready

Ensure the source control toolbar does not look blank or shift
unexpectedly when the branch has no changes or cannot yet create
a pull request.

- Add helper to resolve disabled Create PR header actions with contextual
  titles (e.g. commit in progress, no changes, unsynced commits)
- Keep the header button visible as a disabled anchor instead of hiding it
- Prevent the Create PR button from stretching across the toolbar when
  visible without a hosted review

* Refactor Create PR flow with inline-composer toggle and direct-create pa

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

* Streamline Create PR UX and format git pull policy errors

Simplify the source control review-creation flow by removing the
collapsible composer state and corresponding toolbar buttons, always
rendering the PR composer directly when available.

Additionally, add a specialized notice component for divergent branch
errors that parses git pull policy issues and provides quick-copy
buttons for configuring merge, rebase, or fast-forward behaviors.

* Add loading state to Create PR and tooltip to disabled AI button

- Display a disabled loading state for the Create PR action while review eligibility is fetching to avoid layout flashing.
- Use aria-disabled and Tooltip for the AI commit message generator button to ensure tooltips are viewable when disabled.

---------

Co-authored-by: Orca <help@stably.ai>
2026-06-17 01:03:43 -07:00
Jinjing b1563c8dae Force file content reload when opening paths from terminal links (#5575)
Introduce a `fileContentReloadNonce` on open files and a new
`forceContentReload` option for `openFile`. When terminal links or file-open
actions re-open an existing clean tab, increment the nonce to trigger a
refetch of the file content. This provides a manual recovery path for when
remote file watchers miss external writes.
2026-06-17 01:03:28 -07:00
Neil 38e289602d Fix workspace sidebar grouping toggle (#5573) 2026-06-17 00:51:07 -07:00
Jinwoo HongandOrca 89acb8d47c Fix duplicate agent completion notifications after worktree switch (#5572)
Co-authored-by: Orca <help@stably.ai>
2026-06-16 23:47:28 -07:00
Brennan BensonandOrca 00df8288dc Simplify support diagnostics settings (#5554)
Co-authored-by: Orca <help@stably.ai>
2026-06-16 23:11:27 -07:00
Brennan Benson 928c1ee106 Show restored agent sessions in pane chrome (#5568) 2026-06-16 23:09:43 -07:00
Jinwoo Hong 98120417f2 Fix browser history shortcuts for Logitech side-button remaps (#5569) 2026-06-16 22:57:39 -07:00
Jinwoo HongandOrca 88d08bae35 Back off workspace port scans after timeouts (#5570)
Co-authored-by: Orca <help@stably.ai>
2026-06-16 22:05:04 -07:00
Jinwoo HongandOrca 5dffcd1562 Fix terminal capability query replies (#5555)
Co-authored-by: Orca <help@stably.ai>
2026-06-16 20:54:17 -07:00
Jinjing 5903b4a742 fix: address pull reconciliation policy errors (#5562) 2026-06-16 20:13:46 -07:00
Jinjing dda576b8c1 No delete toast when deleting file (#5560)
* Add temporary screenshot

* fix: address review findings
2026-06-16 19:50:32 -07:00
Neil e14a1921ee Fix sidebar footer button icon sizing (#5559) 2026-06-16 19:28:11 -07:00
Jinjing 1041eadeb2 Use outline variant for merge abort buttons (#5558)
Restore the quieter abort-merge styling that was accidentally reverted
during the host-context merge repair in #5071. Abort merge and abort
rebase now match the Review conflicts outline button treatment.
pr-5559-screenshots
2026-06-16 19:10:18 -07:00
github-actions[bot] 2717c3567d release: v1.4.74-rc.0 v1.4.74-rc.0 2026-06-17 01:58:14 +00:00
JinjingandOrca 8dd5256308 Refactor Source Control header toolbar (#5553)
* Refactor SourceControl header into extracted, testable subcomponents

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

* Extract branch context stats into dedicated module with upstream status

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

* Refine source control header layout and add branch comparison i18n

* Right-align branch status stats in the context row and left-align the base ref button to optimize space usage.
* Make the expanded filter input occupy the full toolbar width, hiding PR links and overflow menus when active, to prevent squeezed input.
* Add translation keys and localizations for commits "behind" and "even with" the base branch.

---------

Co-authored-by: Orca <help@stably.ai>
2026-06-16 18:56:52 -07:00
Neil 896a2ae4de Show workspace board preview while dragging cards 2026-06-16 18:49:24 -07:00
JinjingandOrca 3f7e869f0c Keep Create PR intent pinned to original worktree (#5552)
* Make Create PR intent resilient to worktree switching

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

* Restrict PR creation sidebar actions to foreground worktrees

- Prevent switching tabs and opening the PR URL when a background
  worktree's PR creation finishes.
- Extract commit eligibility checking into a dedicated module and
  disable the commit message textarea during operations or when
  ineligible.
- Fix flakiness in the remote runtime request connection test.

* Abort Create PR if branch changes during details generation

If the branch changes within the active worktree while review details
are being generated, the Create PR flow now aborts and shows a muted
notice prompting the user to retry.

- Allows worktree navigation during PR details generation without
  treating it as an intent conflict.
- Adds localized strings for the new retry notice.
- Uses platform-independent paths in tests for cross-platform support.

---------

Co-authored-by: Orca <help@stably.ai>
2026-06-16 18:45:24 -07:00
Jinjing b6f45d0c27 Fix scrolling and layout in base ref picker dialog (#5556)
Prevent Radix Dialog's scroll lock from canceling mouse wheel events
inside the search results list by manually handling wheel events. Also,
add flex and max-height constraints to the dialog layout to support
clean scrolling behavior.
2026-06-16 18:40:03 -07:00
JinjingandOrca 770fe56ba9 Improve mobile emulator intro callout styling (#5551)
* Redesign mobile emulator callout arrow with CSS triangle and improve dar

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

* Improve styling and theme adaptability of emulator intro callout

Use theme variables (--border and --foreground) instead of hardcoded
black and white opacities to ensure borders adapt properly to different
color themes.

Additionally:
- Align the horizontal position of the callout arrow pseudo-elements.
- Update JSX classes to use token-based rounding and borders.

---------

Co-authored-by: Orca <help@stably.ai>
2026-06-16 18:32:46 -07:00
Brennan BensonandOrca fa557a0cd9 Make the GitHub star prompt clearer (#5538)
Co-authored-by: Orca <help@stably.ai>
2026-06-16 18:12:55 -07:00
Jinjing 692e0b0ab9 Push existing fork review branches without republishing (#5531)
* Enable pushing to configured push targets for existing fork reviews

* Resolve push targets using branch.pushRemote, remote.pushDefault,
  and URL-valued remotes normalized to matching named remotes.
* Support this push target resolution on both local and relay/SSH
  git handlers to prevent drift in SSH worktrees.
* Offer "Push" instead of "Publish Branch" in the Source Control UI
  when a linked review exists and a valid push target is available.
* Prevent pushing a feature branch's base branch (e.g. main) directly
  to a fork via remote.pushDefault.

* Keep fork push target when contributor branch matches base branch name

Ensure that a fork push target is not incorrectly discarded when its
branch name matches the base branch name on another remote (for example,
targeting fork/main while the base is origin/main).

Previously, the matching logic only compared the branch leaf name, which
treated different remotes as identical and disabled the push target. We
now qualify the ref comparison with the remote name to differentiate them.
2026-06-16 18:10:01 -07:00
Jinjing 72ec39bcc0 fix: preserve focused notification suppression default (#5550) 2026-06-16 18:05:39 -07:00
Brennan BensonandOrca 9885ff9760 Add crash report diagnostic log upload (#2580)
Co-authored-by: Orca <help@stably.ai>
2026-06-16 18:05:15 -07:00
Jinjing e3ffdbfa3a Clarify terminal vs worktree creation for fresh local agents (#5549)
- Document and update the CLI help, specs, and tests to explicitly guide
  users toward `orca terminal create --worktree active --command <agent>`
  to launch a fresh agent session in the current checkout.
- Update orchestration and orca-cli skills to prefer active-worktree
  terminals when dependent on uncommitted files or active branch state,
  distinguishing them from separate worktree creation.
2026-06-16 18:05:08 -07:00
Brennan BensonandOrca 7077736602 Create folder workspaces from project groups (#5474)
Co-authored-by: Orca <help@stably.ai>
2026-06-16 18:04:50 -07:00
Jinjing 62fbb51eb2 Refine terminal close confirmation (#5541)
* Refine terminal close confirmation

* Translate terminal close dialog strings
2026-06-16 17:42:48 -07:00
Jinjing 8da3f864b3 Update Android APK links to 0.0.14
Point Android APK links at the published mobile-android-v0.0.14 release.
2026-06-16 17:36:43 -07:00
Jinjing 58609c565e Keep usage provider status bar items visible using durable settings (#5546)
Instead of relying solely on transient live usage snapshots to determine
status bar visibility, incorporate durable settings configuration (e.g.,
managed accounts, OAuth enablement, or session cookies).

This keeps provider items in a pending/fetching state during initial
hydration or transient failures, preventing UI flickering and ensuring
the setup CTA does not prematurely display before settings load.
2026-06-16 17:35:28 -07:00
Jinwoo HongandOrca c334f2cc6f fix: align issue hover action order (#5545)
Co-authored-by: Orca <help@stably.ai>
2026-06-16 17:24:47 -07:00
67a95c7400 fix: pr-bug-scan validated finding from #5304 (#5342)
* fix: address pr-bug-scan validated finding from #5304

Added stream.sent=false reset in handleAuthRejection retry branch so e2ee_authenticated replay re-sends active terminal.subscribe after auth-retry reconnect.

* test: verify terminal resume after auth retry reconnect

* Fix remote runtime client timeout refresh on mobile

Avoid using Node-specific Timeout.refresh directly on platforms like
mobile where setTimeout returns a standard number/timer ID. Instead,
fallback to clearTimeout and setTimeout if .refresh is unavailable. Also
add missing path mappings to the mobile tsconfig.

---------

Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
2026-06-16 17:21:13 -07:00
Jinwoo Hong 83bee02b47 fix(mobile): add terminal link routing setting
## Summary

- add mobile Settings → Browser → Open terminal links
- route terminal HTTP(S)/OSC 8 link taps to either the streamed Orca browser or the phone browser
- keep existing file-path tap behavior intact

## Verification

- pnpm --dir mobile test
- pnpm --dir mobile lint
- pnpm --dir mobile exec tsc --noEmit
- git diff --check
2026-06-16 17:05:12 -07:00
Jinwoo HongandOrca 0ed63216c6 Filter Claude print-mode hook processes from agent monitor (#5543)
Co-authored-by: Orca <help@stably.ai>
mobile-android-v0.0.14
2026-06-16 16:55:17 -07:00
Jinwoo HongandOrca 3091b286ec fix(composer): honor pinned worktree base (#5542)
Co-authored-by: Orca <help@stably.ai>
2026-06-16 16:51:48 -07:00
21a01c7d6b Mobile: worktree-list sidebar for tablet/foldable layouts (#5505)
* Add worktree-list sidebar for mobile tablet/foldable layouts

On wide canvases (tablet/foldable, >=700pt) the per-host worktree list now
renders as a persistent left sidebar with the routed screens (terminal,
source control, review, accounts, tasks) shown in a detail pane to its
right — mirroring the desktop's sidebar + center layout. Phones keep the
existing single-pane stack navigation unchanged.

- Reuse the existing worktree-list screen as the sidebar via an `embedded`
  mode (props for hostId/action, mount-driven fetch since a sidebar is never
  the focused route, hide-sidebar control in place of the back button, and
  open-into-detail-pane navigation that replaces rather than stacks).
- The default host route renders an empty WorkspaceDetailPlaceholder on wide
  layouts (the list lives in the sidebar) and the full screen on phones, so
  exactly one instance mounts either way.
- Hide button collapses the sidebar to give the detail pane full width; an
  elevated reveal tab brings it back.
- Detail-pane screen transitions use `animation: 'none'` while the split is
  active so workspaces swap instantly instead of sliding and flashing the
  screen beneath.
- Drag the sidebar's right edge to resize (clamped 280-560pt, detail pane
  kept >=320pt, tap-transparent so list rows still work); width persists via
  AsyncStorage.

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

* Address PR review feedback (#5505)

- Clamp the restored/persisted sidebar width against the current window and
  re-clamp when the window shrinks, so a width saved on a larger device can't
  starve the detail pane below MIN_DETAIL_WIDTH. Extract a shared
  clampSidebarToWindow helper reused by load, window-resize, and drag.

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

* Polish mobile tablet sidebar

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

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Orca <help@stably.ai>
2026-06-16 16:50:38 -07:00
Jinjing c548e85f57 Persist and repair target base branch for PR and MR worktrees (#5540)
* Resolve and fetch the review target branch (compareBaseRef) during PR and MR worktree creation.
* Persist this ref on worktree metadata instead of pinning the head SHA.
* Dynamically repair existing worktrees with stale commit SHA compare bases in the Source Control UI using linked review metadata.
2026-06-16 15:51:55 -07:00
gsxdsm f9e3c3945e fix(web): keep hover-reveal action icons visible on touch devices
Fix hover-reveal action icons so touch/no-hover environments keep controls visible while hover-capable desktop behavior remains unchanged.\n\nAlso covers touch-safe swap cases where passive timestamp/sparkline content shares a slot with newly visible actions.
2026-06-16 15:46:06 -07:00
Brennan BensonandOrca 1ce1d4c291 Stabilize terminal rendering release checks (#5533)
Co-authored-by: Orca <help@stably.ai>
2026-06-16 15:45:02 -07:00
slashdevcorpse 140151d5cd Recognize shell-rooted Windows agent foregrounds (#5503)
Recognize shell-rooted Windows agent foregrounds.
2026-06-16 15:40:08 -07:00
Jinjing f6fec257eb Ignore merged pull requests found by implicit branch matches (#5524)
Merged pull requests are historical branch matches and should not be
treated as implicit review context unless the worktree has an explicit
PR link. Showing them as implicit review context leaves nothing
meaningful to unlink after the branch has been rebased or merged.
2026-06-16 15:39:57 -07:00