Commit Graph
65 Commits
Author SHA1 Message Date
Jinwoo Hong 4b904a4e4d Revert "perf: pause hidden terminal renderer output" (#4314)
This reverts commit c608e65d00.
2026-05-31 16:24:35 -04:00
Jinwoo Hong 4cc0147005 Fix orchestration mail from WSL and SSH terminals (#3918) 2026-05-31 15:13:15 -04:00
Neil 6f40c6ceed fix: release ssh mux handlers on dispose (#4212) 2026-05-31 08:29:42 -07:00
Neil 0e645692b4 fix: clean up failed ssh directory imports (#4202) 2026-05-31 08:11:17 -07:00
Neil c7c2330723 fix: close late ssh channel callbacks (#4116) 2026-05-31 04:48:28 -07:00
Neil 2cb1d6657b fix: parse quoted ssh config values 2026-05-31 02:29:24 -07:00
Jinjing 28e2ce929f Improve SSH config target handling (#3899) 2026-05-30 13:10:39 -07:00
Neil 41c26634ed Clean up SSH proxy command listeners 2026-05-30 12:33:45 -07:00
Jinwoo Hong 55a33c5b68 fix: expand backslash SSH home paths (#3861)
* fix: tighten GitHub submit shortcut handling

* fix: expand backslash ssh home paths
2026-05-30 12:32:11 -07:00
Jinwoo Hong c1a24d8447 test: make ssh sftp tests windows-safe (#3844) 2026-05-30 12:07:17 -07:00
Neil 3afebb7b4c fix: settle system ssh aborts (#3842) 2026-05-30 12:05:25 -07:00
f470168cba fix: allow dot-dot-prefixed sftp upload paths (#3706)
* fix: allow dot-dot-prefixed sftp upload paths

* test: cover sftp upload root sibling rejection

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

---------

Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Orca <help@stably.ai>
2026-05-30 12:04:29 -07:00
Neil ecb623d8d3 Clean up SSH relay exec listeners (#3843) 2026-05-30 12:02:15 -07:00
Neil 6fc8b134b8 Clean up system SSH command listeners (#3841) 2026-05-30 11:58:25 -07:00
Neil 114c7df0c0 perf: handle large ssh include files (#3838) 2026-05-30 11:54:48 -07:00
29ed4f8069 fix: cap relay startup stdout buffer (#3728)
* fix: cap relay startup stdout buffer

* fix: preserve relay startup payload after sentinel

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

---------

Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Orca <help@stably.ai>
2026-05-30 11:53:39 -07:00
Neil a89388f059 Clean up SFTP upload stream listeners (#3837) 2026-05-30 11:53:34 -07:00
ccfc1a9b97 fix: time out ssh channel opens (#3742)
* fix: time out ssh channel opens

* test: cover ssh channel-open timeout edge cases

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

---------

Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Orca <help@stably.ai>
2026-05-30 11:43:40 -07:00
Neil 8044be7cc7 fix: clean up system ssh probe listeners (#3824) 2026-05-30 11:32:49 -07:00
Neil c608e65d00 perf: pause hidden terminal renderer output
Pause hidden snapshot-capable terminal panes at the main-process renderer output boundary so background PTY traffic no longer wakes the renderer, while preserving main-owned snapshots for restore.
2026-05-30 11:24:31 -07:00
Neil 6d076e5350 fix: time out ssh config resolution (#3815) 2026-05-30 11:20:11 -07:00
Neil c99eb29bb0 chore: remove unused code 2026-05-30 11:05:58 -07:00
Neil 662ebcbbd1 perf: handle large ssh config alias lists (#3792) 2026-05-30 10:26:37 -07:00
Brennan BensonandOrca 423a6d11e3 Track agent prompt sent from agent hooks (#3033)
Co-authored-by: Orca <help@stably.ai>
2026-05-29 12:45:34 -07:00
Jinjing 41f0bc6394 test: preserve ssh mock event listeners (#3015)
* test: preserve ssh mock event listeners

* test: reuse runtime file command helper
2026-05-28 18:30:35 -07:00
Jinjing 186327af08 fix: guard ssh startup destroy errors (#3013) 2026-05-28 16:13:09 -07:00
a1a362700f fix: reject short SSH stream chunks instead of zero-filling reads (#2930) (#2948)
* fix: reject short SSH stream chunks instead of zero-filling reads

The stream reader validated chunk COUNT but not chunk byte length, so a
short chunk (e.g. a 1-byte final chunk for a 2-chunk file) passed the
count check and resolved with the pre-allocated buffer's tail left
zero-filled — silent corruption of remote file reads. Validate each
chunk's exact length, and add a last-line bytesReceived === totalSize
invariant guard before resolving.

Closes #2930

* review: harden SSH stream byte validation

- fill relay protocol chunks across short fs.read returns before emitting streamChunk
- cover short final and non-final client chunks
- add relay pump coverage for short reads before EOF
- verified lint, typecheck, targeted stream tests, relay round-trip, and Electron boot smoke

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

---------

Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Orca <help@stably.ai>
2026-05-28 03:51:36 -04: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
Neil 9d396e115c fix: remove SSH startup listeners after connect (#2882) 2026-05-26 20:24:36 -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
Neil eb579a0e54 Fix SSH sessions after host sleep 2026-05-26 14:53:16 -07:00
Neil 6b51b85519 Fix OMP agent status routing (#2815) 2026-05-25 19:32:15 -07:00
Neil d4703bd1ab Restore agent hook opt-out controls (#2778) 2026-05-25 10:37:22 -07:00
Neil 28ba9151a5 Revert "Add agent hook opt-out controls" (#2739) 2026-05-23 23:04:57 -07:00
Neil 4f81953d10 feat: add agent hook opt-out controls (#2714) 2026-05-23 21:16:49 -07:00
Jinjing ffec74c7ba Fix SSH agent and identity file auth ordering (#2681)
* fix: address review findings

* fix: address CI failures
2026-05-23 01:56:15 -07:00
Phil Denhoff 2dcaa78960 Support OpenSSH Include expansion for SSH config imports
Closes #2647
2026-05-23 00:27:20 -07:00
Jinwoo HongandOrca 77daf71386 Fix SSH PTY routing after restoring multiple workspaces (#2555)
* Fix SSH PTY id collisions across targets

* review: harden SSH PTY scoped-id routing

- dedupe SSH terminate-session cleanup by raw relay id
- normalize scoped SSH PTY ids at Store lease write boundaries
- add scoped-id regression coverage for provider, IPC, persistence, and lifecycle paths
- verify duplicate relay pty-1 restore over a live SSH relay

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

* test: expect scoped SSH relay PTY ids

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

---------

Co-authored-by: Orca <help@stably.ai>
2026-05-21 17:26:16 -04:00
Jinwoo HongandOrca dac61b84db Improve SSH relay grace period settings (#2549)
Co-authored-by: Orca <help@stably.ai>
2026-05-21 13:46:09 -07:00
Jinwoo HongandOrca 75f7510b1f fix(ssh): contain relay notification handler failures (#2463)
Co-authored-by: Orca <help@stably.ai>
2026-05-20 17:49:08 -07:00
Brennan BensonandOrca 7d71131bb4 Infer interrupted agent status from terminal input (#2263)
Co-authored-by: Orca <help@stably.ai>
2026-05-19 15:19:38 -07:00
Jinwoo HongandOrca 9c67557a0c Support system SSH transport for fdpass proxies (#2279)
Co-authored-by: Orca <help@stably.ai>
2026-05-18 16:03:34 -07:00
Jinwoo HongandOrca c3bfc796af Fix SSH relay persistence and reset controls (#2274)
Co-authored-by: Orca <help@stably.ai>
2026-05-18 18:19:22 -04:00
Neil fdc38bfc33 Fix SSH relay connect when default shell is fish (#2239) 2026-05-18 01:31:45 -07:00
Jinjing f015202a03 fix: surface remote agent status during startup (#2123) 2026-05-16 16:25:46 -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
Brennan BensonandOrca 60fdd11114 Migrate agent pane identity to stable leaf ids (#1909)
Co-authored-by: Orca <help@stably.ai>
2026-05-15 12:10:06 -07:00
Neil 2d44ee83b4 Add Space manager V2 safeguards 2026-05-14 23:30:22 -07:00
Jinwoo HongandOrca a22717bb35 Refactor runtime app architecture (#1878)
Co-authored-by: Orca <help@stably.ai>
2026-05-14 23:13:37 -07:00
Brennan BensonandOrca 2cadcbc4e1 Support agent status hooks over SSH (#1865)
Co-authored-by: Orca <help@stably.ai>
2026-05-14 16:06:23 -07:00