Commit Graph
4991 Commits
Author SHA1 Message Date
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
Jinwoo HongandOrca abc3037b6a fix: route Jira requests through Electron networking (#5630)
Co-authored-by: Orca <help@stably.ai>
2026-06-17 14:58:33 -07:00
Jinwoo Hong ee2bc5eb02 fix: persist live agent resume checkpoints (#5633) 2026-06-17 14:19:54 -07:00
github-actions[bot] 82ad55e2d1 release: v1.4.78-rc.3 v1.4.78-rc.3 2026-06-17 21:08:29 +00:00
Brennan BensonandOrca 167257a99b Simplify sidebar worktree card modes (#5470)
Co-authored-by: Orca <help@stably.ai>
2026-06-17 14:07:36 -07:00
Brennan BensonandOrca 874988ddff Let hosted review links open in the system browser (#5564)
Co-authored-by: Orca <help@stably.ai>
2026-06-17 14:04:25 -07:00
Jinwoo HongandOrca 18d3545bae fix: prevent remote port scanner rescan loops (#5632)
Co-authored-by: Orca <help@stably.ai>
2026-06-17 13:58:24 -07:00
Brennan BensonandOrca 9e3b3ca028 Hide pending workspace rename badges (#5625)
Co-authored-by: Orca <help@stably.ai>
2026-06-17 13:32:46 -07:00
Jinjing f230c2d33d Bound concurrent repo scans and trace renderer breadcrumbs (#5608)
- Limit worktree refresh concurrency to 5 parallel workers to prevent launching too many concurrent git scans during startup and activation.
- Record renderer breadcrumbs as tracer spans to provide durable pre-crash context for native main-process crashes.
- Log a breadcrumb when activating a worktree from the sidebar.
2026-06-17 13:29:39 -07:00
Jinwoo HongandOrca 03c18c4373 Diagnose Claude usage refresh auth failures (#5614)
Co-authored-by: Orca <help@stably.ai>
2026-06-17 13:05:32 -07:00
github-actions[bot] be6b84e7a6 release: v1.4.78-rc.2 v1.4.78-rc.2 2026-06-17 20:03:34 +00:00
Brennan BensonandOrca 172962bcde Fix persisted UI no-op sync loop (#5623)
Co-authored-by: Orca <help@stably.ai>
2026-06-17 13:02:47 -07:00
Jinwoo HongandOrca 9b96fd3b63 Suppress stale agent completion replay after new work (#5620)
Co-authored-by: Orca <help@stably.ai>
2026-06-17 12:46:46 -07:00
Jinjing a448956fe8 Use outline destructive style for delete worktree button (#5622)
Change the button variant from solid destructive to outline destructive
in MergedReviewActions. This matches the styling of the sibling Reopen
control, signaling danger without having a solid red fill dominate the
PR summary panel.
2026-06-17 12:39:39 -07:00
github-actions[bot] 510fb04ccb release: v1.4.78-rc.0 v1.4.78-rc.0 2026-06-17 19:12:30 +00:00
Jinjing d2a1b88e95 Defer smart workspace source popover until user interaction (#5613)
Prevent the source selection popover from opening automatically during
dialog autofocus or other programmatic focus calls upon dialog mount.

Instead, defer opening the popover until the user actively interacts
with the name input (clicks or typing) or moves focus to it from another
control within the workspace composer.
2026-06-17 12:11:37 -07:00
Brennan BensonandOrca 2916f68dc9 Keep new projects as Git repositories (#5612)
Co-authored-by: Orca <help@stably.ai>
2026-06-17 12:06:41 -07:00
12d78b55cd fix: explain missing build tools when SSH relay native deps fail to compile (#5607)
* fix: explain missing build tools when SSH relay native deps fail to compile

Deploying the relay to a remote host runs `npm install` for node-pty and
@parcel/watcher on first connect. node-pty ships no Linux prebuild, so that
install falls back to `node-gyp rebuild`, which needs a C/C++ toolchain. On a
host without one it dies with an opaque `not found: make` and the error the
user sees is just `... npm install ... failed (exit 1):` with nothing after it.

After a failed install on Linux, probe the remote for make/gcc/g++/python3 and,
when the toolchain is missing, throw an error that names what is missing and
gives the exact install command for the detected package manager
(apt-get/dnf/yum/pacman/apk/zypper), falling back to a short per-distro list.
The raw npm/node-gyp output is kept as the underlying error for triage.

Windows hosts are unaffected (node-pty has win32 prebuilds); the probe and the
rewritten message only run on Linux relays.

* fix: preserve SSH relay native install output

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

---------

Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Orca <help@stably.ai>
2026-06-17 11:17:55 -07:00
99b5de6e3d Add Ante as a supported CLI agent (#5193)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Orca <help@stably.ai>
Co-authored-by: brennanb2025 <brennankbenson@gmail.com>
2026-06-17 11:12:45 -07:00
Brennan BensonandOrca 5429e659d4 Show PDF export only in Markdown controls (#5548)
Co-authored-by: Orca <help@stably.ai>
2026-06-17 10:51:41 -07:00
Brennan BensonandOrca 0b3cfa7b46 Keep terminal text painted after app resume (#5565)
Co-authored-by: Orca <help@stably.ai>
2026-06-17 10:49:41 -07:00
github-actions[bot] bf5854bd45 release: v1.4.77 v1.4.77 2026-06-17 17:24:10 +00:00
Jinjing b0979e7707 Increase horizontal padding for "No checks configured" state (#5604)
Update the padding from px-3 to px-4 to align the empty state message with other list elements.
2026-06-17 10:23:07 -07:00
Jinjing 3518e13cff Ensure OMP SQLite databases are source-backed in agent overlays (#5603)
OMP creates SQLite databases like agent.db lazily under the agent PTY
directory. Proactively pre-create and link these database files (plus WAL/SHM
sidecars on Windows) to the user's persistent store so that credentials and
history are not lost in disposable overlays.

- Implement `mirrorOmpPersistentSqliteFiles` to handle linking `agent.db`
- Support both Unix symlinks and Windows hardlinks for writable state
- Extract prefill and titlebar extension source code into separate files
2026-06-17 10:21:57 -07:00
github-actions[bot] 913c587162 release: v1.4.76 v1.4.76 2026-06-17 15:54:43 +00:00
KMGeon f4f6fb6b4d fix: restore File Explorer tree scrolling (#5578) 2026-06-17 08:53:22 -07:00
github-actions[bot] 6cea158e89 Update README downloads badge 2026-06-17 13:33:06 +00:00
github-actions[bot] 0e41d644c5 release: v1.4.75 v1.4.75 2026-06-17 08:05:39 +00:00
JinjingandOrca 3aa553892f Streamline Create PR UX and format git pull policy errors (#5576)
* Show disabled Create PR button in header when branch is not ready

Ensure the source control toolbar does not look blank or shift
unexpectedly when the branch has no changes or cannot yet create
a pull request.

- Add helper to resolve disabled Create PR header actions with contextual
  titles (e.g. commit in progress, no changes, unsynced commits)
- Keep the header button visible as a disabled anchor instead of hiding it
- Prevent the Create PR button from stretching across the toolbar when
  visible without a hosted review

* Refactor Create PR flow with inline-composer toggle and direct-create pa

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

* Streamline Create PR UX and format git pull policy errors

Simplify the source control review-creation flow by removing the
collapsible composer state and corresponding toolbar buttons, always
rendering the PR composer directly when available.

Additionally, add a specialized notice component for divergent branch
errors that parses git pull policy issues and provides quick-copy
buttons for configuring merge, rebase, or fast-forward behaviors.

* Add loading state to Create PR and tooltip to disabled AI button

- Display a disabled loading state for the Create PR action while review eligibility is fetching to avoid layout flashing.
- Use aria-disabled and Tooltip for the AI commit message generator button to ensure tooltips are viewable when disabled.

---------

Co-authored-by: Orca <help@stably.ai>
2026-06-17 01:03:43 -07:00
Jinjing b1563c8dae Force file content reload when opening paths from terminal links (#5575)
Introduce a `fileContentReloadNonce` on open files and a new
`forceContentReload` option for `openFile`. When terminal links or file-open
actions re-open an existing clean tab, increment the nonce to trigger a
refetch of the file content. This provides a manual recovery path for when
remote file watchers miss external writes.
2026-06-17 01:03:28 -07:00
Neil 38e289602d Fix workspace sidebar grouping toggle (#5573) 2026-06-17 00:51:07 -07:00
Jinwoo HongandOrca 89acb8d47c Fix duplicate agent completion notifications after worktree switch (#5572)
Co-authored-by: Orca <help@stably.ai>
2026-06-16 23:47:28 -07:00
Brennan BensonandOrca 00df8288dc Simplify support diagnostics settings (#5554)
Co-authored-by: Orca <help@stably.ai>
2026-06-16 23:11:27 -07:00
Brennan Benson 928c1ee106 Show restored agent sessions in pane chrome (#5568) 2026-06-16 23:09:43 -07:00
Jinwoo Hong 98120417f2 Fix browser history shortcuts for Logitech side-button remaps (#5569) 2026-06-16 22:57:39 -07:00
Jinwoo HongandOrca 88d08bae35 Back off workspace port scans after timeouts (#5570)
Co-authored-by: Orca <help@stably.ai>
2026-06-16 22:05:04 -07:00
Jinwoo HongandOrca 5dffcd1562 Fix terminal capability query replies (#5555)
Co-authored-by: Orca <help@stably.ai>
2026-06-16 20:54:17 -07:00
Jinjing 5903b4a742 fix: address pull reconciliation policy errors (#5562) 2026-06-16 20:13:46 -07:00