Commit Graph
2946 Commits
Author SHA1 Message Date
Jinjing 760eb80ee1 1.0.83 2026-04-04 00:24:46 -07:00
Jinwoo Hong c03145514e Persist active worktree filter (#290) 2026-04-04 00:15:16 -07:00
Jinjing 386fd0395e route native file drops to editor vs terminal based on drop surface (#289)
* fix: address review findings

- Default to 'editor' target when drop lands outside tagged zones,
  preserving the prior open-in-editor behavior for sidebar/editor body drops
- Add trailing space after each terminal-dropped path so multi-file drops
  are properly separated in terminal input

* feat: route native file drops to editor vs terminal by drop surface

Add data-native-file-drop-target markers and IPC target field so the
preload can classify OS drops before forwarding to the renderer.
2026-04-04 00:08:33 -07:00
Jinwoo Hong 2f6d96b346 Keep Orca runtime metadata owned by the active process (#288) 2026-04-04 00:01:19 -07:00
Jinjing 90d0fae8f5 feat: add explicit worktree setup flow (#286)
* feat: add explicit worktree setup flow

- Centralize worktree activation setup flow

- fix: render orca.yaml file contents in settings repo pane instead of tags when using config file

- fix: command preview title for yaml configs

- fix: update UI copy and styling to better reflect yaml setup hooks

- fix: run setup hook in background if CLI worktree is created while GUI is closed

- fix: prevent duplicate terminal tab creation when creating worktrees from the UI

- fix: ensure CLI worktree create returns correct payload type and hooks up UI setup flow

- Squashed commits

- fix minor regression

- fix: close worktree context menu when deleting

- fix: keep delete dialog open while archive hook runs and support inline yaml scripts

- chore: fix lint, typecheck and react state mutations during render for setup script feature

* fix(lint): split worktrees.test.ts to stay under max-lines limit

Extract Windows path-handling tests into worktrees-windows.test.ts
to bring the original file under the 300-line oxlint max-lines rule.

* fix(test): set up path mocks for setup launch payload test

The computeWorktreePathMock and ensurePathWithinWorkspaceMock were
cleared by afterEach but not re-established in the test, causing
areWorktreePathsEqual to receive undefined and crash.
2026-04-03 23:44:23 -07:00
Jinjing ee7ac0cbc0 fix(ci): use github format for oxlint to show filenames in lint errors (#287)
The default oxlint output buries filenames in multi-line blocks, making
CI errors like "File has too many lines" hard to diagnose. The github
format produces ::error annotations with file paths front and center.
2026-04-03 23:30:23 -07:00
Jinjing bbc85505c5 fix: improve error messages and focus handling for new file/folder creation (#285) 2026-04-03 23:13:28 -07:00
Neil f593613163 1.0.82 v1.0.82 2026-04-03 23:07:56 -07:00
JinjingandNeil 414b761e19 fix(mac): improve macOS release tagging (#284)
Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
2026-04-03 23:07:44 -07:00
Jinjing 2bbf3ac59d Remove delete confirmation for untracked files in Source Control (#283)
The window.confirm dialog for discarding untracked files is unnecessary
friction — just discard immediately like tracked file changes.
2026-04-03 22:32:59 -07:00
Jinwoo Hong 46070d8f27 Fix Windows packaged Orca CLI launcher path resolution (#282) 2026-04-03 22:20:09 -07:00
Jinwoo Hong 1c6d5a1fa0 Fix Windows worktree create path matching (#280) 2026-04-03 22:09:07 -07:00
Jinwoo Hong b3494b63b4 Normalize Orca worktree branch selectors (#281) 2026-04-03 22:08:59 -07:00
Jinjing 6c78908a7c fix: refresh worktree branch metadata for PR sorting (#278)
* fix: refresh worktree branch metadata for PR sorting

- refresh active worktree metadata when terminal branch changes occur
- keep recent sorting aligned with current-branch PR state while preserving cold-cache fallback
- avoid no-op worktree polling updates that still notify Zustand subscribers

* test: fix isolated worktree slice harness typing

* test: model resolved PR cache misses in smart sort coverage
2026-04-03 20:59:16 -07:00
Jinjing aedd4f7b4f docs: update README for CLI integration and improve conversion (#279)
This commit completely overhauls the README to prominently feature the new Orca CLI orchestration capabilities. It also revamps the page structure for better conversion by adding trust badges, explicit cross-platform support text, a 'Quick Start' guide, and a dedicated 'Why Orca?' section. Lastly, the CONTRIBUTING.md guide was updated to encourage contributors to provide their Twitter handle for shoutouts.
2026-04-03 20:56:34 -07:00
Jinjing 653575e506 fix: open external files in Orca editor (#276)
* feat: allow opening files outside the worktree in the editor

Fixes an issue where prompting Claude Code to open a file outside the worktree
would fall back to opening the default system viewer, and dragging external files
into Orca wouldn't work.

- Replaced `shell.openFilePath` fallback with internal `store.openFile` for
  external files clicked in the terminal.
- Added a global drag-and-drop handler (`useGlobalFileDrop`) that resolves
  external file paths and opens them natively in Orca.
- Used `window.api.fs.stat` to prevent opening directories directly in the editor,
  falling back to the OS system viewer.

Closes stablyai/orca#271

* fix: authorize external editor file opens
2026-04-03 18:56:37 -07:00
Jinjing cb32f017aa 1.0.81 v1.0.81 2026-04-03 17:06:52 -07:00
Jinwoo Hong 44af290fed Update Orca skill install command (#274) 2026-04-03 16:57:40 -07:00
Jinwoo Hong 182ba156dd Add Orca runtime CLI and bundled install support (#273) 2026-04-03 16:50:28 -07:00
Jinjing ccc1fa7b8b fix: improve contextual copy affordance in monaco (#272) 2026-04-03 14:37:40 -07:00
Yax Patel 1cabc35e45 fix: make sidebar resizing responsive (#270)
* feat: add field to edit terminal font weight

* fix: allow scrolling in terminal font menu dropdown

* feat: scroll through fonts with arrow keys

* fix: keep terminal font picker keyboard-focused after button clicks

* fix: let keyboard users close terminal font picker from toggle button

* fix: responsive resize behavior

* chore: add tests

* fix: clamp hydrated sidebar widths
2026-04-03 14:14:37 -07:00
Jinjing 84f316b6ac 1.0.80 v1.0.80 2026-04-03 11:39:41 -07:00
Jinjing 51e9a8fafe fix: restore markdown source editor layout (#269) 2026-04-03 11:35:30 -07:00
Jinjing b55f54ecaa 1.0.79 v1.0.79 2026-04-03 10:40:38 -07:00
Jinjing 38103400e0 fix: avoid electron-vite release build OOM (#268) 2026-04-03 10:40:24 -07:00
Jinjing 8f67e28e22 1.0.78 v1.0.78 2026-04-03 10:09:24 -07:00
Jinjing 2d6fbec929 feat: auto updater background polling and persistent reminder UI (#266)
* feat: add update reminder component and background polling

* refactor: replace update reminder banner with subtle bottom-right toast

Swap the full-width top banner for a compact fixed-position toast in the
bottom-right corner, matching the existing Sonner toast styling. Also
extract pure functions (statusesEqual, isBenignCheckFailure) from
updater.ts into updater-fallback.ts to fix max-lines lint error.

* fix: mock checkForUpdates to return a promise so .catch() works in tests
2026-04-03 10:02:44 -07:00
Jinjing a3a0ba24d2 fix: preserve rich markdown round-trips (#267) 2026-04-03 09:57:54 -07:00
Jinjing 6016b6ef5b 1.0.77 v1.0.77 2026-04-03 00:42:58 -07:00
Jinjing 1b91904af4 fix: defer mac auto-update install until ShipIt is ready (#265)
* fix: defer mac auto-update install until ShipIt is ready

* fix: import missing deferMacQuitUntilInstallerReady
2026-04-03 00:42:44 -07:00
Jinjing 3e22aaf16a 1.0.76 v1.0.76 2026-04-03 00:34:03 -07:00
Jinjing 22f916e421 feat: add rich markdown editor mode (#264)
* feat: add rich markdown editor mode

* fix: preserve rich search navigation focus
2026-04-02 22:53:47 -07:00
Jinjing bf15a5ae84 1.0.75 v1.0.75 2026-04-02 21:15:32 -07:00
Jinjing 850c2f5b5e 1.0.74 2026-04-02 21:15:29 -07:00
Neil 86524a4da5 Fix link formatting in installation instructions (#263) 2026-04-02 21:13:35 -07:00
Neil ef12fac745 Update README with installation and shipping details 2026-04-02 21:12:33 -07:00
Jinjing 126ec8ba0e fix: accurate rebase status detection and continuous status polling (#262) 2026-04-02 20:50:22 -07:00
Neil 6c391cb7a3 Update README.md (#261) 2026-04-02 16:40:31 -07:00
Jinjing 9dd73b8b32 fix: stabilize search result editor reveal (#260) 2026-04-02 08:47:18 -07:00
Jinjing 2d7c597e82 1.0.73 v1.0.73 2026-04-02 00:08:55 -07:00
Matheus NogueiraandClaude Opus 4.6 3c36da80a8 fix: add git-based fallback for file search on Linux (#257)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 21:05:18 -07:00
Jinjing 11c65ab3a7 1.0.72 v1.0.72 2026-04-01 17:29:46 -07:00
Jinjing 0a988d5c9b fix: restore pdf preview rendering (#258) 2026-04-01 17:28:05 -07:00
Jinjing 00d3e15c71 feat: change default divider thickness to 3px for first-time users (#256)
The previous 1px default was too thin for comfortable visibility.
This changes the default to 3px, which only affects new users who
haven't customized the setting. Also updates the preview component's
fallback to stay consistent with the new default.
2026-04-01 16:38:55 -07:00
Jinjing 532ee5ca4e fix: show file action buttons only on hover without layout shift (#255)
Action buttons (revert, stage) in the Changes list now use absolute
positioning with a solid background overlay, so they appear on hover
without taking up space or shifting file names and status letters.
2026-04-01 16:29:44 -07:00
Matheus Nogueira 2ec433f6df feat: add copy remote URL to line number context menu (#253)
* feat: add copy remote URL to line number context menu

Add 'Copy Remote URL' option to the line number gutter right-click menu,
allowing users to quickly copy a shareable link to a file and line on
GitHub, GitLab, Bitbucket, or other hosted git providers.

- Install hosted-git-info to parse remote URLs and generate browse URLs
- Add getRemoteFileUrl() to resolve file URLs using default branch
- Wire up IPC handler, preload bridge, and renderer UI
- Use ExternalLink icon to distinguish from path copy options

* refactor: use @types/hosted-git-info instead of custom type declarations

Replace the custom hosted-git-info.d.ts with the @types package from
DefinitelyTyped. Use a targeted cast for browseFile() which the @types
package doesn't include yet (stuck on v3 API).

* refactor: revert to local type declarations for hosted-git-info

The @types/hosted-git-info package is stuck on the v3 API and lacks
browseFile(). A local .d.ts is cleaner than casting around stale types.
2026-04-01 20:02:05 -03:00
Jinjing e8e7d2ea8f feat: add PDF file preview support in diff viewer (#252)
* fix: address review findings

- Add sandbox="allow-same-origin" to PDF iframes to prevent script execution
- Wrap atob() in try/catch to gracefully handle corrupt base64 data
- Reset imageError state on content change to allow re-rendering
- Add click overlay on PDF iframe so popup open works correctly
- Compact test mock resets to stay within max-lines lint rule

* fix: consolidate binary preview tests to stay within max-lines limit
2026-04-01 15:12:50 -07:00
Jinjing 528e03e8a5 fix: add null-byte validation to resolveRegisteredWorktreePath (#251) 2026-04-01 14:04:33 -07:00
Jinjing 5b3f132519 feat: prevent branch name reuse across PR history (#250)
- Reject worktree creation if the computed branch name already exists locally, on a remote, or in PR history. This prevents a fresh worktree from inheriting a stale/merged PR immediately after creation.
- Wrap getPRForBranch in try/catch so GitHub API failures don't block worktree creation
- Fix remote branch matching to compare full branch name after refs/remotes/<remote>/ prefix, preventing false positives
- Wrap updateWorktreeMeta in try/catch so meta-update failures don't leave the dialog in an error state for an already-created worktree
2026-04-01 13:24:07 -07:00
Jinjing 918e72b49a 1.0.71 v1.0.71 2026-04-01 09:39:46 -07:00