Commit Graph
1132 Commits
Author SHA1 Message Date
brennanb2025 cf788f1302 fix(tabs): restore visible right-sidebar divider
Move the terminal/right-sidebar seam from the right sidebar's own
`borderLeft` (which was rendering too subtly against the center column)
back to the rightmost split pane's `border-r`, and extend it up through
the drag strip so the line reaches y=0. Symmetric with the left side.
2026-04-24 18:58:40 -07:00
brennanb2025 dd51079a15 Merge remote-tracking branch 'origin/main' into brennanb2025/tab-changes 2026-04-24 18:21:43 -07:00
brennanb2025 88e5082a9e fix(tabs): clean up workspace chrome seams
Remove the duplicated 1px border below the drag strip where the rightmost
split pane's border-r stacked next to the right sidebar's borderLeft.
Extend the left-sidebar seam through the drag strip when splits exist so
it reaches y=0, matching the full-height right-sidebar line.
2026-04-24 18:21:09 -07:00
Jinjing 68ceae531d feat(composer): default blank workspace name to a unique marine-creature (#1069)
Use the existing getSuggestedCreatureName helper as the fallback seed in
getWorkspaceSeedName so blank submissions get a distinct, readable name
scoped to the selected repo (respecting nestWorkspaces) instead of
colliding on the "workspace" literal.
2026-04-24 17:39:16 -07:00
Brennan Benson 60a8630f68 feat(ui): replace back/forward workspace navigation icons with arrows (#1066) 2026-04-24 17:22:24 -07:00
github-actions[bot] 005963192c release: v1.3.17 v1.3.17 2026-04-25 00:19:29 +00:00
Neil 51b8d124a7 fix(sidebar): keep worktree spinner working while any split pane is active (#1064) 2026-04-24 17:16:42 -07:00
github-actions[bot] ed49380b6d release: v1.3.17-rc.5 v1.3.17-rc.5 2026-04-24 23:56:25 +00:00
Jinjing 5766defd87 feat(ssh): surface SSH status in worktree UI and streamline add-repo flow (#1067)
- Show SSH icon (Globe/WifiOff) beside worktree titles in jump palette
  and WorktreeCard so remote state is visible at a glance.
- Replace inline add-repo flow in NewWorkspaceComposerCard with the
  existing add-repo modal for a single entry point.
- When no SSH targets are configured, let users jump straight to SSH
  settings from the add-repo dialog, and disable remote path until a
  target is selected.
2026-04-24 16:14:06 -07:00
Jinwoo Hong 9e21423a6e fix(ssh): support Cmd+P file search for non-git folders without ripgrep (#1065) 2026-04-24 16:09:57 -07:00
Neil 1be13d58f3 fix(daemon): defer startup flush past shell raw-mode switch (#1060)
* fix(daemon): defer startup-command flush past shell raw-mode switch

When launching an agent (e.g. `claude`) through the quick-launch menu,
the command name appeared twice in the terminal — once from kernel
echo, once from readline's prompt redraw. The daemon session was
flushing its pre-ready stdin queue the moment the OSC 777 shell-ready
marker arrived, but that marker fires from precmd_functions /
PROMPT_COMMAND — before the shell draws its prompt and before
zle/readline flips the PTY into raw mode. Writing while ECHO was still
on produced the visible duplicate.

Mirror the gating already used by the non-daemon path
(local-pty-shell-ready.ts::writeStartupCommandWhenShellReady): wait
for the next data chunk after the marker (the prompt draw) plus a
short 30ms delay, with a 50ms wall-clock fallback for the case where
the prompt arrives in the same chunk as the marker.

This regression became visible after #1025 made the shell-ready
wrappers persist reliably — previously the marker was often missed
and the 15s fallback path fired long after the shell was already in
raw mode, masking the race.

* refactor(daemon): extract PostReadyFlushGate out of Session

Factor the post-ready flush gating out of Session into its own class in
post-ready-flush-gate.ts. Session's only responsibility is now to
arm() the gate on shell-ready, notifyData() on subsequent PTY data,
and clear() on teardown. Removes the max-lines oxlint-disable added in
the previous commit and puts the timing behavior behind focused unit
tests.

No behavior change — kept as a separate refactor commit from the
behavior fix for reviewability.

* fix(daemon): keep queueing writes while post-ready flush gate is pending

Codex review caught an ordering regression: once transitionToReady()
sets _shellState to 'ready', any Session.write() that arrives during
the 30–50ms gate window was being written directly to the subprocess,
bypassing the still-unflushed preReadyStdinQueue. That let late input
race ahead of the buffered startup command.

Expose PostReadyFlushGate.isPending and continue queuing while the gate
is armed so queued writes drain in their original order before any
fresh input reaches the subprocess.
2026-04-24 15:26:50 -07:00
Jinjing 622b85c73e refactor(ui): polish sidebar typography and compact task page chrome (#1062)
Tighten sidebar fonts/icons (Tasks label, WORKSPACES section, search) and
collapse the task page close button into the source-filter row so the top
chrome forms one compact band.
2026-04-24 15:22:21 -07:00
Brennan Benson 6675138d80 feat(agent-hooks): shared types, renderer store, local hook server + Claude/Codex/Gemini/OpenCode wiring (gated) (#1019) 2026-04-24 15:13:58 -07:00
github-actions[bot] 0a45c5433b release: 1.3.17-rc.4 [rc-slot:2026-04-24-15] v1.3.17-rc.4 2026-04-24 22:11:56 +00:00
Jinwoo Hong fdb7ed6678 fix(linear): stop keychain prompt from appearing during app launch (#1058) 2026-04-24 15:01:44 -07:00
brennanb2025 bb7ceb2e19 feat(tabs): slimmer tabs with window-drag strip on top
Reduces tab padding and label caps so tabs take less horizontal space,
drops the inset/recolor on the active tab in favor of a 1px top indicator,
and lifts an 8px drag strip above the tab row so the top edge of both the
center column and the right sidebar stays window-draggable. Split resize
handles no longer extend into that drag surface, and the tab strip gains
its own right border so the separator before the "+" button stays visible
when tabs overflow.
2026-04-24 14:58:04 -07:00
Neil e6abe45bc7 Revert "fix(terminal): terminal mic access" (#1057) 2026-04-24 14:44:21 -07:00
Neil f0c96bd2bf fix(updater): keep prerelease users on the RC channel (#1053)
Detect when the running build is itself a prerelease (e.g. 1.3.17-rc.1)
and auto-enable the RC feed in setupAutoUpdater. Without this, the
default generic /releases/latest/download/ feed only advertises stable
releases, so "Check for Updates" from a prerelease build could never
find the next RC (e.g. 1.3.17-rc.2) unless the user knew to Shift-click.
2026-04-24 14:36:22 -07:00
github-actions[bot] 749ba42cb2 release: v1.3.17-rc.3 v1.3.17-rc.3 2026-04-24 21:15:50 +00:00
Kelvin Amoaba 0a9187909d fix(term): stop daemon emulator from replying to xterm queries (#1024) 2026-04-24 14:05:42 -07:00
Jinwoo Hong 5315e87a81 feat: add Claude account switcher (#1050) 2026-04-24 14:05:26 -07:00
Brennan Benson 861f21fc81 feat(terminals): per-tab activity indicators (#944) 2026-04-24 14:05:09 -07:00
Jinwoo Hong 68e658e082 fix(ssh): use SSH target label for home directory remote repos (#1031) 2026-04-24 13:58:48 -07:00
github-actions[bot] bcce74e110 release: v1.3.17-rc.2 v1.3.17-rc.2 2026-04-24 20:56:26 +00:00
Neil 2a71ee6fd0 Add community PRs directly to project (#1052) 2026-04-24 13:50:10 -07:00
Jinjing d106b33ddd fix(issues): enable new-issue button across multi-repo selection (#1051)
- Removes single-repo-only constraint on new-issue button
- Adds repo selector to new-issue dialog when multiple repos selected
- Defaults to first selected repo when dialog opens
- Handles edge case where user changes repo selection while dialog open
2026-04-24 13:41:31 -07:00
Neil 2b950a66ac Add community PR project tracking workflow (#1030) 2026-04-24 13:33:18 -07:00
Jinwoo Hong 717f319a89 feat(ssh): detect remote-host CLI agents in quick-launch menu (#1027) 2026-04-24 13:21:34 -07:00
Jinwoo Hong a73b4a6c1f Fix daemon shell-ready wrapper persistence (#1025) 2026-04-24 13:01:27 -07:00
Jingyue Wuandgithub-actions[bot] 9ca6314692 fix(terminal): terminal mic access (#1018)
* release: 1.3.8-rc.3 [rc-slot:2026-04-21-15]

* release: 1.3.8-rc.4 [rc-slot:2026-04-22-15]

* release: 1.3.8-rc.5 [rc-slot:2026-04-23-15]

* fix(mac): enable microphone permission popup for embedded terminal [Fixes 1009]

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-04-24 12:36:05 -07:00
Brennan Benson 517ce93d38 Fix stuck modifier hint cleanup (#1021) 2026-04-24 12:11:48 -07:00
Jinwoo Hong faed904aae feat(issues): make issues page writable with inline editing (#1017) 2026-04-24 10:41:21 -07:00
github-actions[bot] 1772087db5 release: 1.3.17-rc.1 [rc-slot:2026-04-24-03] v1.3.17-rc.1 2026-04-24 10:27:25 +00:00
Brennan Benson 2a2ddd8bdb feat(tab-bar): add colored top border to active tab (#1020) 2026-04-23 22:10:28 -07:00
Brennan Benson b19db2301d feat(agent-status): shared types + renderer store slice foundation (#1016) 2026-04-23 21:35:59 -07:00
Neil 2ae9392b72 Rename add repo copy to add project (#1014) 2026-04-23 19:02:36 -07:00
Jinwoo Hong 7bd48b907d fix(titlebar): make empty tab bar space draggable on macOS (#1013) 2026-04-23 18:38:16 -07:00
Kelvin Amoaba 4bf192fb56 feat(updater): collapse update card into status bar (#1008)
The update card stayed pinned to the bottom-right for the entire
`downloading` / `downloaded` / `error` lifecycle with no minimize
affordance, and the X on downloaded/error persistently dismissed the
version — which silently orphaned in-flight downloads. Add an always-on
status-bar segment that surfaces progress / ready / error state, plus an
ephemeral `updateCardCollapsed` flag that the card's new minimize button
and Escape key set in those three phases. The flag is renderer-only and
resets on every phase transition so a collapsed `downloading` cannot
bury the `downloaded` / `error` that follows.
2026-04-23 18:22:14 -07:00
Jinjing 8b0d8ea376 fix(fs): address symlink/delete/remote safety issues from review (#1012)
- Symlink delete/rename now preserve the link entry (new `preserveSymlink`
  option on resolveAuthorizedPath) instead of operating on the target.
- File-explorer delete force-saves dirty editors before trashing so undo
  restores the user's latest edits, not stale disk content.
- Thread `recursive` through preload → SSH provider so remote directory
  delete works end-to-end.
- Remote deletes now confirm (permanent `rm`, no Trash) and the toast
  reflects that no Trash/Recycle Bin is involved.
- Codex managed-home check canonicalizes the storage root before the
  prefix compare so macOS `/private/var` paths stop being rejected.
2026-04-23 16:58:17 -07:00
Alberto Díaz MuñozandJinwoo-H 87a2a371ff feat(terminal): add Windows default shell setting (PowerShell vs CMD) (#950)
Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
2026-04-23 16:23:12 -07:00
Brennan Benson 38f6b550c7 fix(tabs): walk active group order on keyboard tab switch (#1011) 2026-04-23 16:09:50 -07:00
Brennan Benson 8922b1861c feat(tab-drag): cross-group tab drag, gated on terminal daemon (#872) 2026-04-23 15:37:27 -07:00
github-actions[bot] 57079da339 release: 1.3.17-rc.0 [rc-slot:2026-04-23-15] v1.3.17-rc.0 2026-04-23 22:11:32 +00:00
Ramzi b57505987c fix: dispose hidden PTY listeners before kill (#991) 2026-04-23 14:56:45 -07:00
Jinwoo Hong e1270486cd feat: add Linear integration (#1007) 2026-04-23 14:54:32 -07:00
Jinjing 529f49b224 feat: make links in file open in Orca browser (#1005)
- Add http-link-routing module to centralize link opening logic
- Refactor terminal, markdown, and editor link handlers to use openHttpLink
- Update browser settings to reflect new cross-component link routing
- Inject store accessor to avoid circular import issues
2026-04-23 13:57:07 -07:00
Jinwoo Hong ce863cfc4c fix(file-explorer): prevent scroll snap after native file drop (#1003) 2026-04-23 13:28:31 -07:00
Brennan Benson 02d619fa20 fix(worktree): seed nav history with hydrated active worktree (#1002) 2026-04-23 12:57:39 -07:00
github-actions[bot] 6d2ff605ff release: v1.3.16 v1.3.16 2026-04-23 19:44:50 +00:00
Matt Van HornandMatt Van Horn 2e53fab61f fix(terminal): focus terminal after file-tree drop (#978) (#986)
Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
2026-04-23 11:50:16 -07:00