Commit Graph
2810 Commits
Author SHA1 Message Date
Jinwoo HongandOrca 6df52607fc Add live terminal input mode on mobile (#2982)
Co-authored-by: Orca <help@stably.ai>
2026-05-28 13:41:37 -07:00
Trevin Chow f3b452fff5 Clarify orchestration reset scope flags
Clarify the CLI reset usage string and add focused handler coverage for reset flag mapping.
2026-05-28 16:40:06 -04:00
Jinjing 124dccf37c Update mobile APK release link (#3007) 2026-05-28 13:38:57 -07:00
Brennan BensonandOrca a68f0d20f7 Track nested repo import telemetry (#3006)
Co-authored-by: Orca <help@stably.ai>
2026-05-28 13:38:46 -07:00
github-actions[bot] 83b97d52a1 release: v1.4.34 v1.4.34 2026-05-28 20:23:32 +00:00
Neil 99dca7e062 Fix unread badge for background agent completions
Mark background agent-complete notifications as workspace unread so the sidebar bell and Dock badge match the system notification.
2026-05-28 13:22:45 -07:00
33650832e4 fix: prevent relay fs.rename from clobbering an existing destination (#2926) (#2937)
* fix: prevent relay fs.rename from clobbering an existing destination

The remote file-explorer rename path (provider.rename -> relay
fs.rename) called fs.rename unconditionally, silently overwriting any
file/folder already at the destination. The local rename already
guards via assertFileExplorerRenameDestinationAvailable; apply the
same guard on the relay to restore local/remote parity (case-only
renames on case-insensitive filesystems still allowed).

Moved the collision helper from src/main to src/shared so both the
main process and the remotely-deployed relay share one implementation.

Closes #2926

* review: make SSH safe rename explicit

- keep relay fs.rename raw and add fs.renameNoClobber for user-facing renames
- route SSH file-explorer rename paths through renameNoClobber
- add relay/provider/runtime regression coverage and stale-relay fail-closed handling
- verified live SSH rename behavior on openclaw 2

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 16:14:57 -04:00
Jinwoo HongandOrca b2611814e1 Fix Claude screenshot paste after interrupt (#2950)
Co-authored-by: Orca <help@stably.ai>
2026-05-28 13:12:42 -07:00
Jinwoo HongandOrca 248093d4fa fix: stabilize floating workspace trigger position (#3003)
Co-authored-by: Orca <help@stably.ai>
2026-05-28 15:57:47 -04:00
Jinwoo HongandOrca 22cf7b084c Speed up Quick Open ranking (#2984)
Co-authored-by: Orca <help@stably.ai>
2026-05-28 15:49:44 -04:00
Jinwoo Hong 864dcb2330 Update mobile 0.0.10 release links
Point Android mobile download links at the published mobile-v0.0.10 release.
2026-05-28 14:36:40 -04:00
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
Jinjing cf2303d471 fix: address review findings (#2999) 2026-05-28 11:00:33 -07:00
github-actions[bot] 0c5ed1e644 release: v1.4.33 mobile-v0.0.10 v1.4.33 2026-05-28 09:01:02 +00:00
Neil 5d2b801caa Fix sidebar reveal under sticky headers (#2988) 2026-05-28 01:57:59 -07:00
github-actions[bot] 9ad94ce783 release: v1.4.33-rc.2 v1.4.33-rc.2 2026-05-28 08:27:29 +00:00
Neil aba3ee6e0a fix: reset agent terminal cursor on idle 2026-05-28 01:26:27 -07:00
Jinjing b1d87f310d Revert "Fix sidebar scroll restore below sticky headers" (#2985) 2026-05-28 01:22:00 -07:00
Jinwoo HongandOrca 8f172f538c Fix clone abort cleanup ownership (#2981)
Co-authored-by: Orca <help@stably.ai>
2026-05-28 01:17:05 -07:00
Jinwoo HongandOrca 2cbefdca12 Widen SSH status popover (#2980)
Co-authored-by: Orca <help@stably.ai>
2026-05-28 00:56:49 -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
Jinjing c29b0373bf Open attached workspace for GitHub PRs (#2979)
- Detect existing non-archived workspaces linked to GitHub PRs and open them instead of starting duplicates.
- Show the attached workspace label in PR lists and detail pages, with a menu action to start a new workspace when needed.
2026-05-28 00:42:21 -07:00
4512da4256 fix: reject file writes with missing content (#2925) (#2936)
* fix: reject file writes with missing content

files.write / files.writeBase64 coerced a missing or non-string
`content` to '' and wrote it, silently truncating the target file.
Require a real string instead; an explicit '' (empty file) is still
allowed. Applies to writeBase64Chunk via its base schema.

Closes #2925

* review: add files.writeBase64Chunk missing-content test

Code review noted the chunk variant's missing-content rejection was only
covered transitively via schema inheritance. Add an explicit test.

* review: expand file write content validation tests

- cover null and non-string write content for text, base64, and chunk writes
- keep explicit empty base64 writes valid

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:38:52 -04:00
github-actions[bot] 5f2e0584ac release: v1.4.33-rc.1 v1.4.33-rc.1 2026-05-28 07:35:51 +00:00
Jinjing 0c69a713a2 Fix sidebar scroll restore below sticky headers (#2976)
* Fix sidebar scroll restore below sticky headers

* Split virtualized scroll anchor state
2026-05-28 00:25:19 -07:00
Jinjing d963a03051 Show favicons on browser tabs (#2977)
* Show favicons on browser tabs

Reference design: docs/browser-tab-favicons.md

* rm design doc

* Keep browser tab favicons visible
2026-05-28 00:07:51 -07:00
Neil e53300a4be ci: upgrade GitHub Actions to Node 24 (#2978) 2026-05-28 00:07:04 -07:00
github-actions[bot] 24574e02b1 release: v1.4.33-rc.0 v1.4.33-rc.0 2026-05-28 06:42:27 +00:00
Neil b3a1535f6d Fix terminal side-effect drain stalls (#2975) 2026-05-27 23:41:41 -07:00
Jinwoo Hong 1371402bc6 Preserve live PTYs during daemon resolver refresh (#2974) 2026-05-27 23:40:34 -07:00
Jinwoo HongandOrca 0ce5a525fd Fix terminal file links with tilde and spaces (#2971)
Co-authored-by: Orca <help@stably.ai>
2026-05-27 22:32:07 -07:00
github-actions[bot] 21ac0f2b94 release: v1.4.32 v1.4.32 2026-05-28 05:13:21 +00:00
Neil 286a92ff23 Add hidden admin restart action (#2970) 2026-05-27 22:12:10 -07:00
Jinwoo HongandOrca ddd08be1e6 Handle stale Codex hook trust indices (#2968)
Co-authored-by: Orca <help@stably.ai>
2026-05-27 21:16:04 -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 d917240499 Guard untracked discard against symlink escapes (#2947)
Co-authored-by: Orca <help@stably.ai>
2026-05-27 19:48:27 -07:00
github-actions[bot] 7208bb6656 release: v1.4.31 v1.4.31 2026-05-28 01:56:01 +00:00
Neil f276b51294 Fix inactive hook completions with empty terminal layouts (#2962)
Treat empty terminal layout snapshots like temporarily missing layout metadata for agent hook routing, and let inactive hook completion notifications fall back to tab-level PTY liveness in that same state.

Verified locally with focused format, lint, unit tests, and droid notification E2E.
2026-05-27 18:54:45 -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
github-actions[bot] 497e61b58e release: v1.4.31 2026-05-28 01:36:28 +00:00
Neil 32da1f233a test: stabilize droid notification hook e2e (#2961)
Use the main hook status snapshot as the synthetic hook setup precondition and give the inactive-worktree notification assertions a CI-sized wait.
2026-05-27 18:34:33 -07:00
github-actions[bot] 7c4f4a9a98 release: v1.4.31 2026-05-28 01:14:27 +00:00
Neil 77f5b2ad9d Preserve Electron framework symlinks (#2958)
Preserve Electron framework symlinks
2026-05-27 18:13:25 -07:00
github-actions[bot] 0a069b15d6 release: v1.4.31 2026-05-28 01:04:58 +00:00
Neil a76b7b764c Extract Electron package with host unzip (#2957)
Extract Electron package with host unzip
2026-05-27 18:03:55 -07:00
github-actions[bot] 664f14cff9 release: v1.4.31 2026-05-28 00:55:58 +00:00
Neil 82b6ccb1a9 Await Electron package installer (#2956)
Await Electron package installer
2026-05-27 17:54:41 -07:00
github-actions[bot] d387f96116 release: v1.4.31 2026-05-28 00:43:31 +00:00
Neil 4df9d32da3 Verify Electron archive before package install
Extract Electron downloads out-of-tree and verify the expected executable before replacing node_modules/electron/dist.
2026-05-27 17:41:18 -07:00
Jinwoo HongandOrca 5d9e4a2811 Fix project settings search for repo matches (#2944)
Co-authored-by: Orca <help@stably.ai>
2026-05-27 17:33:30 -07:00