Commit Graph
11496 Commits
Author SHA1 Message Date
bbc5951958 Reduce idle remote runtime workspace work (#5895)
* Fix idle remote runtime session work

* fix: stamp remote/SSH worktrees with their repo execution host

Remote-runtime and SSH worktrees are fetched/created/reparented through the
owning host, which reports them from its own perspective (hostId defaults to
"local"). After the per-worktree hostId override in #2, that bogus "local"
overrode the repo's runtime owner, so terminals/sessions for a remote worktree
resolved to the local machine instead of the remote (clicking an omarchy-office
worktree opened a shell on the local omarchy-thinkpad).

Re-stamp every runtime worktree payload with the repo's execution host via a
shared withRepoHostId helper, applied at all worktreesByRepo ingress points:
toVisibleWorktrees (fetch), createWorktree, and applyWorktreeLineageUpdate.
Local-owned repos are left untouched, so an explicit local worktree still
overrides a runtime repo owner. Mirrors how repos already get repoWithFetchedOwner.

* fix: auto-discover remote runtime projects on connect

PR #2 gated the global session-tab sync to web clients only, removing the
desktop path that eagerly populated remote projects. With no on-connect repo
fetch left, remote projects only appeared after the user opened the
Add-Project dropdown (which calls fetchRuntimeEnvironmentRepos directly).

Seed an initial repo/worktree/lineage refresh for every runtime environment
that is already connected when useIpcEvents mounts, and for each one that
becomes connected afterward. Reuses the debounced/throttled refresh scheduler,
and works regardless of whether the remote server emits client events.

* fix: tighten idle runtime refresh behavior

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

---------

Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Orca <help@stably.ai>
2026-06-22 13:44:25 -07:00
Brennan Benson 3cc610bcc3 Keep closed tab agents from reappearing (#6095) 2026-06-22 13:36:05 -07:00
28824cda78 Don't show local Windows shells for serve-runtime worktrees (#5947)
* Don't show local Windows shells for serve-runtime worktrees

The Windows shell menu (PowerShell/CMD/Git Bash) was offered for a
serve/remote-runtime worktree whose host is not Windows (e.g. a Linux
orca serve), where those local shell choices are meaningless and the
plain New Terminal already opens the runtime's default shell. AND a new
runtimeHostIsNonWindows exclusion into the existing shouldShowWindowsShellMenu
gate, keyed on the probed runtime host platform so a LOCAL Windows-WSL
project runtime (hostPlatform === win32) keeps its shell menu. Adds
regression tests.

Rebased onto current main (was 75 commits stale); net delta unchanged.

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

* Hide runtime Windows shells until host is known

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-22 13:35:32 -07:00
65e2bd0557 Fix floating workspace terminal selector_not_found on a remote runtime (#5946)
* Fix floating workspace terminal selector_not_found on a remote runtime

resolveWorktreeSelector threw selector_not_found for the floating-terminal
sentinel id (global-floating-terminal) because it is a repo-less synthetic
session with no entry in the worktree catalog. A remote client paired to this
serve sends that sentinel, so the normal id: lookup failed and the floating
pane rendered black. Resolve the sentinel (bare and id:-prefixed) to a virtual
ResolvedWorktree rooted at the serve user's home so the PTY spawns in a real
existing dir; unknown id selectors still throw selector_not_found. Adds two
regression tests.

Rebased onto current main (was 75 commits stale); net delta unchanged.

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

* Scope floating terminal selector to terminal launches

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-22 13:33:37 -07:00
JinHyeok Jeong e253d46e72 Harden mobile session tab sync
Harden mobile session-tab snapshot reconciliation and terminal creation. Rejects stale mobile snapshots, tombstones locally closed tabs until the publisher catches up, rolls back half-created terminal tabs when their surface never appears, and scopes terminal-create idempotency by worktree.
2026-06-22 13:31:10 -07:00
423c2befe1 fix(mobile): keep iOS terminal inputs on the default keyboard (#5876)
* fix(mobile): keep iOS terminal inputs on the default keyboard

iOS treated keyboardType="ascii-capable" as an ASCII-only input surface,
which hides non-Latin keyboards (Zhuyin, Japanese, Korean) from the iOS
keyboard switcher, so terminal users could not switch away from English.

Use the system default keyboard for terminal inputs on every platform so
IMEs stay selectable, while keeping autoCorrect/spellCheck off so commands,
flags, and paths are not rewritten by the OS keyboard. The keyboard-type
helpers now return a single 'default' value; their dead per-platform
branching was removed.

Fixes #5525.

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

* fix(mobile): tighten terminal keyboard comment

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-22 13:24:43 -07:00
Jinwoo HongandOrca 338540bf73 fix: refit after single terminal restore (#6089)
Co-authored-by: Orca <help@stably.ai>
2026-06-22 12:29:18 -07:00
Jinjing 36f8056446 Resolve and clear push targets for linked hosted reviews (#6092)
* Resolve push targets for linked hosted reviews

Automatically resolve and persist push targets for linked GitHub PRs
and GitLab MRs to align source control actions with the review branch.

- Add `ensureHostedReviewPushTarget` to hydrate missing push targets
- Implement GitLab MR push target resolution alongside GitHub PRs
- Block actions from fallback to unrelated upstreams while resolving
- Prevent duplicate concurrent API lookups with in-flight tracking

* Clear stale review push targets when unlinking or replacing reviews

- Ensure unlinking a hosted review or replacing it with another provider
  properly clears the previously associated push target, preventing pushes
  from being steered to outdated review heads.
- Encode explicit push target clears as null over JSON-RPC to bypass the
  automatic omission of undefined properties during transit, then map them
  back to undefined in the main runtime database.
- Add stricter validation to ensure pull request and merge request IDs are
  positive integers, ignoring invalid or dummy numbers like zero.
2026-06-22 11:15:09 -07:00
Jinwoo HongandOrca 7b8adaf5f9 Improve Android mobile release dispatch (#6087)
Co-authored-by: Orca <help@stably.ai>
mobile-android-v0.0.15
2026-06-22 10:51:31 -07:00
Jinwoo Hong c6ff9751fa Hide Codex worker sessions from history (#6062) 2026-06-22 05:22:06 -04:00
github-actions[bot] b1fccada6f Update README downloads badge 2026-06-22 08:29:54 +00:00
Jinwoo HongandOrca a99be09ada Remove mobile settings enable toggle (#6070)
Co-authored-by: Orca <help@stably.ai>
2026-06-22 01:19:23 -07:00
Neil 531bcc9a0e build: publish linux arm64 release artifacts (#4755) 2026-06-22 01:07:16 -07:00
Jinwoo HongandOrca 24000561b4 Classify Claude CLI usage shell failures (#6065)
Co-authored-by: Orca <help@stably.ai>
2026-06-22 00:58:32 -07:00
Jinjing b7a2488b8a Prevent truncation of long workspace and branch names in sidebar (#6058)
Long branch names and workspace titles were getting truncated, hiding
important identity context from developers.

* Add a dynamic `TruncatedSidebarLabel` component that measures text
  overflow and renders a tooltip only when the text is actually truncated.
* Use the new label for branch names in `WorktreeCard`, disabling its
  nested tooltip when parent hover details are active to prevent conflict.
* Update `WorktreeCardDetailsHover` to use `break-words` instead of
  truncating, ensuring full branch and workspace identities wrap and remain
  fully readable in the details panel.
2026-06-22 00:44:06 -07:00
Jinjing 8503110761 Improve mobile emulator start script (#6063)
* Enhance mobile emulator script with --port option and robust IP lookup

Introduce support for configuring the Metro bundler port via --port, and
allow overriding the CLI command name using the ORCA_CLI environment variable.

Additionally, improve LAN IP detection and verification so that Metro URLs
are correctly resolved and tested for reachability. Finally, fix the
worktree argument passed during the emulator attach step.

* Improve mobile emulator script shutdown
2026-06-22 00:41:50 -07:00
Jinjing e2b87dd864 Fix hold-to-talk dictation release matching on keyup (#6056)
Track the specific key and modifier identities from the initial keydown
to construct a robust release matcher. This ensures hold dictation stops
reliably on keyup, even if modifier state flags have already dropped
or if keys are released in a different order.
2026-06-22 00:31:51 -07:00
JinjingandOrca bed2c00df8 fix(i18n): translate new worktree branch deletion messages for v1.4.91 (#6061)
Co-authored-by: Orca <help@stably.ai>
2026-06-22 00:31:29 -07:00
Lesley Murfin a24c91de0d fix(terminal): don't apply native-Windows ConPTY cursor stripping to remote serve PTYs
Closes #6008
2026-06-22 00:00:44 -07:00
Jinjing c139c704af Add visible PR comment queue action (#6057) 2026-06-21 23:59:29 -07:00
Jinjing bbfaee424b Rank Settings search results by relevance (#6050)
* Rank settings search results by relevance

* Keep Settings search content matching ranked entries

* rm design doc
2026-06-21 23:54:06 -07:00
Jinjing a459100d87 Introduce MobileWorkspaceNameInput with delayed auto-focus (#5968)
- Delays input focus by 220ms to ensure animating bottom drawers settle before the soft keyboard is requested, improving focus reliability on mobile.
- Replaces standard TextInputs with this component in tasks workspace creation and the NewWorktreeModal.
2026-06-21 23:51:00 -07:00
c6d11efbf2 Make PR comments sidebar easier to triage and read (#5996)
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Orca <help@stably.ai>
Co-authored-by: brennanb2025 <brennankbenson@gmail.com>
2026-06-21 23:49:43 -07:00
Jinwoo Hong a2e0bbc5f6 Fix early PTY startup output races (#6015) 2026-06-22 02:48:45 -04:00
Jinwoo Hong 52f45b3559 Handle literal Codex hook trust keys (#5872) 2026-06-21 23:33:57 -07:00
bfb778570a feat(tabs): redesign tab splits and terminal pane discoverability (#5927)
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Orca <help@stably.ai>
Co-authored-by: brennanb2025 <brennankbenson@gmail.com>
2026-06-21 23:09:01 -07:00
github-actions[bot] c0f1d386c7 release: v1.4.91-rc.0 v1.4.91-rc.0 2026-06-22 05:58:59 +00:00
Jinjing 0aedaf2d69 Fix agent hooks CLI runtime client test
Exercise the agent hooks CLI test through main() with a mocked RuntimeClient class so typecheck no longer relies on a partial object cast.
2026-06-21 22:51:44 -07:00
Brennan BensonandOrca 88da1808f7 Prevent stale sleeping agents from resuming (#6018)
Co-authored-by: Orca <help@stably.ai>
2026-06-21 22:39:09 -07:00
Jinjing fc254deef5 Default new worktree card style on for fresh profiles (#6047)
Enable `experimentalNewWorktreeCardStyle` by default on new profiles where
onboarding is open, or when creating a brand-new config file.

- Avoids visual disruption for existing users who already completed
  onboarding by keeping the old style active for them.
- Preserves explicit user opt-outs during migrations and CLI updates.
- Ensures the offline CLI handler mirrors this logic when creating the
  initial configuration file before the desktop client loads.
2026-06-21 22:35:48 -07:00
OrcaWinandNeil c1e071870b Dispose worktree change refresh queues (#6040)
Co-authored-by: Neil <neil@stably.ai>
2026-06-21 21:58:15 -07:00
Maplumeandbrennanb2025 2e03b14cc3 fix(i18n): correct Chinese MT errors and translate Settings panel strings (#5915)
Co-authored-by: brennanb2025 <brennankbenson@gmail.com>
2026-06-21 21:23:36 -07:00
Brennan BensonandOrca 6c93d311cf Keep workspace board above the status bar (#6035)
Co-authored-by: Orca <help@stably.ai>
2026-06-21 21:22:22 -07:00
Jinwoo Hong a8feafe92a Fix mobile file tab close sync
Close mobile session file tabs through the underlying editor file so desktop stops republishing closed docs/files.
2026-06-21 19:41:48 -07:00
Jinwoo Hong d9b2d89406 Fix Windows NeoVim open-in launcher (#6026) 2026-06-21 21:57:33 -04:00
Brennan BensonandOrca 36bdd06aa8 Prevent duplicate startup command echoes (#6023)
Co-authored-by: Orca <help@stably.ai>
2026-06-21 18:51:44 -07:00
Brennan BensonandOrca 8228155e4d Improve preserved branch cleanup after squash merges (#6014)
Co-authored-by: Orca <help@stably.ai>
2026-06-21 18:48:59 -07:00
OrcaWinandNeil 2ed4346c2d Coalesce renderer worktree change refreshes (#6020)
Co-authored-by: Neil <neil@stably.ai>
2026-06-21 18:41:12 -07:00
Brennan BensonandOrca 1b5c4738d2 Prevent duplicate agent resume tabs after wake (#5882)
Co-authored-by: Orca <help@stably.ai>
2026-06-21 18:38:41 -07:00
Brennan BensonandOrca 8c2a34c39d Align folder workspace sidebar indentation (#6019)
Co-authored-by: Orca <help@stably.ai>
2026-06-21 18:34:48 -07:00
github-actions[bot] 9534c75534 release: v1.4.90 v1.4.90 2026-06-22 00:30:02 +00:00
Jinwoo Hong 551b370085 Fix WSL agent session history (#6010) 2026-06-21 17:23:42 -07:00
Trevin Chowandbrennanb2025 4afcc24819 Tighten sidebar card vertical padding for denser layout (#4762)
Reduce WorktreeCard top padding 6px→5px and bottom 8px→6px so more
cards fit on screen. Uses Tailwind v4 dynamic spacing (pt-1.25).

Co-authored-by: brennanb2025 <brennankbenson@gmail.com>
2026-06-21 17:03:09 -07:00
Brennan BensonandOrca fe8fe16c83 Preserve agent settings when sleeping sessions resume (#5916)
Co-authored-by: Orca <help@stably.ai>
2026-06-21 16:44:58 -07:00
Brennan BensonandOrca a856c7d6b6 Rename Orca Linear agent skill (#5855)
Co-authored-by: Orca <help@stably.ai>
2026-06-21 16:16:37 -07:00
Jinwoo HongandOrca 674e1ccee9 Provide TestFlight changelog for external sharing (#6006)
Co-authored-by: Orca <help@stably.ai>
2026-06-21 16:12:08 -07:00
Brennan BensonandOrca d517bb7250 Restore agent history after worktree renames (#6000)
Co-authored-by: Orca <help@stably.ai>
2026-06-21 15:48:33 -07:00
Jinwoo HongandOrca f524fdf8bb Fix mobile iOS Fastlane paths (#6004)
Co-authored-by: Orca <help@stably.ai>
2026-06-21 15:36:10 -07:00
github-actions[bot] 423ccaff7b release: v1.4.90-rc.3 v1.4.90-rc.3 2026-06-21 22:19:17 +00:00
Jinwoo HongandOrca 32e6ab7655 Fix mobile workspace list parity (#6001)
Co-authored-by: Orca <help@stably.ai>
2026-06-21 15:11:55 -07:00