Commit Graph
3002 Commits
Author SHA1 Message Date
Neil 238476f441 feat(sidebar): preview workspace board on card drag start with trigger cue (#5777) 2026-06-19 00:19:41 -07:00
Jinwoo HongandOrca 692d8d0124 Use platform Orca CLI command for Agent Teams (#5773)
Co-authored-by: Orca <help@stably.ai>
2026-06-18 23:18:33 -07:00
7e6cc9ab49 fix(window): remove double title bar on Linux (#5726)
* fix(window): remove double title bar on Linux

On Linux the BrowserWindow titleBarStyle fell through to undefined, so
the native WM title bar stayed and stacked on top of Orca's own
renderer-drawn titlebar — two title bars. macOS (hiddenInset) and
Windows (hidden) already suppress the native one.

Drop the native frame on Linux (frame: false) and extend the renderer's
Windows-only custom-titlebar branches (logo/menu anchor, app-name
hiding, window-controls spacer + CSS vars, and the WindowControls
min/max/close cluster) to Linux via a shared `hasCustomTitleBar` flag,
so Linux gets one title bar with working window controls — matching the
Windows custom-titlebar path.

Fixes #5724

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

* review: harden Linux custom titlebar gating

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-18 23:13:30 -07:00
76317d6484 fix: dismiss stuck browser address bar autocomplete on webview click (#5769)
* fix: dismiss stuck browser address bar autocomplete on webview click

Electron webview guests never dispatch outside pointer events to the
renderer, so the address bar history dropdown could stay open after
clicking the page. Close it on guest focus, window blur, and Escape.

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

* test: cover browser address bar dismiss paths

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
2026-06-18 23:00:31 -07:00
Jinwoo HongandOrca 6d6af7af1a Support browser panes on headless remote Orca servers (#5412)
Co-authored-by: Orca <help@stably.ai>
2026-06-18 22:50:11 -07:00
Janderson Fagner e7af3676f2 feat(tray): Windows system tray with minimize-to-tray on close
Adds Windows system tray support and a minimize-to-tray setting for close behavior.
2026-06-18 22:30:44 -07:00
Brennan Benson 4a2dc069d5 Honor system-browser shortcut for port opens (#5756) 2026-06-18 22:23:56 -07:00
Brennan BensonandOrca f1384597f7 Update installed Orca skills without reinstalling (#5755)
Co-authored-by: Orca <help@stably.ai>
2026-06-18 22:23:27 -07:00
slashdevcorpse f80704cc60 [perf] Speed up CLI launch through Orca
Speed up Windows CLI launch by delivering short startup commands through shell args, falling back to stdin for oversized commands, and moving Codex historical session bridging into an incremental background task. Includes review fixes for Windows symlink and WSL test reliability.
2026-06-18 22:21:48 -07:00
Brennan BensonandOrca 8c4e99ed2f Keep completed-agent hibernation pane-scoped (#5749)
Co-authored-by: Orca <help@stably.ai>
2026-06-18 21:37:15 -07:00
Jinwoo HongandOrca fc17631af3 fix: preserve Jira description formatting (#5762)
Co-authored-by: Orca <help@stably.ai>
2026-06-18 21:30:23 -07:00
Goo 4c5c2f4df3 fix(i18n): correct Korean mistranslations and particle spacing (#5761) 2026-06-18 21:26:12 -07:00
Jinwoo HongandOrca bbacb694cd Recognize Claude agents in sidebar (#5758)
Co-authored-by: Orca <help@stably.ai>
2026-06-18 20:25:55 -07:00
Jinwoo HongandOrca e3ca72b2b5 Fix Jira credentials clearing on forbidden task reads (#5757)
Co-authored-by: Orca <help@stably.ai>
2026-06-18 20:22:01 -07:00
b8f2f95100 fix(mobile): sync non-markdown editor files to mobile session tabs (#5582)
* fix(mobile): sync non-markdown editor files to mobile session tabs

A regression stopped non-markdown files opened on desktop from reaching the
mobile session-tab list: the group projection order surfaced markdown tabs but
dropped plain file tabs. Append any open editor file for the worktree that the
projection didn't emit, keyed by relativePath, so plain files show up on mobile
again (markdown still syncs via the projection).

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

* fix(mobile): preserve recovered editor session tab identity

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

* fix(mobile): tolerate legacy active tab metadata

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-18 18:34:14 -07:00
Trevin ChowandJinjing 18bdef9ed0 refactor(sidebar): show more of repo, workspace, and group names (#4761)
* refactor(sidebar): give repo and group names priority over header chrome

Repo and group headers no longer show the workspace-count badge or the
collapse chevron, and the trailing action buttons (project menu, add
workspace) now collapse to zero width until the row is hovered, focused,
or its menu is open. The name takes the full row width by default and
only truncates once the actions reveal.

The count was secondary and the chevron was redundant -- the whole
header is already clickable to expand/collapse -- so both were spending
horizontal space better given to the name. The now-unused count field
and its subtree-counting logic are removed from the header row model.

* refactor(sidebar): drop the rename-pending badge from workspace rows

With auto-rename on, every freshly created workspace carried a "rename
pending" badge beside its name until the first agent message landed.
It was persistent clutter on the element we most want legible -- the
workspace name -- so remove it and the no-longer-needed handler.

* Remove unrelated formatting from PR 4761 merge

---------

Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
2026-06-18 18:06:58 -07:00
Brennan BensonandOrca 445a389d77 Fix folder PR checks row icons (#5744)
Co-authored-by: Orca <help@stably.ai>
2026-06-18 17:54:42 -07:00
Jinjing 0659ba0aa8 Prevent stale branch compare results on Git HEAD updates (#5663)
* Prevent stale branch compare results on Git HEAD updates

Track the status HEAD for each worktree to prevent race conditions
where a background branch compare request finishes after Git HEAD has
moved. Stale compare results are now rejected, and the compare state
is invalidated on status HEAD changes to avoid rendering incorrect
diffs. Also allows preserving the prior summary during refresh
requests to reduce UI flicker.

* Match '(initial)' status head with null branch compare head OID

Map the '(initial)' HEAD reported by git status for unborn branches
to a null head OID in branch compare results. This prevents false
mismatch positives during validation and state transitions, ensuring
unborn branch comparisons are accepted and stale ones are correctly
rejected.

* memoize hostedReview in SourceControl and extract support search

- Wrap the hostedReview calculation in useMemo in SourceControl to avoid redundant object recreation and re-renders.
- Move the general support search entries to their own dedicated file for improved code organization.
2026-06-18 17:40:01 -07:00
Carlos Baraza d46349ce82 fix: improve mobile link modifier handling (#5597) 2026-06-18 16:48:43 -07:00
Brennan Benson a34801934d Keep automation off by default in compact workspace cards (#5740) 2026-06-18 16:28:37 -07:00
Brennan Benson 53f2e50122 Keep linked workspace prompts as editable drafts (#5734) 2026-06-18 16:24:22 -07:00
Brennan Benson fe8b60b11c Show branch cues in experimental worktree cards (#5737) 2026-06-18 16:17:28 -07:00
Brennan Benson 1652f8ede1 Create PR worktrees from the PR head (#5733) 2026-06-18 13:59:00 -07:00
Brennan BensonandOrca 674639205c Show and Filter Automation-Created Workspaces (#5697)
Co-authored-by: Orca <help@stably.ai>
2026-06-18 13:05:57 -07:00
Jinwoo Hong 281edba14a Fix premature project header truncation 2026-06-18 12:49:27 -07:00
1c603669c1 Send review notes to any running agent of a worktree (#5654)
Co-authored-by: Orca <help@stably.ai>
Co-authored-by: brennanb2025 <brennankbenson@gmail.com>
2026-06-18 12:42:27 -07:00
Jinwoo HongandOrca 93345e331b Fix workspace sidebar appearance setting (#5725)
Co-authored-by: Orca <help@stably.ai>
2026-06-18 12:10:27 -07:00
99bc04609d Highlight the open file in the Source Control sidebar (#5667)
* Highlight the open file in the Source Control sidebar

Pending (uncommitted) rows had no persistent indicator for the file
currently open in the editor: a plain single click cleared the bulk
selection and only opened the diff, leaving no visual cue for which row
was active.

Derive the active editor file for the worktree from the store and mark
its Source Control row as the current row (full bg-accent + data-current),
outranking the lighter bulk-selection tint. Matching is area-aware so a
partially staged file lights up only the row that is actually open, and
the highlight clears when the visible tab is not an editor.

Extract the row-key mapping into source-control-active-open-file-keys.ts
and cover it with unit tests plus render tests for the highlight wiring.

* Update src/renderer/src/components/right-sidebar/SourceControl.open-file-highlight.test.tsx

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Refine source control open-file highlighting

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: brennanb2025 <brennankbenson@gmail.com>
2026-06-18 12:10:26 -07:00
Brennan Benson 20079a98ed Fix premature Codex completion notifications (#5682) 2026-06-18 11:51:46 -07:00
Brennan BensonandOrca bc0b1e28bd Improve Codex startup prompt reliability (#5686)
Co-authored-by: Orca <help@stably.ai>
2026-06-18 11:39:40 -07:00
Brennan BensonandOrca 3ce1a269ab Keep hibernated agent completions visible (#5689)
Co-authored-by: Orca <help@stably.ai>
2026-06-18 11:36:49 -07:00
Jinwoo HongandOrca b7d146dcb2 Move Prompt Cache Timer setting to Agents pane, simplify expired state (#5691)
Co-authored-by: Orca <help@stably.ai>
2026-06-18 10:25:26 -07:00
Jinjing 4ca248383b Skip GitHub CLI preflight checks if no GitHub projects exist 2026-06-18 08:51:08 -07:00
Doan Bac Tam fd536d3e48 fix: restore font family keyboard navigation in settings 2026-06-18 08:36:49 -07:00
Jinwoo HongandOrca e22d2c2c26 fix(landing): make GitHub CLI setup nudge dismissible and provider-aware (#5688)
The empty-workspace landing screen showed an alarming "Missing
dependencies — GitHub CLI is not installed" banner even for users
whose registered projects are all GitLab-backed, where `gh` is never
used. `gh` only powers GitHub PRs/issues/checks, so this is a false
alarm for GitLab-only users (#5670).

Treat the GitHub CLI prompt as a soft, provider-scoped setup nudge
rather than a global missing-dependency error:

- Quiet the banner styling (muted surface, no amber frame) and cap its
  width so it reads as a soft nudge, not an error state.
- Add a persistent dismiss to the gh / gh-auth nudges. Git stays pinned
  as a hard global dependency.
- Dismissal snapshots the set of GitHub-backed project identity keys;
  the nudge re-surfaces only when a genuinely new GitHub-backed project
  is added (set-based, so remove+re-add of the same project doesn't
  retrigger, and GitLab/folder repos never do).

Adds isGitHubBackedRepo() to the host-setup projection (reusing the
existing GitHub-identity detection) plus unit tests for both the
predicate and the dismissal logic.

Co-authored-by: Orca <help@stably.ai>
2026-06-18 01:00:23 -07:00
Brennan BensonandOrca 048fc8c37a Fix nested workspace card indentation (#5684)
Co-authored-by: Orca <help@stably.ai>
2026-06-18 00:16:16 -07:00
Brennan Benson e7ef7681ae Fix flaky e2e tests (#5680) 2026-06-18 00:11:32 -07:00
Neil e179348fcc Replace plus icon with play button on quick command entry (#5674) 2026-06-17 23:58:01 -07:00
huqi 62fc723ea8 Remove spam prefix from zh locale (#5677) 2026-06-17 22:28:39 -07:00
Brennan BensonandOrca fd9e79a77a Celebrate onboarding and agent wins with GitHub star prompts (#5642)
Co-authored-by: Orca <help@stably.ai>
2026-06-17 22:21:32 -07:00
Brennan BensonandOrca 4a3ec0232f Show repo icons on compact worktree cards (#5673)
Co-authored-by: Orca <help@stably.ai>
2026-06-17 22:05:04 -07:00
08ba730d8e feat(devin): managed hooks, sleeping resume, AI Vault (#5380)
* Revert "fix(terminal): add proportional scroll fallback for sidebar resize" (#937)

* fix(sidebar): smoothly animate off-screen worktree reveal on click (#1302)

Clicking a worktree card whose row lies outside the sidebar viewport
caused an instant jump when scrolling it into view. Switching
`scrollToIndex` to `behavior: 'smooth'` turns that minimum-distance
scroll into an animated slide while keeping `align: 'auto'` so visible
cards still no-op (no re-centering).

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

* Avoid local scrollback serialization on shutdown (#1821)

* Fix PR refresh coordinator test arguments (#2545)

* release: v1.4.31

* release: v1.4.31

* release: v1.4.31

* release: v1.4.31

* release: v1.4.31

* release: v1.4.31

* release: v1.4.31

* release: v1.4.36-rc.6

* release: v1.4.36-rc.6

* release: v1.4.36-rc.6

* ci: gate release-cut to the canonical repo so it skips forks (#4815)

The cut job checks out main, bumps package.json's version, and
fast-forwards main. On a fork with Actions enabled, the scheduled RC
cut runs against the fork's main and diverges it on the version line
every slot, so that contributor's PRs back to upstream conflict on
package.json even when their change never touches it.

Gate the job to github.repository == 'stablyai/orca' so it (and the
jobs that depend on it) no-op on forks. Canonical scheduled and manual
cuts are unaffected.

* feat(hooks): install Devin managed status hooks

* feat(devin): address hook review, resume, and UI polish

- Parse Devin config.json as JSONC; warn on read_config_from overlap
- Windows hook command uses forward slashes; APPDATA fallback
- Add devin to sleeping-agent resume and UI registries (plan 003/004)
- Add hook-service and hook-config-json tests

Closes follow-up for plans 002–004 on feat/add-devin-agent.

* feat(devin): scan ATIF transcripts for AI Vault

Register devin in AI_VAULT_AGENTS, discover ~/.local/share/devin/cli/transcripts
(or DEVIN_HOME), parse ATIF JSON sessions, and build devin --resume commands.

* docs(devin): clarify stdin-after-start vs bracketed paste

* fix(devin): use JSONC for remote install, add partial+APPDATA tests

- installRemote: replace readHooksJsonRemote (JSON.parse) with
  readTextFileRemote + parseJsonc for JSONC compatibility on SSH
- Add partial status test (some hooks missing → state:'partial')
- Add Windows APPDATA config path test with fallback

* fix(devin): address CodeRabbit review — sessionId fallback, parseJsonc errors, comment, i18n

* Fix Devin integration edge cases

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

* Package Devin JSONC parser dependency

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

---------

Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
Co-authored-by: Brennan Benson <79079362+brennanb2025@users.noreply.github.com>
Co-authored-by: Orca <help@stably.ai>
Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Trevin Chow <trevin@trevinchow.com>
Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
2026-06-17 20:49:29 -07:00
Brennan BensonandOrca 53fe9b4ff1 Keep Folder PR Checks Selected (#5662)
Co-authored-by: Orca <help@stably.ai>
2026-06-17 20:31:04 -07:00
994d02d683 fix terminal selection contrast on instruction blocks (#5606)
Co-authored-by: Orca <help@stably.ai>
Co-authored-by: brennanb2025 <brennankbenson@gmail.com>
2026-06-17 20:15:16 -07:00
Brennan Benson 685ef06068 Keep Child Workspace Cards Nested and Stable (#5652) 2026-06-17 19:59:12 -07:00
AJ 512294c5ad Fix diff comment popover clipping near viewport bottom (#5660)
The line-note popover anchored its top edge just below the selected line
and only ever grew downward. When the anchor line sat near the bottom of
the editor viewport, the popover extended past the visible area and was
clipped by the editor pane's overflow container, hiding the textarea and
the action buttons.

Resolve the popover's vertical placement against real geometry: flip it
above the anchor line when it would not fit below, and clamp it inside the
viewport when it fits neither way. Placement now lives in a pure
resolveDiffCommentPopoverTop helper, while the popover measures its own
height and its container via a ResizeObserver so it re-resolves as the
textarea auto-grows or the pane resizes.

Thread the anchor line height from both diff viewers (DiffViewer and
DiffSectionItem) through to the popover; markdown annotation callers keep
working via a zero default and still benefit from the viewport clamp.
2026-06-17 19:28:55 -07:00
Jinjing bd546b47d2 Redesign mobile driver overlay layout and clarify action copy (#5647)
Clarify the mobile-driving experience by updating outdated terminology and
making actions more precise. Generic "Mobile" references are replaced with
"Phone", and action buttons now explicitly distinguish between "this"
terminal and "all" terminals. Also introduces a modern card layout featuring
a smartphone icon badge and a live status indicator, complete with updated
locales, tests, and a standalone HTML preview.
2026-06-17 19:21:42 -07:00
Neil 7f63a4708f Use APFS clone-copy for worktree shared paths (#5658) 2026-06-17 19:16:53 -07:00
Jinjing c6bff693cc Simplify worktree card title display and remove path/repo fallbacks (#5659)
- Remove folder path and repository name guessing when resolving the title
- Fall back to the stored workspace display name instead of a generic fallback
- Simplify helper parameters and update related unit tests
2026-06-17 18:56:06 -07:00
Brennan BensonandOrca dc27811d5c Keep tooltips visible above menus (#5661)
Co-authored-by: Orca <help@stably.ai>
2026-06-17 18:35:33 -07:00