Commit Graph
2946 Commits
Author SHA1 Message Date
JinjingandClaude Opus 4.6 a1e2ba2003 fix: change Squash & merge button from purple to green (#145)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-27 15:01:46 -07:00
Jinjing e3d86dc193 fix: align shortcut labels and remove shift-enter terminal intercept (#144) 2026-03-27 14:59:36 -07:00
Jinjing 004c98c959 1.0.54 v1.0.54 2026-03-27 12:59:46 -07:00
Jinjing 18bc9013d9 fix: remove --delete-branch from mergePR to prevent worktree error (#143) 2026-03-27 12:57:22 -07:00
Jinjing a728982a1d fix: Add --yes flag to gh pr merge command (#142)
* fix: squash and merge issue

- fix: squash and merge issue

* fix: use GH_PROMPT_DISABLED instead of invalid --yes flag
2026-03-27 12:49:17 -07:00
JinjingandClaude Opus 4.6 59c5f29e25 fix: force-refresh PR status and checks when manually refreshing (#141)
The refresh button was serving cached data instead of fetching fresh
PR status and checks. Added force option to bypass cache TTL on
manual refresh, and ensured checks are fetched for the correct
(refreshed) PR number.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-27 12:35:24 -07:00
JinjingandClaude Opus 4.6 cff5b034e4 feat: add revert/discard support for untracked files in source control (#140)
- Enhance discardChanges to handle untracked files by deleting them instead of git checkout
- Add path traversal protection to prevent discarding files outside the worktree
- Extract source control action logic into getSourceControlActions helper
- Show revert button for untracked files with confirmation dialog
- Add tests for both backend and frontend logic

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-27 12:35:19 -07:00
Jinwoo Hong 00332fbd3e 1.0.53 v1.0.53 2026-03-27 15:15:19 -04:00
Jinwoo HongandClaude Opus 4.6 3e65d7e5aa fix: Windows terminal blank/unresponsive (#139)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-27 15:11:35 -04:00
JinjingandClaude Opus 4.6 30c8bf89c6 feat: auto-fetch PR on worktree change and refresh in empty state (#138)
* feat: auto-fetch PR data on worktree change and add refresh to empty state

Add useEffect to fetch PR data when the active worktree/branch changes,
and add a refresh button with loading spinner to the "no PR found" empty
state. Extract check helpers to separate file to stay within line limit.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* refactor: replace custom PullRequestIcon SVG with lucide GitPullRequest

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-27 10:43:58 -07:00
Jinjing 056c5e0781 1.0.52 v1.0.52 2026-03-27 09:59:26 -07:00
Jinjing dd4eb42f5d Improve smart worktree sorting (#137) 2026-03-27 09:47:17 -07:00
Jinjing 97ef6d5e20 feat: add merge PR functionality across stack (#135)
- feat: add merge PR functionality across stack
2026-03-26 23:45:36 -07:00
Jinjing c342676074 1.0.51 v1.0.51 2026-03-26 23:33:59 -07:00
Jinjing 4a11ab2dc9 fix: refactor code and address review findings (#134)
- chore: remove auto-review context file
- WIP: Changes before auto-review fixes
2026-03-26 23:31:53 -07:00
JinjingandClaude Opus 4.6 9e2d838b74 fix(updater): show download progress toast and enable toast feedback for settings check (#133)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 17:22:03 -07:00
JinjingandClaude Opus 4.6 b891b07189 feat: reduce GitHub API usage with gh api --cache for conditional requests (#132)
- Use gh api --cache for issues, issue lists, and PR checks endpoints so 304 Not Modified responses don't count against the rate limit
- Pass branch to getPRChecks to enable the check-runs REST endpoint with caching
- Extract mapping functions into separate mappers.ts to keep client.ts within 300-line limit
- Extract mapIssueInfo() helper to deduplicate issue mapping logic
- Remove dead re-exports from client.ts
- Fix reference instability in ChecksPanel poll dependency array

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 17:15:49 -07:00
Jinjing a5167c5a03 Revert "fix(ui): unify split download button" (#131) 2026-03-26 16:42:41 -07:00
JinjingandClaude Opus 4.6 e70706c1b0 fix(ui): unify split download button into single cohesive element (#130)
Merge the separate download action button and dismiss button into one
unified button element. The dismiss icon now appears on hover only,
eliminating the visual split.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 16:31:53 -07:00
Matheus Nogueira 1a10fbfbe6 1.0.50 v1.0.50 2026-03-26 20:21:19 -03:00
Matheus Nogueira 390c3f5ceb fix(terminal): support Ctrl/Cmd+Shift+C copy shortcut (#129) 2026-03-26 20:20:42 -03:00
Jinjing 0d58a0bc45 feat: reduce GitHub API usage for checks and improve cache invalidation (#127)
- Fix ChecksPanel memory leak: add cancelled flag to prevent schedulePoll after unmount
- Include status in check signature for proper backoff reset on state transitions
- ChecksPanel lint: use ternary instead of if/else
- Don't cache empty string on gh CLI failure so login detection retries
- Clear checksCache on refreshAllGitHub to ensure fresh data
- Remove dead fetchIssueList code and supporting infrastructure
2026-03-26 16:14:05 -07:00
JinjingandClaude Opus 4.6 d7895d575d style: remove redundant PR state label from worktree card header (#128)
The PR state (merged/open/closed/draft) is already accessible via tooltip,
so the inline text label in the header is unnecessary visual noise.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 16:06:59 -07:00
Jinjing 30c01f4c29 1.0.49 v1.0.49 2026-03-26 15:56:30 -07:00
Jinwoo HongandClaude Opus 4.6 796296ee25 feat: VS Code-style preview tabs for editor (#126)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 14:53:46 -07:00
Neil 605aba900b 1.0.48 v1.0.48 2026-03-26 14:48:02 -07:00
NeilandClaude Opus 4.6 f5f125e7db fix: prevent macOS auto-update from appearing to fail silently
Two issues caused "Restart to Update" to not apply the update on macOS:

1. Premature window destruction: quitAndInstall() destroyed all windows
   before calling autoUpdater.quitAndInstall(). On macOS, MacUpdater
   delegates to Squirrel.Mac which may not be ready yet — it registers
   a listener and returns. With zero windows, the dock "activate" handler
   would re-open the old version, making it appear the update failed.
   Fix: remove close listeners (so windows don't block quit) but don't
   destroy them. Let Squirrel.Mac handle the actual quit.

2. Premature "ready to install" status: electron-updater fires its
   'update-downloaded' event after downloading the ZIP from GitHub, but
   BEFORE Squirrel.Mac finishes downloading from the localhost proxy.
   The UI showed "ready to install" when the update wasn't actually
   installable yet. Fix: on macOS, defer the 'downloaded' status until
   Electron's native autoUpdater confirms Squirrel has the update.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 14:47:47 -07:00
Neil bad6ad51a9 1.0.47 v1.0.47 2026-03-26 14:21:15 -07:00
NeilandClaude Opus 4.6 464287db31 fix: include arch in DMG artifact name to prevent x64/arm64 collision
Both x64 and arm64 DMGs were named identically (orca-{version}.dmg),
causing one to overwrite the other during release upload.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 14:21:03 -07:00
Neil 0100a98bfc 1.0.46 v1.0.46 2026-03-26 13:05:01 -07:00
Jinwoo HongandClaude Opus 4.6 4d4d1ad2a6 fix: preserve 'show active only' filter when creating a worktree (#117)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 13:04:41 -07:00
Neil c3d5b62644 1.0.45 v1.0.45 2026-03-26 12:53:32 -07:00
NeilandClaude Opus 4.6 38c5b6b970 fix: stabilize active worktree order in 'recent' sort (#116)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 12:51:05 -07:00
JinjingandClaude Opus 4.6 406f95b072 style: adjust worktree card comment styling and status indicator padding (#115)
Remove italic from comment text and tweak status indicator top padding from 3px to 2px.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 08:21:39 -07:00
JinjingandClaude Opus 4.6 149acf26bb fix: address review findings in updater flow (#114)
- Add console.error logging to startup update check catch block
- Add state guard to downloadUpdate() to prevent calls outside 'available' state
- Track and dismiss 'available' toast when download starts or completes
- Include version number in downloading status text

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 07:35:52 -07:00
Neil 6650289dcb Update README.md 2026-03-26 01:48:34 -07:00
Neil 8b8ef58245 Revise README heading and add link
Updated heading structure and added link formatting.
2026-03-26 01:48:01 -07:00
Neil e0c90f0c06 Update project title link in README 2026-03-26 01:47:22 -07:00
Neil 954678011a Fix Markdown link formatting in README 2026-03-26 01:46:22 -07:00
Neil 4a3e1e2b1f Update README.md 2026-03-26 01:46:00 -07:00
Jinjing 00f82f9004 1.0.44 v1.0.44 2026-03-26 00:28:52 -07:00
JinjingandClaude Opus 4.6 d127b2cfb3 feat: polish UI with softer borders, smaller labels, and PR state colors (#113)
Soften border opacity across UI components, move label default to text-xs,
simplify worktree group tones, and color PR icons by state.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 00:20:58 -07:00
NeilandClaude Opus 4.6 27b29a0f8d fix: make release publish atomic to prevent update 404s (#112)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 00:02:31 -07:00
Neil c04275a5f2 1.0.43 v1.0.43 2026-03-25 23:45:50 -07:00
NeilandClaude Opus 4.6 f473e3f53e fix: exclude xterm helper textarea from editable target check (#111)
PR #103 added a blanket isEditableTarget() guard that inadvertently
matched xterm.js's internal <textarea class="xterm-helper-textarea">,
blocking Cmd+D (split pane), Shift+Enter (newline), and all other
terminal shortcuts whenever the terminal was focused.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-25 23:44:30 -07:00
JinjingandClaude Opus 4.6 8adecbecce feat: replace monospace body font with Geist Sans (#110)
Switch the app-wide font from SF Mono/monospace to Geist Sans for a
more polished, modern UI. Bundle the variable woff2 font in assets for
cross-platform support. Remove font-mono from sidebar and settings
components while keeping monospace in terminal/editor contexts.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-25 23:16:22 -07:00
JinjingandClaude Opus 4.6 902e2271b9 fix: handle orphaned worktree deletion with disk cleanup (#109)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-25 23:14:48 -07:00
JinjingandClaude Opus 4.6 69978c93f5 test: expand test coverage and extract worktree logic into testable module (#108)
Add comprehensive tests for worktree parsing, GitHub check status derivation,
hooks YAML parsing, persistence store, layout serialization, store cascades,
and terminal helpers. Extract pure functions from worktrees.ts into
worktree-logic.ts for better testability.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-25 22:34:20 -07:00
Neil 951ab72d7b 1.0.42 v1.0.42 2026-03-25 22:27:15 -07:00
NeilandClaude Opus 4.6 3d4ed411c5 feat: editable diff views for unstaged changes (#107)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-25 22:25:36 -07:00