805 Commits
Author SHA1 Message Date
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
Jinwoo Hong 3632436ca6 feat: add Cmd+F find-in-page to browser pane (#668) 2026-04-15 00:47:05 -07:00
Brennan Benson 90b7f61e65 refactor: dark-launch split groups with correctness fixes (#643)
* refactor: enable split groups

* Fix split groups terminal host rollout

* refactor: remove split groups from add-tab menu

* refactor: dark-launch split groups with correctness fixes
2026-04-15 00:01:40 -07:00
Neil fe8f863052 Simplify remaining Orca issue forms 2026-04-14 23:29:55 -07:00
Neil 306118dbee refactor: eliminate useEffect anti-patterns (audit pass 2) (#665)
* refactor: eliminate useEffect anti-patterns across 5 components

- MonacoEditor, RichMarkdownEditor: assign callback/prop refs directly
  during render instead of via useEffect, so ProseMirror and Monaco
  handlers always read the current closure rather than a one-render-
  stale copy.

- SettingsFormControls (FontAutocomplete): replace useEffect that reset
  highlightedIndex on filteredSuggestions/open changes with the
  "adjusting state during render" pattern (track prevOpen /
  prevFilteredSuggestions), so the correct item is highlighted on the
  same paint as the dropdown opens or the filter updates.

- ChecksPanel: replace useEffect that reset 5 local state fields on
  activeWorktreeId change with the "adjusting during render" pattern
  (track prevActiveWorktreeId), so stale title/loading UI from the
  previous worktree is cleared before the first paint of the new one.

- SshPassphraseDialog: split one useEffect that both reset form state
  and focused the input into (a) during-render state reset and (b) a
  focused DOM-only useEffect, so the cleared input is visible
  immediately rather than after a post-paint effect flush.

* fix: resync font autocomplete highlight on value change
2026-04-14 23:28:58 -07:00
Jinwoo Hong 81144f29db fix: prevent window re-maximize when opening browser tab (#666) 2026-04-14 23:20:43 -07:00
Brennan Benson 66456acf8d refactor: extract tab group workspace model and host (#664) 2026-04-14 21:39:45 -07:00
RamziandJinwoo-H a7399cf11f fix: plug memory leaks, unbounded caches, and disk accumulation (#595)
Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
2026-04-14 21:07:48 -07:00
Brennan Benson c889e95d65 refactor: gate split group surface ownership in Terminal.tsx (#642) 2026-04-14 20:19:11 -07:00
Colin ChambachanandClaude Sonnet 4.6 d256879f3e Add terminal jump-to-present control (#660)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 19:42:28 -07:00
RamziandJinwoo-H fb5afc3aab feat: add .mmd/.mermaid file viewer with rendered diagram toggle (#597)
Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
2026-04-14 19:26:55 -07:00