Commit graph

878 commits

Author SHA1 Message Date
Jinwoo Hong
6c6416a949
feat(codex-accounts): shared runtime home for account switching (#768) 2026-04-17 21:51:06 -07:00
Jinwoo Hong
be7ee2fc38
fix: update tests for Safari/Firefox browser detection and ZDOTDIR (#788) 2026-04-17 21:31:39 -07:00
Brennan Benson
68e3a00ddf
fix: reflect external file changes in editor tabs (#735) 2026-04-17 20:30:44 -07:00
Neil
8dbfec4e20
feat: when closing a tab, go to previous tab (MRU) not nearest neighbor (#784) 2026-04-17 19:43:22 -07:00
Neil
8d3494fe07
feat(composer): support drag-and-drop files and folders onto the composer (#787)
Files dropped onto the new-workspace composer (modal or full page) are
appended as attachment chips; folders are inserted inline at the textarea
caret with shell-style quoting so users can reference working directories
from the OS file browser without leaving the prompt.
2026-04-17 19:14:51 -07:00
Honglei Liu
5b71303bbd
feat(terminal): add Nerd Fonts to default font fallback chain (#783)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 18:49:43 -07:00
Neil
3d40d4a3db
Use overlay sheet for GitHub item drawer on new-workspace page (#785) 2026-04-17 18:20:54 -07:00
Neil
818210f3e2
fix(ui): invert GitHub Copilot icon in dark mode (#786) 2026-04-17 18:20:38 -07:00
Neil
2deaf9a052 1.3.1 2026-04-17 18:18:47 -07:00
Brennan Benson
9826d94485
fix terminal split remounts when daemon is disabled (#782) 2026-04-17 17:41:45 -07:00
Brennan Benson
2d755ba386
fix: free WebGL contexts for hidden worktrees to prevent terminal dying (#777) 2026-04-17 17:15:27 -07:00
Neil
9962655492
docs: remove extra text 'X' from twitter badge (#781) 2026-04-17 17:02:51 -07:00
Neil
53f2c308fb 1.3.1-rc.2 2026-04-17 17:02:42 -07:00
Neil
bbadd1f12a
docs: match X (Twitter) badge styling with others (#780) 2026-04-17 17:01:01 -07:00
Neil
f15341db97
docs: update x (twitter) icon in readme (#779) 2026-04-17 16:58:44 -07:00
Neil
451b6e652f
fix(terminal): stop re-running composer prompt on user-initiated splits (#778) 2026-04-17 16:48:54 -07:00
Drakontia
2931f66e78
feat: add GitHub Copilot CLI as a supported agent (#770)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-17 16:47:59 -07:00
Neil
5d776ccb2a 1.3.1-rc.1 2026-04-17 16:02:55 -07:00
Neil
fbbebe98eb
perf: make worktree creation click snappy (#776) 2026-04-17 16:02:30 -07:00
Neil
1111b72b15
fix(settings): track scroll indicator at viewport midpoint (#775) 2026-04-17 16:01:25 -07:00
Neil
aa75adedf7
feat(settings): gate persistent terminal daemon behind experimental toggle (#774) 2026-04-17 16:00:16 -07:00
Neil
1daf9d1b94
fix(composer): tighten worktree composer card typography and sizing (#773) 2026-04-17 15:32:04 -07:00
Neil
93ede4807a Skip delayed RC schedules outside target PT hours 2026-04-17 15:29:31 -07:00
Jinjing
023d65ebfa
feat(worktree): add skip delete confirmation preference (#771)
- feat(worktree): add skip delete confirmation preference
2026-04-17 15:29:19 -07:00
Neil
71fd14f369
feat: default setup script to new tab (#772)
Change the default setupScriptLaunchMode from 'split-vertical' to
'new-tab' so setup output runs in a background Setup tab by default
instead of crowding the primary terminal pane. Users can still opt
back into split-vertical or split-horizontal in Terminal settings.
2026-04-17 15:27:27 -07:00
github-actions[bot]
3283729a7f release: 1.3.1-rc.0 [rc-slot:2026-04-17-15] 2026-04-17 22:09:53 +00:00
Jinwoo Hong
1ea2a6d768
fix: strip ELECTRON_RUN_AS_NODE from dev script environment (#769) 2026-04-17 13:14:40 -07:00
Neil
203c3a1617 1.3.0 2026-04-17 12:07:36 -07:00
Jinwoo-H
20d1524914 1.2.3-rc.10 2026-04-17 13:38:26 -04:00
Jinwoo Hong
7c6d408f16
fix: resolve posix_spawnp failure in daemon's node-pty spawn (#762) 2026-04-17 10:37:56 -07:00
Jinjing
c655c13629
feat(settings): give browser its own settings pane (#764)
- Move browser-related settings out of the in-browser gear dialog and
  out of General into a dedicated Browser pane in Settings, and route
  the browser gear button to open it.
2026-04-17 10:35:52 -07:00
Jinjing
949f3e396a
fix: remove smooth scroll animation on settings section navigation (#765) 2026-04-17 10:27:52 -07:00
Jinjing
6767157fe0
feat: add double-click-to-rename for editor tabs and file explorer (#760)
- fix: prevent Escape-cancelled rename from committing via trailing blur

Users can now double-click a filename in editor tabs or the file explorer to rename it inline. Both flows share a common renameFileOnDisk() function that handles:
- Quiescing in-flight autosaves before rename to prevent recreating old paths
- Remapping all open editor tabs to the renamed file/directory
- Undo/redo support via the file explorer undo stack

The shared Escape-cancel logic prevents a race condition where blur could fire and commit the rename after user cancelled with Escape.
2026-04-17 10:16:38 -07:00
Jinwoo-H
21fc9383c0 1.2.3-rc.9 2026-04-17 12:39:18 -04:00
Jinwoo-H
f7fa1e56d5 1.2.3-rc.8 2026-04-17 12:38:22 -04:00
Jinwoo Hong
25b3093c48
fix: bundle xterm deps into daemon-entry to fix packaged build crash (#759) 2026-04-17 09:29:29 -07:00
Neil
50e2376df8
fix: autofocus composer prompt and make "Use" open composer directly (#758) 2026-04-17 00:56:59 -07:00
Jinjing
6bf6a4bda1
fix: remove max-width cap on right sidebar drag resize (#727) (#757)
The right sidebar drag was hard-capped at 500px, so long file names
(e.g. construction drawing sheets, multi-part document names) always
truncated with no way to reveal them.

The cap is now window-relative — users can drag the sidebar up to
(window width − 320px reserve) so the left sidebar and editor can
still breathe. Persistence clamp split so the right sidebar keeps a
loose 4000px safety net for corrupted values, while the left sidebar
stays at 500px.
2026-04-17 00:38:47 -07:00
Jinjing
eced42167f
fix: show pointer cursor when hovering titlebar agent badge (#754)
The badge's inner dot and count spans inherited the titlebar's
-webkit-app-region: drag, which overrode the button's cursor: pointer.
Disable pointer events on the children so hover/click hit-test the
button itself (which opts out of the drag region).
2026-04-17 00:09:03 -07:00
Neil
6226d5936b 1.2.3-rc.7 2026-04-16 23:55:53 -07:00
Neil
ee69e110fc
Compser template (#753) 2026-04-16 23:55:37 -07:00
Jinjing
fcbdd95b43
fix: auto-focus rich markdown editor on mount (#750)
* fix: auto-focus rich markdown editor on mount

Match MonacoEditor's behavior so opening a new markdown file (Cmd+Shift+N)
or switching to a rich-markdown tab lands the cursor in the editor. Guards
against focus theft from modals/dialogs and passes `scrollIntoView: false`
so the focus call doesn't race with useEditorScrollRestore's RAF retry loop.

* fix: use 'start' position to avoid AllSelection on empty editor

Passing null to commands.focus() keeps the editor's current selection,
which for a fresh empty document is an AllSelection — rendered as a
visible 0-width highlight inside the placeholder instead of a normal
caret. 'start' resolves to a proper TextSelection at doc start.

Also update review-and-submit skill to push before gh pr create.
2026-04-16 23:30:14 -07:00
Jinjing
d1a3324e7e
fix: make Cmd+J worktree jump scroll instant (#751)
Remove `scroll-smooth` from the virtualized sidebar viewport so palette
reveals land immediately instead of animating the full cross-list
distance at the browser's default smooth-scroll speed.

Single-card stepping (Cmd+Shift+↑/↓) no longer glides either — the
brevity of the movement makes instant feel snappier, and it avoids
the state-machine risk of toggling `scroll-behavior` inline when
tanstack virtual can also issue follow-up scroll corrections after
dynamic item measurement.
2026-04-16 23:25:17 -07:00
Neil
6e1cb1c6cf
fix: boot to landing before shutting down active worktree (#749) 2026-04-16 22:56:01 -07:00
Jinwoo Hong
fd4f986c59
feat: terminal persistence via out-of-process daemon (#729) 2026-04-17 01:42:41 -04:00
Jinwoo Hong
39832c7801
feat: Ghostty-style macOS Option key mode setting (#748)
* feat: add Ghostty-style macOS Option key mode setting

Disable xterm's macOptionIsMeta by default so non-US keyboard layouts
can compose characters (e.g. @ on German, € on French). Add a
user-facing "Option as Alt" setting with four modes — Both, Left,
Right, Off — mirroring Ghostty's macos-option-as-alt. Core readline
shortcuts (Option+B/F/D) are automatically compensated when Option is
in compose mode. The setting applies live to existing terminal panes.

* fix: track Option key location from modifier keydown, not character key

KeyboardEvent.location on a character key (e.g. Period) reports that
key's own position (always 0), not which modifier is held. Left/right
Option mode was broken because we read location from the character
event. Fix by recording the Option key's location from its own
keydown/keyup events and passing it as a separate parameter.
2026-04-17 01:37:22 -04:00
Neil
42e01f240c
perf: speed up NewWorkspacePage first paint (#746)
* perf: speed up NewWorkspacePage first paint

- SWR cache + inflight dedup for gh work-items in store
- Prefetch on openNewWorkspacePage, sidebar Plus hover, Landing hover
- Seed list synchronously from cache to kill the double-fetch on mount
- Module-scoped detectAgents promise cache (one IPC per session)
- Consolidate useComposerState store subs via useShallow
- Hoist Intl.RelativeTimeFormat to module scope (was per row)
- LightRays: count 6->3, blur 44->20, drop mix-blend-screen,
  willChange compositor hint, prefers-reduced-motion bailout

* perf: drop redundant runIssueAutomation state + effect

Derived-state-via-effect anti-pattern: runIssueAutomation was just a
mirror of canOfferIssueAutomation toggled through a useEffect, so
shouldRunIssueAutomation was effectively canOfferIssueAutomation one
render late. Compute during render instead.

* fix: prefetch under the exact cache key the page will read

Sidebar and Landing were calling prefetchWorkItems with no query, warming
the cache at '::'' which NewWorkspacePage never reads. Pass the user's
default-preset query so hover-prefetch actually hits the key the page
looks up on mount.
2026-04-16 22:03:24 -07:00
Neil
2871294290
feat: nicer composer prompt scrollbar and inline '>' prefix (#747)
* feat: nicer composer prompt scrollbar and inline '>' prefix

Style the workspace composer prompt with a sleek scrollbar, and render the
'>' prefix as an inline-feeling overlay that scrolls with the text. Scrolling
is hoisted onto an outer wrapper so the '>' and typed text share a single
native scroll container — no cross-layer paint delay, no wobble.

* docs: fix stale comment describing abandoned translateY approach
2026-04-16 21:58:54 -07:00
Neil
eec2f9137e
feat: configurable setup script launch location (#745)
Adds a Terminal settings control for where the repo setup script runs
on workspace create: vertical split (default, preserves prior behavior),
horizontal split, or a separate "Setup" tab that does not steal focus
from the primary terminal.
2026-04-16 21:20:38 -07:00
Brennan Benson
ad472f89d4
Fix split-pane console regressions and terminal context menu dismiss (#743) 2026-04-16 21:16:02 -07:00