Commit Graph
5471 Commits
Author SHA1 Message Date
Jinwoo HongandOrca 4904ffda9a Fix Remote Host downloads and agent status parity (#6436)
* Fix remote host downloads and agent status parity

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

* Address remote download review comments

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

* Avoid inefficient SSH chunk fallback

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

---------

Co-authored-by: Orca <help@stably.ai>
2026-06-26 14:28:16 -07:00
Brennan Benson d5b1ca7fcd Keep restored terminal panes typeable after sleep (#6447) 2026-06-26 14:12:32 -07:00
Jinwoo Hong 59def7474a Revert Windows terminal clear repaint fix
Manual Windows testing still reproduces displaced input after Ctrl+K.
2026-06-26 14:05:09 -07:00
Jinwoo Hong daab519c5c Fix Windows terminal clear repaint (#6382) 2026-06-26 16:59:00 -04:00
Brennan BensonandNeil d188e7d2f6 Recover Windows worktree deletes from long paths (#6433)
Co-authored-by: Neil <neil@stably.ai>
2026-06-26 13:28:10 -07:00
Brennan BensonandOrca 4a98b11e77 Import linked worktrees under one project (#6441)
Co-authored-by: Orca <help@stably.ai>
2026-06-26 13:26:58 -07:00
Brennan Benson 996ab4a224 Preserve terminal output after hidden recovery fallback (#6435) 2026-06-26 12:39:28 -07:00
Jinwoo HongandOrca a3ce2692dd Disambiguate sidebar project setup groups (#6430)
Co-authored-by: Orca <help@stably.ai>
2026-06-26 12:24:27 -07:00
Neil 0f26a1bb5e Fix p10k wizard blocking terminal startup 2026-06-26 12:22:42 -07:00
Brennan BensonandOrca 55c0c74951 Fix mobile file previews (#6315)
Co-authored-by: Orca <help@stably.ai>
2026-06-26 12:10:58 -07:00
Brennan Benson af52e418ea Keep sleeping agent panes resumable in place (#6411) 2026-06-26 12:10:08 -07:00
Brennan BensonandNeil 1293ed0f78 Reduce push target upstream polling churn (#6413)
* Reduce push target upstream polling churn

* Fix push target upstream cache recovery

---------

Co-authored-by: Neil <neil@stably.ai>
2026-06-26 11:45:12 -07:00
github-actions[bot] 14a742eeed release: v1.4.102-rc.0 v1.4.102-rc.0 2026-06-26 10:48:51 +00:00
Jinjing 479cbee98b Avoid IME punctuation listeners off macOS (#6421) 2026-06-26 03:46:48 -07:00
lvfenandJinjing 3cd7193446 Fix macOS Chinese IME full-width punctuation and window-switch input (#6417)
* Fix macOS Chinese IME full-width punctuation and window-switch input

Two macOS IME regressions in the terminal:

- Full-width punctuation (,。?!) was sent as half-width ASCII. With
  kitty keyboard on, xterm encodes+sends the ASCII symbol on keydown and
  preventDefaults it, dropping the IME's committed glyph from the input
  event. Bypass those punctuation keydowns/keypress/keyup so the native
  input pipeline runs, then forward the committed glyph to the PTY.

- After switching windows, the IME stayed stuck in ASCII with no way back
  to CJK. macOS+Chromium leaves a stale NSTextInputContext on the still
  focused helper textarea after reactivation (electron#32307/#34952).
  Force a blur -> next-frame refocus on window focus to rebuild it.

Both paths are macOS-scoped where relevant and covered by unit tests.

* Tighten macOS IME punctuation handling

---------

Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
2026-06-26 03:43:39 -07:00
github-actions[bot] 7f82ecdb75 Update README downloads badge 2026-06-26 10:23:33 +00:00
github-actions[bot] cdb45d1af8 release: v1.4.101 v1.4.101 2026-06-26 09:33:43 +00:00
Neil fa00464df9 Fix noisy Grok tool notifications (#6306) 2026-06-26 02:19:25 -07:00
19ab395a26 fix(browser): keep webview guests alive across worktree switches (#6408)
* fix(browser): keep webview guests alive across worktree switches

Electron <webview> guests are destroyed when their DOM parent is removed.
When switching worktrees, BrowserPane chrome unmounts and previously tore
down the webview, forcing a reload on return.

Introduce persistent page viewports inside overlay slots so webviews stay
in a stable parent without keeping the full React chrome mounted. On
worktree switch, park hidden viewports instead of destroying guests;
explicit close paths still call destroyPersistentWebview.

Fixes stablyai/orca#6385

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(browser): harden persistent webview viewports

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
2026-06-26 00:55:09 -07:00
github-actions[bot] 74a012c27d release: v1.4.100 v1.4.100 2026-06-26 06:10:56 +00:00
github-actions[bot] dad24f67cd release: v1.4.98-rc.10 v1.4.98-rc.10 2026-06-26 05:44:30 +00:00
Brennan BensonandNeil b6ac7b9c92 Harden Windows hook command resolution (#6409)
* Keep spaced Windows Codex hook paths fast

* Harden Windows hook command resolution

---------

Co-authored-by: Neil <neil@stably.ai>
2026-06-25 22:43:25 -07:00
Jinjing dd0fa77882 Enhance PR auto-merge controls and switch to GraphQL mutation (#6405)
- Centralize and align auto-merge eligibility logic across web and
  mobile clients.
- Use the `enablePullRequestAutoMerge` GraphQL mutation instead of
  `gh pr merge --auto` to prevent immediate merges on clean branches.
- Fall back to `gh pr merge --auto` when a merge queue is required on
  the base branch.
- Hide the auto-merge control when only optional checks are pending.
2026-06-25 22:00:34 -07:00
github-actions[bot] ec8799562c release: v1.4.98-rc.9 v1.4.98-rc.9 2026-06-26 05:00:18 +00:00
Brennan BensonandNeil 6a23099594 Fix Windows agent hook regressions (#6407)
Co-authored-by: Neil <neil@stably.ai>
2026-06-25 21:59:19 -07:00
Jinjing 32c0b47afe Restrict AI Vault resume actions to local execution hosts (#6406)
Previously, the AI Vault only blocked resume actions for workspaces with
an active SSH connection (checking `connectionId`). This allowed resume
actions to run on runtime-owned workspaces, which are non-local but do
not use SSH.

To resolve this:
- Introduce `getAiVaultResumeWorkspaceTargetStatus` to classify targets
  based on both `connectionId` and `executionHostId`.
- Restrict AI Vault panel actions, session resume checks, and drop layers
  to local workspaces.
- Preserve the `executionHostId` on project groups during normalization to
  ensure runtime-owned groups retain their execution host status across
  persistence reloads.
2026-06-25 21:58:08 -07:00
Jinjing 1f85822b34 Prevent background worktree creation from stealing focus (#6403)
Avoid forcing the active view back to the creation panel when background
worktree preflight completes after the user has already navigated away.

- Add a `revealCreationSurface` option to `continueBackgroundWorktreeCreation` to skip switching views.
- Check both `activeView` and `activePendingCreationId` to determine if the creation UI is actually visible.
- Use this option when kicking off background creation for GitHub work items.
2026-06-25 21:45:54 -07:00
github-actions[bot] 01417f689e release: v1.4.98-rc.8 v1.4.98-rc.8 2026-06-26 03:55:14 +00:00
d0d257189c Speed up Windows Codex/Claude hooks without dropping events (#6402)
Windows runs managed hooks through a shell, and #6078 wrapped the
launcher in `powershell -EncodedCommand` to survive spaces in profile
paths. Combined with the inner PowerShell Invoke-WebRequest post, every
hook spawned two PowerShell processes (~300ms startup each), so a hook
took ~650ms+ and fired up to 6x per turn. Codex 0.140 renders that as
lingering "Running <event> hook" rows. The earlier RC worked around it
by deleting SessionStart/UserPromptSubmit/Stop, which loses lifecycle
status fidelity.

Keep all six Codex events and make them fast instead:

- Codex runs hooks as `cmd.exe /C <command>` and forwards our string
  verbatim when it has no spaces/quotes, so emit the bare .cmd path for
  cmd-safe profiles (zero shell startup) and fall back to the encoded
  PowerShell launcher only for spaced/metachar paths (#6078 robustness).
- Replace the inner PowerShell post with curl.exe (Windows 10 1803+),
  posting the same form fields as the POSIX hook and reading the raw
  payload from stdin via `--data-urlencode payload@-` so UTF-8 (e.g. CJK)
  survives without code-page translation.

Result: the common Codex case is 0 PowerShell (~70-150ms vs ~650ms);
spaced-path profiles drop to 1.

Claude runs hooks through Git Bash, so its launcher must stay
PowerShell-encoded (a bare path is what breaks it), but its inner post
moves to curl.exe too, cutting Claude from two PowerShell startups to
one.

Validated against the real Codex 0.140 binary (interactive TUI + exec):
all managed hooks fire, render briefly, and clear with no lingering
rows; the listener receives every post in 1-6ms.

Co-authored-by: Neil <neil@stably.ai>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 20:53:58 -07:00
fe53387747 Fix automation run terminal targeting (#6374)
* fix(automations): track exact run terminal targets

Record terminal pane keys and PTY ids on automation dispatches, persist them across run updates, and propagate them through runtime launch results.

Use the recorded pane and PTY for completion detection, session reuse, prompt submission, and View run navigation so split-pane tabs reopen the actual run terminal.

Keep legacy runs compatible by falling back to workspace resume when exact terminal identity is absent.

* chore: address automation targeting review cleanup

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

---------

Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Orca <help@stably.ai>
2026-06-25 20:51:34 -07:00
Jinjing fa6173e145 Improve readability of GitHub work item status and checks (#6399)
Update the pill and badge styles for GitHub PR statuses and check runs
to use muted background washes with theme-appropriate text colors. This
replaces solid high-contrast backgrounds with soft backgrounds, and
fixes low-contrast text in light mode by using darker foreground colors.
2026-06-25 20:41:15 -07:00
Jinwoo Hong 2ec2a98604 Fix Chinese IME composition in terminal chat input (#6396) 2026-06-25 23:32:41 -04:00
github-actions[bot] 412ee329f4 release: v1.4.98-rc.7 v1.4.98-rc.7 2026-06-26 02:25:38 +00:00
Brennan BensonandNeil fa3fd3ae02 Fix slow Codex hook statuses on Windows (#6398)
Co-authored-by: Neil <neil@stably.ai>
2026-06-25 19:24:04 -07:00
Brennan BensonandOrca ef477199af Keep worktree PR badges stable during refresh (#6397)
Co-authored-by: Orca <help@stably.ai>
2026-06-25 19:23:40 -07:00
github-actions[bot] 5f995df942 release: v1.4.98-rc.6 v1.4.98-rc.6 2026-06-26 02:17:14 +00:00
Jinwoo Hong ff367431ff Fix agent resume after force-exit restore (#6391) 2026-06-25 22:10:31 -04:00
Brennan BensonandOrca c0fd54c341 Show Agent activity for mobile smart sort (#6347)
Co-authored-by: Orca <help@stably.ai>
2026-06-25 19:00:35 -07:00
Brennan BensonandNeil 829f8d9618 Reduce duplicate diff loading work (#6389)
* Deduplicate in-flight diff reads

* Clear diff dedupe for ref-moving SSH operations

* Clear diff dedupe for worktree ref mutations

* Document diff dedupe mutation invalidation

---------

Co-authored-by: Neil <neil@stably.ai>
2026-06-25 18:47:26 -07:00
a12566b962 fix(onboarding): stop wrong-host Open as Folder fallback (#6393)
* fix(onboarding): stop wrong-host folder fallback (#6367)

* test(repos): isolate runtime fallback proofs

* test(repos): cover runtime status RPC failures

* test(repos): drop obsolete max-lines suppression

* Prevent runtime path probes from leaking project groups

* fix(onboarding): gate runtime folder fallback status

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

---------

Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Orca <help@stably.ai>
2026-06-25 18:42:46 -07:00
6881475532 fix(ports): stop cursor-move redraws corrupting advertised dev-server hosts (#6371)
* fix(ports): stop cursor-move redraws corrupting advertised dev-server hosts

The Live Ports panel showed `localhst:5199` (and opened a broken URL with the
missing `o`) for a dev server that printed `http://localhost:5199`.

AdvertisedUrlWatcher cleans raw PTY bytes with stripTerminalControls, which
*deletes* ANSI/cursor sequences instead of emulating them. CLIs that redraw a
line differentially step the cursor forward over characters already on screen
(`ESC[1C`) rather than reprinting them; a real terminal renders the underlying
glyph, but deleting the move splices the two text runs together and drops the
skipped cell — `http://localh` + `ESC[1C` + `st` collapses to `localhst`.
`new URL()` then accepts the corrupted, plausible-looking host verbatim, so it
gets cached, displayed, copied, and opened.

Neutralize horizontal cursor moves (forward/back `C`/`D`, absolute column `G`,
position `H`/`f`) to a space before the CSI delete pass, so the URL candidate
matcher breaks at the seam and can't fuse a corrupted hostname. Worst case we
skip that frame and fall back to the kernel bind, which is the safe default.

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

* docs(ports): document stripTerminalControls

Add a docstring to the exported helper to clear CodeRabbit's docstring
coverage warning and explain why horizontal cursor moves are neutralized.

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

* fix(ports): invalidate cursor-redrawn URL candidates

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-25 18:36:37 -07:00
Jinwoo HongandOrca d32d62a395 Fix tab switching after terminal tab reorder (#6395)
Co-authored-by: Orca <help@stably.ai>
2026-06-25 18:36:11 -07:00
github-actions[bot] ab61c1fff3 Update README downloads badge 2026-06-26 01:22:14 +00:00
github-actions[bot] a83e973e24 release: v1.4.98-rc.5 v1.4.98-rc.5 2026-06-26 00:44:38 +00:00
Jinwoo Hong 4cb25abe24 Fix WSL agent runtime selection (#6394) 2026-06-25 20:43:51 -04:00
Jinwoo HongandOrca b651b4be6d Fix tab switching after missed drag cleanup (#6392)
Co-authored-by: Orca <help@stably.ai>
2026-06-25 17:43:45 -07:00
Brennan BensonandNeil e257d79294 Prevent Codex hook trust prompts on Windows upgrades (#6388)
Co-authored-by: Neil <neil@stably.ai>
2026-06-25 17:24:09 -07:00
Brennan BensonandNeil 156134e80c Reduce duplicate worktree refresh scans (#6390)
* Reduce duplicate worktree refresh scans

* Preserve host identity during overlapping worktree refreshes

---------

Co-authored-by: Neil <neil@stably.ai>
2026-06-25 17:16:58 -07:00
Brennan BensonandNeil 0f8677d7fd Reveal automation agent logs from the sidebar (#6387)
* Cover sidebar worker log activation

* Cover sidebar worker activation edge cases

* Reveal terminal logs from sidebar agent rows

* Restore warning spy during sidebar tests

---------

Co-authored-by: Neil <neil@stably.ai>
2026-06-25 17:01:33 -07:00
gatsby74 4e45df92ed fix: forward Ctrl+Enter as kitty CSI-u
Fixes #5966.

Co-authored-by: gatsby74 <166927047+gatsby74@users.noreply.github.com>
2026-06-25 16:38:05 -07:00