Commit graph

708 commits

Author SHA1 Message Date
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
Brennan Benson
7cdc866f96
Run long GitHub issue commands reliably (#583) 2026-04-13 16:05:48 -07:00
Jinwoo Hong
3793125319
fix: resolve Codex spawn failures on Windows (#562)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 15:49:44 -07:00
Brennan Benson
114c0d1b69
feat: preserve scroll, cursor, and undo across tab switches (#421) 2026-04-13 15:23:08 -07:00
Jinjing
de128728d6
fix: remove bottom gap in active agent hovercard (#596)
* fix: remove bottom gap in active agent hovercard

Move the container's bottom padding into the hide button itself
so it sits flush at the card edge with no visible gap.

* fix: switch agent activity badge from hover to click popover

Hover was unpredictable — replace HoverCard with Popover so the
active-agent list opens on click instead.
2026-04-13 15:20:33 -07:00
Jinjing
0f3ecfede7 1.1.26 2026-04-13 15:11:37 -07:00
Brennan Benson
b7c77826d5
fix: keep monaco diagnostics config type-safe (#594) 2026-04-13 14:06:57 -07:00
Brennan Benson
bd5f1d9ed5
fix: switch electron skill from agent-browser to playwright-cli (#593) 2026-04-13 13:58:03 -07:00
Jinjing
a98a8d6736 1.1.26-rc.0 2026-04-13 13:34:04 -07:00
Neil
90dc471a0e Simplify Orca bug report form 2026-04-13 12:13:53 -07:00
Neil
5d12a723cf Align issue OS labels with repo labels 2026-04-13 12:05:24 -07:00
Neil
6c25f104a1 Add GitHub issue forms for Orca 2026-04-13 12:04:30 -07:00
Ramzi
c9ca2baa77
fix: disable false "Cannot find module" diagnostics in editor (#588)
* fix: disable false "Cannot find module" diagnostics in editor

Monaco's TypeScript worker runs in isolation without filesystem access,
so it cannot resolve imports to project files that aren't open as editor
models. This produces false "Cannot find module" diagnostics for every
import in TS/JS files, which is misleading noise.

Disable semantic validation for both TypeScript and JavaScript defaults.
Syntax highlighting and basic validation remain intact.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(monaco): surgically disable TS diagnostics 2307, 2792 instead of all semantic validation

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
2026-04-13 11:04:13 -07:00
Jinwoo Hong
e7f6344e89
Browser v2: workspace model, session profiles, and cookie import (#577) 2026-04-13 10:03:32 -07:00
Neil
70ce38ce6e 1.1.25 2026-04-13 00:25:47 -07:00
Neil
b2c31b6536
speed up release workflow (#584) 2026-04-13 00:25:30 -07:00
Neil
d3748e1c82 1.1.24 2026-04-12 23:59:14 -07:00
Neil
a80d8400cc
fix release workflow artifact collection (#581) 2026-04-12 23:57:29 -07:00
Neil
2204d35d25 1.1.23-rc.2 2026-04-12 23:47:03 -07:00
Neil
424ceea07e
Speed up release workflow (#579)
* speed up release workflow

* fix lint in manifest merge helper

* remove release preflight gate

* update CI to node 24
2026-04-12 23:41:44 -07:00
Neil
d7e045b19a
fix: prevent Create button stuck disabled on repo re-select (#580) 2026-04-12 23:31:18 -07:00
Neil
fead39f00d
Refactor code comments section in AGENTS.md
Removed bullet points from the code comments section and streamlined the text.
2026-04-12 23:23:08 -07:00
Neil
4a526c0d7d
Rename WORKTREES to WORKSPACES in sidebar (#576)
* chore: rename worktrees to workspaces in sidebar

* test: document max-lines exception for worktree slice tests
2026-04-12 23:01:41 -07:00
Jinjing
be5f0c3cee
fix: improve title bar agent label spacing (#575)
* wip

* fix: improve title bar agent label spacing when sidebar collapsed

- Move overflow-hidden to only apply when sidebar is open
- Apply shrink-0 and mr-2 in collapsed state to prevent squeezing and add gap
- Remove "active" label from agent badge for cleaner appearance
- Update comment explaining collapsed sidebar behavior

* fix: add max-lines disable to worktrees.test.ts

Pre-existing lint issue — file grew past 300-line limit on main.
2026-04-12 22:54:41 -07:00
Neil
c33238d817 1.1.23-rc.1 2026-04-12 22:40:19 -07:00
Neil
f7185e036c fix: remove stale worktree layout cleanup 2026-04-12 22:40:11 -07:00
Neil
466ff56f68 1.1.23-rc.0 2026-04-12 22:32:52 -07:00
Qiaochu Hu
1038295960
fix: clean up editor/terminal state when removing a worktree (#532)
removeWorktree already cleaned up openFiles, terminal layouts, browser
tabs, and several worktree-keyed maps, but four state properties leaked
indefinitely after a worktree was deleted:

- editorDrafts — unsaved draft content keyed by file ID
- markdownViewMode — rich/source toggle keyed by file ID
- expandedDirs — file explorer expansion state keyed by worktree ID
- activeTabIdByWorktree — remembered terminal tab keyed by worktree ID

Over a long session with many worktree create/delete cycles these
accumulated entries consume memory and can never be reclaimed because the
corresponding file and worktree IDs no longer exist in openFiles or
worktreesByRepo.

The fix collects the file IDs of the removed worktree's open files and
deletes their editorDrafts and markdownViewMode entries, then removes the
worktree's expandedDirs and activeTabIdByWorktree entries. A shallow copy
is only created when there are actually entries to remove, preserving the
no-op identity check that existing tests rely on.

Co-authored-by: Test User <test@example.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-12 22:31:48 -07:00
Ramzi
f7e89c6c8b
fix: dispose PTY event listeners before kill to prevent SIGABRT crash (#534)
* fix: dispose PTY event listeners before kill to prevent SIGABRT crash

node-pty's onData/onExit callbacks register native NAPI ThreadSafeFunction
objects. When a PTY process is killed without deregistering these callbacks,
the stale ThreadSafeFunction references survive into the Node environment
cleanup phase (node::FreeEnvironment). NAPI then attempts to invoke CallJS
on the destroyed environment, causing Napi::Error::ThrowAsJavaScriptException
to throw a C++ exception that terminates the process with SIGABRT.

Store the IDisposable handles returned by proc.onData() and proc.onExit(),
and dispose them in clearPtyState() before the process is killed. This
covers all teardown paths: explicit pty:kill IPC, runtime controller kill,
page-reload orphan cleanup, and app-quit killAllPty.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: use T[] array syntax instead of Array<T> to satisfy oxlint

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 22:31:31 -07:00
Jinjing
fa41047197
fix: stop worktree cards from overlapping in sidebar (#573)
* wip

* fix: replace fragile worktree card height estimation with constant

The virtualizer's estimateSize tried to predict exact pixel heights from
Tailwind class constants, which drifted from actual rendered sizes and
caused overlapping cards. Replace with a generous constant (120px) —
measureElement/ResizeObserver already corrects to real heights, so the
estimate just needs to overshoot. Delete the now-dead estimate module.
2026-04-12 22:29:24 -07:00
Jinjing
0e7d17870f
Revert "feat: add quick-delete worktree shortcut" (#572) 2026-04-12 22:19:59 -07:00
Neil
91c88fad6b
fix: suppress unread signals during PTY replay (#569) 2026-04-12 21:49:34 -07:00
Jinjing
f9e803082c
feat: implement on-demand update notification nudge (#570)
* wip

* feat: implement on-demand update notification nudge

* fix: address CI lint failures
2026-04-12 21:30:15 -07:00
Brennan Benson
8ef3139529
fix: improve settings page visual separation (#561) 2026-04-12 21:15:50 -07:00
Neil
735697dc1d
Add VS Code-style search details toggle (#567) 2026-04-12 21:12:57 -07:00
Jinjing
e130feedaa
feat: enable drag-and-drop for committed file entries (#566) 2026-04-12 21:07:27 -07:00