Commit Graph
16002 Commits
Author SHA1 Message Date
67a95c7400 fix: pr-bug-scan validated finding from #5304 (#5342)
* fix: address pr-bug-scan validated finding from #5304

Added stream.sent=false reset in handleAuthRejection retry branch so e2ee_authenticated replay re-sends active terminal.subscribe after auth-retry reconnect.

* test: verify terminal resume after auth retry reconnect

* Fix remote runtime client timeout refresh on mobile

Avoid using Node-specific Timeout.refresh directly on platforms like
mobile where setTimeout returns a standard number/timer ID. Instead,
fallback to clearTimeout and setTimeout if .refresh is unavailable. Also
add missing path mappings to the mobile tsconfig.

---------

Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
2026-06-16 17:21:13 -07:00
Jinwoo HongandOrca 0ed63216c6 Filter Claude print-mode hook processes from agent monitor (#5543)
Co-authored-by: Orca <help@stably.ai>
2026-06-16 16:55:17 -07:00
Jinwoo HongandOrca 3091b286ec fix(composer): honor pinned worktree base (#5542)
Co-authored-by: Orca <help@stably.ai>
2026-06-16 16:51:48 -07:00
Jinjing c548e85f57 Persist and repair target base branch for PR and MR worktrees (#5540)
* Resolve and fetch the review target branch (compareBaseRef) during PR and MR worktree creation.
* Persist this ref on worktree metadata instead of pinning the head SHA.
* Dynamically repair existing worktrees with stale commit SHA compare bases in the Source Control UI using linked review metadata.
2026-06-16 15:51:55 -07:00
gsxdsm f9e3c3945e fix(web): keep hover-reveal action icons visible on touch devices
Fix hover-reveal action icons so touch/no-hover environments keep controls visible while hover-capable desktop behavior remains unchanged.\n\nAlso covers touch-safe swap cases where passive timestamp/sparkline content shares a slot with newly visible actions.
2026-06-16 15:46:06 -07:00
slashdevcorpse 140151d5cd Recognize shell-rooted Windows agent foregrounds (#5503)
Recognize shell-rooted Windows agent foregrounds.
2026-06-16 15:40:08 -07:00
Jinjing f6fec257eb Ignore merged pull requests found by implicit branch matches (#5524)
Merged pull requests are historical branch matches and should not be
treated as implicit review context unless the worktree has an explicit
PR link. Showing them as implicit review context leaves nothing
meaningful to unlink after the branch has been rebased or merged.
2026-06-16 15:39:57 -07:00
Neil 2e93b6002e Update usage tracking CTA copy (#5539) 2026-06-16 15:38:45 -07:00
Jinjing a300e2c7b4 Add Source Control Create PR flow (#5436)
* Add Source Control Create PR intent flow

Implements the Source Control Create PR flow described in docs/source-control-create-pr-flow.md.

* Keep Commit visible beside Create PR

* Fix Create PR partial staging action band

* Integrate hosted review creation into Create PR intent flow

- Automatically create the pull or merge request on GitHub/GitLab after
  successfully staging, committing, and pushing in the intent flow.
- Introduce a unified `updateCommitDrafts` helper to keep React state and
  its ref synchronized, preventing draft-overwrite race conditions.
- Split primary action tests into focused files to satisfy the ESLint
  `max-lines` rule.
- Replace hardcoded "Local Mac" strings with dynamic host labels.

* Support Azure DevOps and Gitea PR creation and limit large diffs

Implement automated pull request creation for Azure DevOps and Gitea
repositories. This includes REST API integration, credential checks via
environment variables, template support, and error classification.

Additionally, introduce limits on large diff payloads in git status
extraction to prevent renderer-freezing performance bottlenecks when
loading extremely large files.

* Skip source control refetches when PR creation intent is in flight

Avoid recomputing branch eligibility while isCreatePrIntentInFlight is true.
This prevents tearing down the PR composer or rotating dropdown hints
prematurely if ahead/behind or dirty states are temporarily perturbed
temporarily perturbed mid-flow.

* Expose manual prerequisite actions next to Create PR button

Previously, the Create PR intent only supported "Stage All" as a
sibling action. This expands prerequisite resolution to handle other
intermediate steps such as committing, publishing, and pushing
(including force pushing).

This ensures the edit-commit-push-review loop remains streamlined
directly within the CommitArea by displaying the specific required
next action beside the primary Create PR button.

* Move PR creation actions from CommitArea to sidebar header

- Decouples PR creation and PR intent actions from the local commit area
  primary button, ensuring local/remote git actions remain primary.
- Renders a dedicated PR creation button in the source control header
  beside the hosted review status.
- Simplifies CommitArea by removing prerequisite split-button rendering
  and review composer logic.

* Delete source control create PR flow design document

Remove the design document for the source control create PR flow as the feature has been successfully implemented.

* Display PR creation errors in inline notice

Unify PR/review creation error reporting by replacing the duplicate
createPrErrors state with the shared createPrIntentNotice. Validation
and API errors are now shown directly within the visible inline alert
notice to improve layout consistency and visibility.

Also refactor the execution host platform label lookup to use simple
if statements instead of a switch block.

* Improve Create PR intent flow safety and provider awareness

- Integrate the hosted review composer directly into the Source Control
  panel when a direct review creation action is available.
- Abort the in-flight PR creation intent flow early if the current git
  branch changes to prevent staging or committing on the wrong target.
- Keep in-flight action labels provider-aware (e.g., "Create MR" on GitLab)
  by passing hosted review inputs to the action resolver.
- Omit large diff text payloads from git status responses when line counts
  exceed safe rendering limits to avoid UI performance degradation.
- Ensure field generation does not retarget the base branch of a PR/MR without
  explicit user confirmation.

* Preserve PR and MR templates in AI pull request generation

- Preload templates (including GitLab merge requests) into the AI
  context before generation to prevent bypassing provider-side fallbacks.
- Instruct the AI generator to fill out and preserve existing template
  headings, required sections, and checklists instead of deleting them.
- Pass provider and template settings from the renderer to the backend
  RPC and runtime handlers.

* Mock DropdownMenuShortcut in tab-title-tooltip test

Add a mock for the DropdownMenuShortcut component in the dropdown menu
mock to prevent test failures.
2026-06-16 15:36:27 -07:00
JinjingandOrca ca05dbf652 Fix PR check full-details worktree routing (#5529)
* Fix view full details button to use correct worktree and sticky header

- Pin a sticky bar with check name and "View full logs" button inside expanded check details so the affordance stays visible while scrolling through annotations and job output
- Accept an explicit `worktreeId` prop so folder-workspace PR checks use the child worktree ID rather than the (non-existent) active worktree
- Show "View full logs" when log tail is available, "View full details" otherwise

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

* fix: address review findings

* fix: address CI failures

---------

Co-authored-by: Orca <help@stably.ai>
2026-06-16 15:31:10 -07:00
Brennan Benson d625079c4d Disable first-work folder rename (#5535) 2026-06-16 15:20:55 -07:00
OrcaWinandNeil 7e1c4ee929 Follow up Windows terminal onboarding polish (#5530)
Co-authored-by: Neil <neil@stably.ai>
2026-06-16 14:59:35 -07:00
Neil 9ed345ef56 Skip broad fetch for PR SHA worktree bases 2026-06-16 14:57:39 -07:00
AJ 826f99787b feat(tabs): add Cmd/Ctrl+Alt+W shortcut to close all editor tabs (#5526)
Adds a rebindable close-all editor-tabs shortcut and surfaces it in the editor tab context menu.
2026-06-16 14:40:31 -07:00
gsxdsm 50b324a8c8 Fix file loading on web and mobile remote clients 2026-06-16 14:39:25 -07:00
Neil de1089e2ed Rename "+ Add command" button to "+ Command" (#5528) 2026-06-16 14:24:07 -07:00
OrcaWinandNeil 00951b964f Speed up Windows worktree deletion (#5485)
Co-authored-by: Neil <neil@stably.ai>
2026-06-16 14:07:52 -07:00
OrcaWinandNeil 68abadba81 Add Windows terminal onboarding step (#5488)
Co-authored-by: Neil <neil@stably.ai>
2026-06-16 14:07:26 -07:00
53873f23fe fix(web): use dynamic viewport height for app shell (#5500)
* fix(web): use dynamic viewport height for app shell

On mobile web browsers, `100vh`/`h-screen` resolves to the large
viewport (as if the URL bar were hidden), so the app shell rendered
~40-100px taller than the visible area while the URL bar was shown,
forcing the user to scroll to see the full view.

Switch the app-shell heights (body, #root, .app-layout, the App root,
and the web connect/suspense screens) to dynamic viewport units
(dvh) so they track the currently-visible viewport. In Electron there
is no browser chrome, so dvh resolves identically to the window height
— native is unaffected.

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

* test(web): guard dynamic viewport shell heights

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-16 13:16:29 -07:00
Brennan BensonandOrca ef04f10dad Show restored banner when slept agent resumes (#5467)
Co-authored-by: Orca <help@stably.ai>
2026-06-16 13:14:00 -07:00
OrcaWinandNeil 16c89887a2 Fix stale agent attention indicators (#5517)
Co-authored-by: Neil <neil@stably.ai>
2026-06-16 12:46:56 -07:00
Jinwoo HongandOrca 52bcd1283b Fix OMP config writes outside Orca overlay (#5521)
Co-authored-by: Orca <help@stably.ai>
2026-06-16 12:27:14 -07:00
Brennan BensonandOrca 37c7e4bbc5 Fix split ANSI leakage in terminal preview (#5478)
Co-authored-by: Orca <help@stably.ai>
2026-06-16 12:20:37 -07:00
Jinjing fde610a306 Fix unmounted state updates in mobile emulator setup and localize text (#5514)
- Wrap emulator setup terminal title and ARIA labels with translate calls.
- Prevent setting CLI install status on unmounted components in the state hook.
2026-06-16 10:48:07 -07:00
ENC_EuphonyandJinjing 15ed059947 Optimize, correct, and fill in gaps in some Chinese translations (#5504)
* Optimize, correct, and fill in gaps in some Chinese translations

* Add zh translation glossary repairs

---------

Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
2026-06-16 10:41:50 -07:00
Jinjing ffd340c264 Add setup guide and intro callout for mobile emulator agent control (#5511)
Provides an optional, inline setup walkthrough within the emulator pane
and an introductory tab callout to guide users through registering the
Orca CLI and installing the necessary skill for agent control.

- Adds inline setup guide components, visibility hooks, and unit tests
- Introduces tab intro callout on macOS with Keep/Hide actions
- Displays a persistent toast when the emulator pane is hidden
- Ensures settings and tabs remain synced on user preference changes
2026-06-16 10:15:33 -07:00
Brennan Benson ee8327dde9 Hibernate completed runtime-owned agents (#5473) 2026-06-16 10:15:13 -07:00
JinjingandOrca 5599ad28cb feat: improve source control setting - add API budget pane and clean up git search (#5512)
Co-authored-by: Orca <help@stably.ai>
2026-06-16 10:14:50 -07:00
Jinwoo HongandOrca 198c136440 Fix Claude system-default keychain lookup (#5509)
Co-authored-by: Orca <help@stably.ai>
2026-06-16 09:59:32 -07:00
Jinjing 2740cba2bf Focus workspace name field initially in new workspace dialog (#5456)
- Shifts the initial autofocus from the project combobox to the smart
  name input or pre-filled source pill so users can start typing
  immediately.
- Pins the typed text action row (e.g., "Use name...") to the top of
  the search results dropdown with a sticky header.
- Accepts an external GitHub source context override in the smart name
  field to improve contextual suggestions.
- Updates unit and E2E tests to verify the new focus target behavior.
2026-06-16 00:19:42 -07:00
Anddy Sahir AgudeloandJinjing 2c828f1841 fix(editor): syntax-highlight SystemVerilog/Verilog files (#5427)
Map .sv/.svh to the 'systemverilog' language id and .v/.vh to 'verilog' in language-detect, so Monaco's bundled SystemVerilog/Verilog Monarch tokenizers (already registered in editor.main) are applied. Previously these files fell through to plaintext. Refs #5414.

Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
2026-06-16 00:00:59 -07:00
Brennan BensonandOrca 47aec80662 Show PR checks across attached worktrees (#5431)
Co-authored-by: Orca <help@stably.ai>
2026-06-15 23:39:23 -07:00
Jinwoo HongandOrca 88b8cdbfa3 fix(web): guard secure-context-only crypto in browser client (#5471)
Co-authored-by: Orca <help@stably.ai>
2026-06-15 23:29:45 -07:00
Brennan Benson 94857be0d0 Fix terminal create cleanup and targeted listing (#5454) 2026-06-15 23:11:40 -07:00
Jinwoo HongandOrca 413fb31ab5 Fix remote terminal focus snapping during agent runs (#5435)
Co-authored-by: Orca <help@stably.ai>
2026-06-15 23:05:32 -07:00
Brennan BensonandOrca 9932bfa063 Keep workspace controls visible while creating worktrees (#5437)
Co-authored-by: Orca <help@stably.ai>
2026-06-15 22:42:19 -07:00
Jinwoo HongandOrca adf5ccbc92 feat(mobile): view image files from the Files tree (#5472)
Co-authored-by: Orca <help@stably.ai>
2026-06-15 22:30:05 -07:00
Brennan Benson 1ccc07c013 Open Add Project from the settings checklist (#5449) 2026-06-15 22:26:57 -07:00
Jinjing aee2c0a6a4 Limit large git diff payloads in main process before IPC transfer (#5469)
* Limit large git diff payloads in main process before IPC transfer

Move the large diff rendering limit check to a shared module so that
the main process can evaluate diff sizes before transferring them. If
a diff exceeds the limits, its text content is dropped prior to IPC
serialization, and only the limit metadata is sent. This prevents the
application from freezing or crashing when loading massive diff files.

* Gracefully handle and prune oversized files in diff viewer

Prevent UI freezes and out-of-memory errors when viewing or editing
extremely large diffs or files. Working-tree files above 10MB and git
buffer overflows are treated as binary. Text diffs exceeding safe
rendering limits have their contents pruned before IPC transport, and
the UI is updated to show fallback states and disable invalid saves.

* Document save action check for large diffs and fix test import

Explain why saveContentAvailable is required for oversized diffs, as
stripped text bodies before IPC prevent complete saves. Also update the
large-diff-render-limit import in E2E tests to use the shared path.
2026-06-15 22:13:46 -07:00
Jinwoo HongandOrca e3bf7d8614 feat(mobile): pickers, workspace parity, active-workspace focus, tap-to-open, source-control parity, artifact viewing (#5330)
Co-authored-by: Orca <help@stably.ai>
2026-06-15 22:02:51 -07:00
Neil 805f7a271d style(settings): improve section card body elevation and padding (#5457)
* style(settings): improve section card body elevation and padding

* test(settings): mock useShortcutKeyCombos in SettingsSidebar tests

Merged sidebar search PR (#5459) switched to ShortcutKeyCombo but the
test mock was not updated, breaking verify on downstream settings PRs.
2026-06-15 21:49:10 -07:00
Neil 97db443764 style(settings): polish integration card shells (#5463) 2026-06-15 21:17:38 -07:00
Neil 1b00e7cc79 style(settings): improve sidebar search input styling (#5459) 2026-06-15 21:16:14 -07:00
Neil 95af735062 style(settings): polish sidebar nav hover and active states (#5458) 2026-06-15 21:15:26 -07:00
Trevin ChowandJinjing 2a42d46719 feat: Add multi-folder local project picker (#5406)
* feat: add multi-select to local project folder picker

- Replace single-folder `pickFolder` IPC with multi-select `pickFolders`
- Refactor add-local-path flow to process multiple folders in sequence,
  deferring the git-ready handoff to the first successfully added repo
- Skip non-git folders silently during batch adds and surface a toast
  when any were skipped, rather than blocking the entire import on the
  nested-repo review UI

* fix: address multi-folder picker review feedback

* Skip nested repository review on progress during batch folder adds

Avoid initiating the nested-repository review flow during multi-folder
batch adds. This ensures the batch folder flow can continue processing
git folders without interruption.

---------

Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
2026-06-15 20:54:03 -07:00
OrcaWinandNeil 52f2a32e62 Fix settings search fan-out (#5452)
Co-authored-by: Neil <neil@stably.ai>
2026-06-15 20:52:06 -07:00
Jinjing d36782a4a8 Respect repository auto-merge setting and forward merge method (#5453)
- Retrieve and propagate `autoMergeAllowed` from GitHub repo metadata.
- Suppress auto-merge action in UI if disallowed by the repository.
- Support specifying the merge method (e.g., squash) when auto-merging.
2026-06-15 20:48:36 -07:00
Neil 67f655b23e Improve onboarding agent step layout and permissions UX (#5451)
Pin the Yolo permissions checkbox below the agent picker so it stays
visible on every screen size, and confine scrolling to the agent grid
with a dynamic four-row cap. Remove the subtitle max-width that caused
awkward wrapping and tune checkbox colors to match the muted card surface.
2026-06-15 20:35:50 -07:00
Jinjing 22263a23b0 Open check run details in an editor tab instead of a modal (#5447)
* Open check run full details in an editor tab instead of a modal

- Display check run output, annotations, and job lists within the main editor workspace.
- Replace the right-sidebar checks panel detail dialog with a tab-opening action.
- Suppress local file-system actions (like path copying and revealing) on virtual check-run detail tabs.

* Extract path and rename UI to EditorPanelHeaderPath

- Offloads path rendering, renaming, and context-menu behaviors from
  EditorPanelHeader into a new dedicated component.
- Improves code maintainability and readability by decoupling distinct
  responsibilities within the editor panel headers.
2026-06-15 20:24:28 -07:00
Brennan Benson 2aa4ae6d21 Make agent session history easier to scan (#5438) 2026-06-15 20:15:17 -07:00