Commit Graph
16002 Commits
Author SHA1 Message Date
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
Neil 5d2b801caa Fix sidebar reveal under sticky headers (#2988) 2026-05-28 01:57:59 -07: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
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 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
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
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
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
Jinwoo HongandOrca 7e1cde4673 Show update check feedback immediately (#2946)
Co-authored-by: Orca <help@stably.ai>
2026-05-27 17:22:47 -07:00
Jinwoo HongandOrca f0fbe5be7f Align incoming git graph boundary lanes (#2934)
Co-authored-by: Orca <help@stably.ai>
2026-05-27 17:04:36 -07:00
Neil 83539739f8 Fix left sidebar resize hit target 2026-05-27 16:59:50 -07:00
Jinwoo HongandOrca c43de76af9 Fix terminal URL click fallback (#2942)
Co-authored-by: Orca <help@stably.ai>
2026-05-27 16:58:06 -07:00
Neil 3c5c062b27 fix: ignore onboarding portal interactions for skip confirm (#2938) 2026-05-27 16:49:07 -07:00
Brennan BensonandOrca 76ae675a01 Add nested repo group imports (#2866)
Co-authored-by: Orca <help@stably.ai>
2026-05-27 16:22:03 -07:00
Jinwoo HongandOrca 4581565e2b Fix git history graph scope (#2919)
Co-authored-by: Orca <help@stably.ai>
2026-05-27 16:15:47 -07:00
Brennan BensonandOrca b84819c2e1 Filter plugin-only Codex hooks from runtime mirror (#2921)
Co-authored-by: Orca <help@stably.ai>
2026-05-27 16:10:15 -07:00
Jinwoo HongandOrca 09f878c889 Fix macOS Option-letter floating terminal shortcut (#2920)
Co-authored-by: Orca <help@stably.ai>
2026-05-27 16:10:06 -07:00
Brennan BensonandOrca a15b13b02d Customize Source Control AI prompts (#2916)
Co-authored-by: Orca <help@stably.ai>
2026-05-27 16:03:36 -07:00
Brennan Benson fab37014fa Fix Resolve with AI icon (#2918) 2026-05-27 15:45:52 -07:00
659fe79226 feat: add source control action to abort merge (#2092)
Co-authored-by: Orca <help@stably.ai>
Co-authored-by: brennanb2025 <brennankbenson@gmail.com>
2026-05-27 14:59:23 -07:00
Trevin Chowandbrennanb2025 a65f7b4216 feat: auto-rename workspace branch from the first prompt (#2888)
Co-authored-by: brennanb2025 <brennankbenson@gmail.com>
2026-05-27 14:09:43 -07:00
Jinwoo HongandOrca 770536ef7e Auto-detect repo icons when adding projects (#2786)
Co-authored-by: Orca <help@stably.ai>
2026-05-27 13:48:40 -07:00
3c59c019fc fix(worktree): add SSH preflight check for dirty worktree before archive hooks (#2912)
Co-authored-by: Orca <help@stably.ai>
Co-authored-by: Prethish-Complyance <prethish@complyance.io>
Co-authored-by: brennanb2025 <brennankbenson@gmail.com>
2026-05-27 13:32:52 -07:00
Jinjing 8014516253 Add failed automation rerun action (#2913)
* Add rerun action for failed automations

Adds a recoverable failed automation rerun action in the run detail view, with pending-state handling and focused view-state coverage.

Design doc: docs/failed-automation-rerun-action.md

* Rebuild Electron binary before PR tests

- Ensure Node-based unit tests can import `electron` after install blocks package postinstall
- Generate Electron's required `path.txt` in the PR workflow
2026-05-27 11:28:16 -07:00
Jinwoo HongandOrca df911ba59a Fix terminal URL click fallback regression (#2914)
Co-authored-by: Orca <help@stably.ai>
2026-05-27 11:27:09 -07:00
48a1923756 fix(terminal): flatten multiline quick commands into shell list (#2903)
Multiline quick commands should behave like a shell command list, not a series of already-queued PTY lines. When a foreground command reads stdin, raw newline delivery can be consumed before the shell sees later cd/pwd lines; terminal paste avoids that but shows the whole block as pasted input before execution.

Flatten newline-separated quick commands into a semicolon-delimited command list before active-pane dispatch and new-tab startup queuing. The shell parses the list once, so later commands run after earlier foreground commands exit and directory changes remain in the active shell.

Fixes #2844

Co-authored-by: Prethish-Complyance <prethish@complyance.io>
Co-authored-by: Orca <help@stably.ai>
2026-05-27 01:06:47 -07:00
Neil c40a430596 Fix Antigravity agent status stability (#2904) 2026-05-27 00:53:10 -07:00
Brennan BensonandOrca 5c8f56d052 Fix update checks during release publishing (#2898)
Co-authored-by: Orca <help@stably.ai>
2026-05-27 00:47:01 -07:00
Trevin Chow 563d4ff64b fix(cli): allow flag values that start with -- via --flag=value (#2892) 2026-05-27 00:19:43 -07:00
Jinjing 5783c4192b Improve Linear issue editing flow (#2901)
* fix: address review findings

* fix: update Linear RPC test
2026-05-26 23:15:33 -07:00