Commit Graph
5028 Commits
Author SHA1 Message Date
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
github-actions[bot] 5100adca64 release: v1.4.80-rc.1 v1.4.80-rc.1 2026-06-18 18:54:47 +00: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
github-actions[bot] 9d0dad3fa7 release: v1.4.80-rc.0 v1.4.80-rc.0 2026-06-18 15:51:57 +00: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
github-actions[bot] c40a025378 Update README downloads badge 2026-06-18 13:33:43 +00: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
Jinwoo HongandOrca 84a5def248 Use managed Pi and OMP extensions (#5681)
Co-authored-by: Orca <help@stably.ai>
2026-06-17 23:28:54 -07:00
Jinwoo HongandOrca 3bd7b36012 Narrow computer-use e2e trigger (#5685)
Co-authored-by: Orca <help@stably.ai>
2026-06-17 23:27:26 -07:00
Jinwoo HongandOrca 06d674b35d Fix mobile folder workspace visibility (#5679)
Co-authored-by: Orca <help@stably.ai>
2026-06-17 23:18:34 -07:00
c9bd61376f feat(mobile): combine PR sidebar and checks parity (#5641)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Orca <help@stably.ai>
Co-authored-by: gsxdsm <gsxdsm@users.noreply.github.com>
2026-06-17 22:52:12 -07:00
Jinwoo Hong a61c549d37 Fix cleared Source Control AI recipe prompts
Fixes #5671.
2026-06-17 22:47:16 -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
github-actions[bot] 752e20d64d release: v1.4.78-rc.6 pr-5674-closeup-1781757176 pr-5674-evidence-1781757132 v1.4.78-rc.6 2026-06-18 04:00:59 +00:00
Brennan BensonandOrca 7f640ca904 Speed up Codex terminal startup (#5664)
* Speed up Codex terminal startup

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

* Address Codex startup review comments

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

---------

Co-authored-by: Orca <help@stably.ai>
2026-06-17 20:49:47 -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 BensonandOrca ce273c8aef Improve release validation reliability (#5643)
Co-authored-by: Orca <help@stably.ai>
2026-06-17 20:05:55 -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
github-actions[bot] a6013bbf7d release: v1.4.78-rc.5 v1.4.78-rc.5 2026-06-18 01:56:55 +00: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
AJ becaea5734 feat(tabs): confirm before closing pinned tabs (#5536)
Add a configurable confirmation before pinned tabs are closed, route terminal/browser/CLI close paths through the guard, and add a one-shot Don't ask again option backed by the existing setting.

Verified with focused unit tests, typecheck, lint, Electron validation, and the PR verify workflow.
2026-06-17 18:27:01 -07:00
1368ba84b8 feat(shortcuts): double-tap modifier keybindings (#5516)
* docs: design for double-tap modifier keybindings

* feat(keybindings): parse and normalize DoubleTap+<Mod> grammar

* test(keybindings): cover DoubleTap+Ctrl positive case

* feat(keybindings): match DoubleTap bindings against synthetic input

* test(keybindings): cover Ctrl-on-darwin double-tap miss; document input invariant

* feat(keybindings): format DoubleTap bindings as a doubled glyph

* test(keybindings): cover DoubleTap+Ctrl glyph on mac; note title label semantics

* feat(keybindings): add pure ModifierDoubleTapDetector state machine

* test(keybindings): cover missed-keyup double-tap edge; clarify keyUp guard

* feat(keybindings): capture double-tap gestures into DoubleTap+<Mod>

* test(keybindings): cover Ctrl/linux and Cmd/linux double-tap canonicalization

* feat(keybindings): resolve double-tap input in window shortcut policy

* feat(shortcuts): detect double-tap modifiers in main before-input-event

* docs(shortcuts): note dictation guards live in the renderer

* feat(shortcuts): dispatch double-tap modifiers in the renderer window handler

* fix(shortcuts): clear armed double-tap state on dangling modifier keyup

* feat(settings): record double-tap modifier shortcuts in the editor

* i18n(shortcuts): localize ShortcutKeyCombo double-tap tooltip

* Fix double-tap shortcut review gaps

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

---------

Co-authored-by: Devin345458 <devin@appleidimagination.com>
Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Orca <help@stably.ai>
2026-06-17 18:25:27 -07:00
gsxdsm 0eec0ad74a feat(sidebar): render mermaid diagrams in desktop PR comments (#5581)
Render Mermaid code fences in full desktop PR comment markdown while keeping compact sidebar previews bounded and source-only.
2026-06-17 18:18:24 -07:00
gsxdsm c2acb3c11b fix(mobile): open the file tab when a terminal file path is tapped 2026-06-17 18:15:53 -07:00
Jinwoo HongandOrca 9e8c71d130 Fix CI test drift after runtime changes (#5655)
Co-authored-by: Orca <help@stably.ai>
2026-06-17 18:04:12 -07:00
Brennan Benson 3eb0dbdd55 Sync Linear statuses from the workspace board (#5430) 2026-06-17 16:53:18 -07:00
Brennan Benson 0f240533e1 Keep Codex and Claude signed in across Orca restarts (#5639) 2026-06-17 16:20:37 -07:00
Neil 8eb96c4ec5 Add configurable workspace board shortcut (#5638) 2026-06-17 16:08:46 -07:00
0ec3882cb8 Add project Windows runtime selection (#5519)
* Add project Windows runtime selection

* Fix project Windows runtime selection

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

* fix: preserve WSL shell variables

---------

Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Orca <help@stably.ai>
Co-authored-by: Neil <neil@stably.ai>
2026-06-17 16:08:14 -07:00
Jinwoo HongandOrca 25d2053b25 Add Codex reset credit controls (#5631)
Co-authored-by: Orca <help@stably.ai>
2026-06-17 15:41:43 -07:00
github-actions[bot] 6579e98fd7 release: v1.4.78-rc.4 [rc-slot:2026-06-17-15] v1.4.78-rc.4 2026-06-17 22:38:04 +00:00
Jinwoo HongandOrca 3522d072dc Fix usage CTA while provider snapshots load (#5637)
Co-authored-by: Orca <help@stably.ai>
2026-06-17 15:23:44 -07:00
Jinwoo HongandOrca 1190ab6018 Fix usage refresh after deferred startup (#5629)
Co-authored-by: Orca <help@stably.ai>
2026-06-17 15:18:51 -07:00
Mantaroh YoshinagaandJinjing 5ff6bc9778 Fix unnatural Japanese (ja) localization wording (#5589)
* Fix unnatural Japanese localization wording

- "Open in" submenu: bare で開く → アプリで開く
- "Assigned to me" filter: 私に割り当てられました → 私に割り当てられた Issue
- Use Latin "Issue" instead of katakana イシュー throughout (JP engineering convention)
- Terminal/theme cursor settings: render the screen cursor as カーソル, not the
  Cursor product. The brand-protection revert (Cursor→カーソル→Cursor) now exempts
  these keys/values so カーソル survives while the Cursor product stays Latin.
- GraphQL: グラフQL → GraphQL
- Assignee picker aria-label: {{value0}} に割り当てられました → {{value0}} に割り当て済み

Fixes are made in the locale repair policy (overrides / phrase fixes) and applied via
repair:ja-catalog so they persist across future catalog regeneration.

* Extract screen-cursor exemption into a focused module

Move the Cursor screen-vs-product discrimination (SCREEN_CURSOR_ENVALUES /
SCREEN_CURSOR_KEYS / isScreenCursorContext) out of locale-translation-policy.mjs
into locale-screen-cursor-exemptions.mjs to keep the policy file under the
max-lines limit. No behavior change.

* Fix PR/issue state badge wording in Japanese

"State: Closed" was 状態: 閉店 (a shop closing) — change to 状態: クローズ to match
how the Closed state is rendered elsewhere. Also align "State: Merged" (状態: 結合済み)
with the standard マージ済み used for git merges.

---------

Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
2026-06-17 15:14:35 -07:00