Commit graph

993 commits

Author SHA1 Message Date
Brennan Benson
741974c59c
refactor: add split group model foundations (#644) 2026-04-14 14:39:01 -07:00
Jinwoo Hong
901c7335a2
fix: prevent stale terminal buffer flash on worktree switch (#654) 2026-04-14 14:38:41 -07:00
Brennan Benson
033b8bcc31
fix: snapshot uncommitted entries in combined diff to survive commits (#652) 2026-04-14 14:11:05 -07:00
Jinwoo-H
e342b64e78 1.1.32 2026-04-14 16:11:44 -04:00
Jinwoo Hong
8f8cbf1497
fix: skip Windows code signing verification for unsigned builds (#651) 2026-04-14 16:10:55 -04:00
Jinwoo Hong
0186891bf2
perf: keep right sidebar mounted when closed to avoid remount freeze (#640) 2026-04-14 16:06:39 -04:00
Neil
c37aa664bc Use timezone-aware RC release schedule 2026-04-14 12:39:47 -07:00
Jinwoo Hong
a913d7f939
fix: add pnpm/yarn/bun global bin paths and resolve claude CLI for GUI-launched apps (#649) 2026-04-14 12:32:29 -07:00
Neil
edad6b8e98 Add scheduled RC release workflow 2026-04-14 12:27:50 -07:00
Jinwoo-H
7a40d72bfa 1.1.31 2026-04-14 15:12:37 -04:00
Jinwoo Hong
586ae52c7f
fix: scope macOS signing secrets to mac-only CI step (#647) 2026-04-14 14:50:07 -04:00
Neil
e236171c04 Make Orca version optional in bug form 2026-04-14 11:03:17 -07:00
Neil
7350f00e2e Simplify Orca bug report fields 2026-04-14 10:45:24 -07:00
Jinjing
4479e4c0eb
fix: use >= in compareVersions fallback to handle equal/unparseable versions (#635)
compareVersions returns 0 for both genuinely equal versions and
unparseable strings. In the localIndex === -1 fallback path, skipping
on >= 0 (instead of just > 0) avoids showing stale rich cards when
the version relationship is ambiguous.
2026-04-14 10:33:25 -07:00
Jinjing
bc20035652
fix: improve rich card display logic for current and unlisted versions (#634)
Show rich changelog entries at the user's current version (they may not
have seen the card yet). When the local version isn't in the changelog
JSON, use semver comparison instead of assuming the user is very old —
this avoids showing stale cards to users on newer patch releases.
2026-04-14 10:25:55 -07:00
theofbonin
50d372c385
fix: copy-on-selection for right-click paste in terminal (#632)
Co-authored-by: theofbonin <theo@frizzarin.com.br>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 10:07:30 -07:00
Jinjing
6f89c89075
fix: worktree list right-side padding and hidden scrollbar (#629)
Hide the sidebar scrollbar and add right padding to prevent cards
from touching the sidebar edge.
2026-04-14 01:26:46 -07:00
Neil
e3844cb46f 1.1.30 2026-04-14 01:00:47 -07:00
Jinwoo Hong
170610d1b2
fix: resolve Windows freeze when switching worktrees with right sidebar open (#628) 2026-04-14 00:45:04 -07:00
Jinjing
c163682a76 1.1.29 2026-04-14 00:36:26 -07:00
Jinjing
ed981ad4d8
Fix sidebar virtualizer layout after worktree deletes (#627) 2026-04-14 00:30:34 -07:00
Jinwoo Hong
60a092686b
perf: systematic performance optimizations (#623) 2026-04-14 00:28:56 -07:00
Jinjing
ef75e8d0c2
fix: avoid stale worktree card remeasurement (#626)
* fix: guard WorktreeList getItemKey against stale virtualizer cache entries

When rows shrink (group collapse, worktree removal) while PR/issue data
arrives asynchronously, the virtualizer's elementsCache can hold stale
entries whose data-index exceeds the new rows length. measureElement
calls getItemKey for those stale indices, causing "Cannot read properties
of undefined (reading 'type')". Add a null guard matching the pattern
already used by FileExplorer and Search virtualizers.

* fix: avoid stale worktree card remeasurement
2026-04-13 23:57:48 -07:00
Jinjing
b4c27bc37a 1.1.28 2026-04-13 23:38:52 -07:00
Jinjing
535a88bf47 1.1.28-rc.1 2026-04-13 23:32:18 -07:00
Jinjing
5bb03eb8f4
fix: guard WorktreeList getItemKey against stale virtualizer cache entries (#625)
When rows shrink (group collapse, worktree removal) while PR/issue data
arrives asynchronously, the virtualizer's elementsCache can hold stale
entries whose data-index exceeds the new rows length. measureElement
calls getItemKey for those stale indices, causing "Cannot read properties
of undefined (reading 'type')". Add a null guard matching the pattern
already used by FileExplorer and Search virtualizers.
2026-04-13 23:31:50 -07:00
Jinjing
49080b1d2d 1.1.28-rc.0 2026-04-13 23:10:34 -07:00
Jinjing
2f5eac22fd 1.1.27 2026-04-13 23:05:09 -07:00
Jinjing
2b5ac7239f
fix: improve cmd+j palette search stability and selection behavior (#622)
- Snap selection to first result when search query changes instead of
  keeping a stale mid-list selection
- Add 150ms debounce on search to reduce result list reshuffling
- Scroll list to top on query change
- Remove green highlight on current worktree row (Current badge remains)
- Remove primary-branch promotion sort that caused jumpy reordering
2026-04-13 22:51:12 -07:00
Jinjing
0ad3fda397
fix: harden active agent hovercard (#621) 2026-04-13 22:49:15 -07:00
Jinjing
130c3e9697
feat: scope terminal shell history per worktree (#620)
* feat: scope terminal shell history per worktree

Each worktree gets its own HISTFILE so ArrowUp only surfaces commands
from the current worktree. Integrates with the new LocalPtyProvider
architecture: history env injection runs after buildSpawnEnv but before
spawnShellWithFallback, and onBeforeFallbackSpawn keeps HISTFILE in
sync when the shell falls back.

* fix: align preload type declaration with implementation

Add missing command field to PtyApi.spawn in index.d.ts to match
the runtime index.ts signature, fixing TS2769 overload conflict.

* chore: remove terminal-history-scope-design.md from tracked files

* fix: mock terminal-history in worktrees test

The deleteWorktreeHistoryDir import pulls in electron's app module.
Add a vi.mock so the test doesn't hit the real electron export.
2026-04-13 22:42:53 -07:00
Jinjing
28a1c93c8c
feat: allow dropping external files into the file explorer (#618)
Add support for dragging files from the OS into the file explorer sidebar.
Files are copied (not moved) into the target directory within the worktree.

- Preload detects native file drops via capture-phase listener and resolves
  the drop target (editor, terminal, or file-explorer) from DOM attributes
- New IPC handler `fs:importExternalPaths` copies files/directories with
  symlink pre-scanning, path-traversal protection, and dedup on conflict
- FileExplorer tracks native drag state separately from internal drag state
  to show correct drop highlights without interfering with tree reordering
- FileExplorerRow expands directories on hover during native drags
- useFileExplorerImport hook subscribes to preload IPC events and drives
  the import → refresh → reveal pipeline

Includes review fixes:
- Clear nativeDropTargetDir on row drag-leave to prevent stale highlights
- Clear native drag state on early return in useFileExplorerImport
- Extract row drag logic to useFileExplorerRowDrag hook
- Split import tests into dedicated filesystem-import.test.ts
- Use T[] syntax instead of Array<T> per lint rules
- Use ternary expressions for simple if/else per lint rules
2026-04-13 22:04:49 -07:00
Manish Reddy Nandineni
975328e258
fix: show platform-correct modifier keys on homepage shortcut hints (#613)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Manish Reddy <hello@nmreddy.me>
Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
2026-04-13 22:00:07 -07:00
Jinwoo Hong
379835468f
feat: add New Markdown shortcut to tab bar dropdown (#614) 2026-04-13 21:31:48 -07:00
zerone0x
75ce59c3c9
fix: paste on right-click in Windows terminals (#571)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
Co-authored-by: Jinwoo Hong <73622457+Jinwoo-H@users.noreply.github.com>
2026-04-13 22:24:28 -04:00
Jinwoo Hong
cc66e120eb
feat: Add SSH remote support (beta) (#590) 2026-04-13 19:23:09 -07:00
Jinjing
8d6caa1f11
fix: show create-worktree action in jump palette only on empty results (#611)
The "Create worktree" item in Cmd+J now only appears when the search
query produces no matching worktrees, keeping the list uncluttered when
existing worktrees already satisfy the search.
2026-04-13 19:08:10 -07:00
Jinjing
10f8ce1a55 1.1.27-rc.0 2026-04-13 19:03:03 -07:00
Jinjing
bfb08537d6
docs: remove star count badge and use colorful badge colors (#610) 2026-04-13 18:56:05 -07:00
Jinjing
117d100019
feat: add Reveal in Finder to editor header and tab context menus (#603) (#609)
Add a right-click context menu to the editor header file path button
with Copy Path, Copy Relative Path, and platform-aware Reveal in
Finder/File Explorer. Also add the same reveal action to the editor
tab context menu, and reorder tab close actions so Close All appears
above Close Tabs To The Right.
2026-04-13 18:51:59 -07:00
Jinjing
90a994b951
docs: center language links below badges and use for-the-badge style (#608) (#608) 2026-04-13 18:48:08 -07:00
Jinjing
2d9e40e12b
feat: add file filter to source control panel (#607)
Adds a search input that filters changed files across all sections
(Changes, Staged, Untracked, Committed on Branch) via case-insensitive
path substring match. Section counts and empty states update to reflect
filtered results.
2026-04-13 18:40:37 -07:00
Jinjing
2d4bcf6759
docs: move translated READMEs to docs folder to save vertical space (#606) 2026-04-13 18:36:38 -07:00
Jinjing
60a72f2b29
fix: re-measure virtualizer items when async card content loads (#605)
PR/issue data arrives after worktree cards mount, changing their height.
The virtualizer's ResizeObserver can miss the resize during React's
batched rendering, leaving stale measurements and overlapping cards.

Add a useLayoutEffect that re-measures all cached elements when the
PR or issue cache grows, ensuring positions are corrected before paint.
2026-04-13 18:36:01 -07:00
Jinjing
c25b711684
docs: add Chinese and Japanese README translations (#604)
- Added README.zh-CN.md and README.ja.md
- Added language navigation links to the top of all README files
- Removed the 'ships' badge from all READMEs
2026-04-13 18:33:21 -07:00
Jinwoo Hong
d418841cab
fix: set UTF-8 console code page on Windows to prevent garbled CJK characters (#601)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 21:27:19 -04:00
Jinwoo Hong
4321138de3
feat: native file watching for WSL repos via inotifywait (#602)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 20:21:28 -04:00
Brennan Benson
f22f36b284
fix: make PDF preview fill available vertical space (#600) 2026-04-13 17:08:04 -07:00
Jinwoo Hong
48c67ca6f4
fix: resolve right sidebar freeze on Windows (#598)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 19:40:10 -04:00
Jinwoo Hong
b1a10c7ef2
fix: let Ctrl+D pass through as EOF on Windows/Linux (#599)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 19:38:37 -04:00