Commit Graph
815 Commits
Author SHA1 Message Date
Neil d2a53c8fcc New workspace create page (#710)
* New workspace page with agent catalog, composer modal, and terminal integration

* fix lint

* better blank state

* fix: resolve typecheck errors in new-workspace flow

- widen activateAndRevealWorktree's issueCommand to accept direct
  command shape used by NewWorkspacePage, not just the main-process
  runner-script variant
- use a ref object in pty-connection tests to dodge TS narrowing the
  captured callback to never across the mock closure boundary

* fix: bound worktree name auto-suffix loop to prevent OOM in tests

The auto-suffix loop in createLocalWorktree had no termination cap.
When tests (or a misconfigured env) mocked getBranchConflictKind /
getPRForBranch to always return a collision, the loop ran forever and
the vitest worker crashed with "Ineffective mark-compacts near heap
limit".

Cap the search at 100 suffixes, and if all fail, fall back to the
original specific error messages (branch already exists / PR already
owns the name) instead of a generic failure.

Update the two tests that asserted the old throw-on-first-conflict
behavior to verify the new auto-suffix path end-to-end.
2026-04-16 15:41:40 -07:00
Jinwoo Hong c8a8ef1b5c fix: stop smart sort from reordering after focus (#730) 2026-04-16 15:17:48 -07:00
github-actions[bot] bd16c0cfdd release: 1.2.3-rc.3 [rc-slot:2026-04-16-15] v1.2.3-rc.3 2026-04-16 22:10:44 +00:00
brennanb2025 61c1822bb9 1.2.3-rc.2 v1.2.3-rc.2 2026-04-16 14:31:44 -07:00
Brennan Benson 48c24935c3 fix: prevent split-group container teardown when switching worktrees (#726) 2026-04-16 14:29:33 -07:00
Jinjing 19d22b0667 feat: add View button to delete failure toasts for worktree navigation (#725)
When a worktree delete fails, users may want to inspect the worktree
to understand why. Add a "View" button that navigates to the worktree
via activateAndRevealWorktree on all delete failure toasts.
2026-04-16 13:41:02 -07:00
Jinjing 2e2e151aa0 Change New Markdown shortcut from ⌘⇧N to ⌘⇧M (#724)
⌘⇧N conflicts with the well-known "New Window" convention in VS Code
and Chrome. ⌘⇧M is a clear mnemonic for Markdown and doesn't clash
with any existing shortcut. Also adds New Browser Tab and New Markdown
entries to the Settings keyboard shortcuts pane.
2026-04-16 13:35:47 -07:00
Brennan Benson 7db6270b91 Show split actions on the active pane header (#695) 2026-04-16 11:59:36 -07:00
github-actions[bot] 639f126aa6 release: 1.2.3-rc.1 [rc-slot:2026-04-16-04] v1.2.3-rc.1 2026-04-16 11:16:58 +00:00
github-actions[bot] 9a63289740 release: 1.2.3-rc.0 [rc-slot:2026-04-16-03] v1.2.3-rc.0 2026-04-16 10:24:37 +00:00
Neil 0a29512996 1.2.2 v1.2.2 2026-04-16 01:13:29 -07:00
Jinjing 22e2b90ad8 fix: exclude orphaned worktrees from active agent count (#709)
tabsByWorktree can retain entries for worktrees deleted outside Orca or
whose cleanup didn't complete. This caused phantom agents to appear in
the titlebar count. Now both countWorkingAgents and
getWorkingAgentsPerWorktree filter against worktreesByRepo as the source
of truth.
2026-04-16 00:54:41 -07:00
Jinjing a928d56a50 fix: improve new-tab button spacing and dropdown alignment (#708)
Increase gap between last tab and the "+" button (ml-0.5 → ml-2),
add more vertical padding to dropdown menu items (py-0.5 → py-1.5),
and align dropdown to open rightward (align end → start).
2026-04-16 00:39:55 -07:00
Neil 35e0c9811d 1.2.2-rc.3 v1.2.2-rc.3 2026-04-16 00:11:17 -07:00
Jinwoo Hong a51efc1fbf fix: resolve invalid nested button DOM in worktree group headers (#706) 2026-04-15 23:45:58 -07:00
Dylan Klohr 9ff4951ac4 fix: support option/alt+arrow word navigation in terminal (#699) 2026-04-15 23:45:44 -07:00
Jinwoo Hong ca75b16b33 fix: add version manager bin paths to startup PATH for GUI-launched apps (#702) 2026-04-15 23:37:16 -07:00
Jinwoo Hong e17d917afe fix: prevent title bar flickering with multiple split-pane agents (#701) 2026-04-15 22:59:42 -07:00
Jinjing c2d312888e fix: prevent ProseMirror from overwriting native drag selection in rich markdown editor (#704)
Add two workarounds for Chrome/ProseMirror drag-selection breakage:

1. DragSelectionGuard extension — suppresses selectionchange → selectionToDOM
   during active drags, blocks CellSelection transactions from prosemirror-tables,
   and restores native selection post-mouseup to preserve table-cell highlighting.

2. safeReactNodeViewRenderer — patches handleSelectionUpdate so selectNode/
   deselectNode only fire for actual NodeSelections, preventing React re-renders
   mid-drag that disrupt native selection tracking (Tiptap #7647).
2026-04-15 22:58:16 -07:00
Jinjing bb53c4a7b6 fix: address auto-review findings (#703) 2026-04-15 22:54:03 -07:00
Jinjing 250dd77414 fix: prevent phantom notifications when shutting down worktree terminals (#700)
Unregister PTY data handlers before killing PTYs during worktree
shutdown so the final data flush cannot trigger bell/agent-status
notifications. Also cancels accumulated closure state (staleTitleTimer,
agent tracker) via teardown callbacks, and adds a hasLivePtys guard
at notification dispatch time as a belt-and-suspenders check.
2026-04-15 22:39:23 -07:00
Jinjing 53b75f6f16 Revert "Add terminal jump-to-present control (#660)" (#697)
This reverts commit d256879f3e.
2026-04-15 22:08:25 -07:00
Jinwoo Hong a68bab60a6 fix: prevent stale terminal buffer flash on tab switch (#694) 2026-04-15 21:12:54 -07:00
Jinjing 0c48f0ac3c fix: close editor/diff tabs should navigate to visual neighbor tab (#693)
closeFile() only removed the file from openFiles and picked the next
active file by array position. Terminal and browser closes already went
through closeUnifiedTab() which uses pickNeighbor(group.tabOrder) for
visual neighbor selection. Add the same closeUnifiedTab() call to
closeFile() so editor, diff, and conflict-review tab closes behave
consistently.

Also update the /electron skill with Orca-specific CDP launch recipe
and broader trigger keywords for more reliable invocation.
2026-04-15 21:06:37 -07:00
Jinwoo Hong 8c3501f8c5 fix: improve PDF viewer by hiding sidebar and removing padding (#689) 2026-04-15 20:34:34 -07:00
Jinjing 3466e552d0 fix: return error objects from IPC repo handlers instead of throwing (#691)
* fix: return error objects from IPC repo handlers instead of throwing

Electron IPC does not preserve Error objects across the process boundary,
so throwing from main-process handlers can result in opaque failures on
the renderer side. Switch repos:add and repos:addRemote to return
{ repo: Repo } | { error: string } discriminated unions, and update all
call sites to check for the error variant.

* fix: address review findings

- Add explicit return type to repos:add handler for type safety
- Log errors in NonGitFolderDialog catch block (direct IPC call
  bypasses store toast handling)

* fix: show toast on remote folder add failure

The NonGitFolderDialog calls addRemote directly (bypassing the store),
so errors were silently swallowed. Show a toast so the user sees feedback.
2026-04-15 20:33:26 -07:00
Brennan Benson 67ea84a0fb fix: restore worktree sidebar scroll viewport (#688) 2026-04-15 20:16:52 -07:00
brennanb2025 4730d02acb 1.2.2-rc.2 v1.2.2-rc.2 2026-04-15 19:36:48 -07:00
Brennan Benson 30d6f11d70 feat: add split editor button to tab header (#687) 2026-04-15 19:35:44 -07:00
Brennan Benson 5b86271acd fix: correct terminal split icon arrow directions (#686) 2026-04-15 19:07:00 -07:00
Brennan Benson a6b5552ba7 Add orca.yaml with setup script (#685) 2026-04-15 19:01:08 -07:00
Brennan Benson 883a8f435b Disambiguate terminal split from tab group split labels (#684) 2026-04-15 18:41:51 -07:00
Jinwoo Hong 3b53441b96 feat: split smart sort and recent sort into separate modes (#680) 2026-04-15 17:54:06 -07:00
Jinwoo Hong ae11e7fefb fix: position browser context menu at cursor with edge flipping (#682) 2026-04-15 16:55:27 -07:00
Brennan Benson e73f831490 fix: return to Orca landing screen after closing last terminal (#677) 2026-04-15 16:08:08 -07:00
Brennan Benson ae54be0450 Align workspace chrome and split tab headers (#679) 2026-04-15 16:07:15 -07:00
github-actions[bot] f0b4ca2eb0 release: 1.2.2-rc.1 [rc-slot:2026-04-15-16] v1.2.2-rc.1 2026-04-15 23:04:56 +00:00
Brennan Benson 1c93270157 feat: add New Markdown option to tab group plus icon (#678) 2026-04-15 15:32:49 -07:00
github-actions[bot] e6d81d49f1 release: 1.2.2-rc.0 [rc-slot:2026-04-15-15] v1.2.2-rc.0 2026-04-15 22:09:34 +00:00
Neil 3cd49fd11f Run RC releases directly from the scheduler 2026-04-15 15:09:00 -07:00
brennanb2025 3c237d1f4d 1.2.1 v1.2.1 2026-04-15 14:18:16 -07:00
Brennan Benson aad7d04997 Fix split pane shortcuts targeting hidden worktrees (#676) 2026-04-15 14:16:39 -07:00
brennanb2025 d22a466ece 1.2.0 v1.2.0 2026-04-15 13:22:44 -07:00
Brennan Benson e4cdb29a01 feat: enable split groups renderer path (#669) 2026-04-15 13:12:54 -07:00
Jinwoo Hong f5b716a760 feat: add browser tab search to Cmd+J jump palette (#675) 2026-04-15 12:54:56 -07:00
Jinwoo Hong 97f3cd5199 feat: add pinned worktrees to sidebar (#674) 2026-04-15 12:23:13 -07:00
Jinwoo Hong 6507ff8564 fix: prevent markdown files from appearing dirty on open (#673) 2026-04-15 11:38:40 -07:00
Jinjing 13f6c4a57b 1.1.33-rc.3 v1.1.33-rc.3 2026-04-15 09:56:23 -07:00
github-actions[bot] 45f904cb4e release: 1.1.33-rc.2 [rc-slot:2026-04-15-03] v1.1.33-rc.2 2026-04-15 10:38:10 +00:00
Jinjing d43dd038dc fix: prevent stale base ref errors when switching repos (#670)
Reset defaultBaseRef to null on repo change so effectiveBaseRef becomes
falsy until the IPC resolves, preventing branch compare from firing with
a stale cross-repo value. Also fix loading→error→loading flicker by only
resetting to loading state on first request or when base ref changes.
2026-04-15 00:51:19 -07:00