Commit graph

864 commits

Author SHA1 Message Date
Lawrence Chen
ca4f4b7c69 Fix browser move and zsh bootstrap regressions 2026-03-13 21:04:48 -07:00
Lawrence Chen
902ee03019 Fix SSH transport dedupe and loopback review issues 2026-03-13 20:23:44 -07:00
Lawrence Chen
5e7458b920 Fix SSH workspace priming and restore state 2026-03-13 20:01:26 -07:00
Lawrence Chen
2eae782739 Merge remote-tracking branch 'origin/main' into pr-ssh-stack-main
# Conflicts:
#	.github/workflows/ci.yml
#	CLI/cmux.swift
#	Sources/GhosttyTerminalView.swift
#	Sources/SocketControlSettings.swift
#	Sources/TabManager.swift
#	Sources/TerminalController.swift
#	Sources/Workspace.swift
#	ghostty
#	scripts/reload.sh
2026-03-13 17:56:38 -07:00
Lawrence Chen
8a0934b801
Fallback stable socket listener to a user-scoped path (#1351)
* Fallback stable socket listener to user socket path

* Move stable socket path out of /tmp

* Keep socket health checks active on fallback paths

---------

Co-authored-by: Lawrence Chen <lawrencecchen@users.noreply.github.com>
2026-03-13 17:37:01 -07:00
Lawrence Chen
5dd93a8ab1
Merge pull request #1401 from manaflow-ai/task-cmd-shift-u-exits-cmd-shift-enter-mode
Exit split zoom when jumping to unread
2026-03-13 17:28:34 -07:00
Lawrence Chen
cd04bb8932
Merge origin/main into feat-cmux-themes-command 2026-03-13 17:22:12 -07:00
Lawrence Chen
09a98c911d
Guard notification focus failures 2026-03-13 17:21:40 -07:00
Austin Wang
3891a787f6
Merge pull request #1403 from manaflow-ai/cmux/cwd-regression
Fix split cwd inheritance while shell cwd is stale
2026-03-13 17:09:54 -07:00
austinpower1258
4bb212510e fix(cmux): preserve split cwd while shell cwd is stale 2026-03-13 17:02:48 -07:00
Lawrence Chen
02854441e9
Clear split zoom when jumping to unread 2026-03-13 16:03:07 -07:00
Lawrence Chen
7bd199b625
Address cmux themes PR feedback 2026-03-13 15:48:49 -07:00
Lawrence Chen
a99ee15672
fix: honor shell state for close confirmation 2026-03-13 15:43:04 -07:00
Lawrence Chen
cfa7b1d1a6
test: cover close-tab shell state regression 2026-03-13 15:43:03 -07:00
austinpower1258
7f40e0097b fix(cmux): focus close confirmation actions 2026-03-13 12:53:20 -07:00
austinpower1258
9bfa3b9143 Make Cmd+W close the window when it closes the last terminal
Previously, Cmd+W on the last surface kept the workspace alive with a
replacement shell, unless the user toggled a hidden setting. This was
confusing—users expect Cmd+W to close the window when there's nothing
left.

Now Cmd+W (and the tab-strip X button) always close the workspace when
they close its last surface, and close the window when that was the last
workspace. Internal/programmatic closes (e.g. process exit, panel moves)
still spawn a replacement shell so the workspace stays alive.

Key changes:
- Track explicit user close gestures via markExplicitClose / onTabCloseRequest
- Remove the LastSurfaceCloseShortcutSettings toggle (now always-on)
- Use window.performClose for last-workspace window close
- Update tests to match the new behavior

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 12:43:24 -07:00
Austin Wang
44c1a36d14
Merge pull request #1391 from manaflow-ai/issue-1390-cmd-t-crash
Fix crash when creating a new workspace
2026-03-13 11:17:46 -07:00
austinpower1258
c1998e347c Fix crash when creating a new workspace via snapshot-based state
Snapshot TabManager's published state (tabs, selectedTabId) at the start
of workspace creation so mutations don't bounce through Combine-backed
accessors mid-creation. Prevents crashes when adding a workspace via
Cmd+N, the new-workspace button, or any other creation path that
triggers re-entrant publishes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 11:15:03 -07:00
Austin Wang
03e9b81cf2
Merge pull request #1389 from manaflow-ai/issue-1321-vsc-opens-browser
Fix VS Code command palette to open desktop app
2026-03-13 10:45:08 -07:00
austinpower1258
fcd256a193 Fix VS Code command palette open target 2026-03-13 10:37:36 -07:00
Lawrence Chen
e52959a528
Fix crash when adding a workspace into an orphaned window context (#1380)
* Add orphaned window context regression test

* Skip orphaned workspace creation contexts

* Reorder orphaned context notification cleanup

---------

Co-authored-by: Lawrence Chen <lawrencecchen@users.noreply.github.com>
2026-03-13 07:44:44 -07:00
Lawrence Chen
85e6a5aae4 Fix ssh stack review regressions 2026-03-13 07:29:22 -07:00
Lawrence Chen
ee3b027703
Change help menu "Welcome" to "Welcome to cmux!" (#1377)
Co-authored-by: Lawrence Chen <lawrencecchen@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 07:24:51 -07:00
Lawrence Chen
5f074f810e
Fix session restore replay for transient terminal states 2026-03-13 07:20:18 -07:00
Lawrence Chen
4eb7a37972
Add Discord link to help menu (#1366)
Co-authored-by: Lawrence Chen <lawrencecchen@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 06:49:11 -07:00
Lawrence Chen
0ff9d7aa27
Add VoiceOver selected traits to pickers and reorder settings (#1372)
Add accessibilityAddTraits(.isSelected) to Theme and App Icon picker
buttons so VoiceOver announces the active option. Reorder the top of
the App section to: Language, Theme, App Icon.

Addresses review feedback from https://github.com/manaflow-ai/cmux/pull/1367

Co-authored-by: Lawrence Chen <lawrencecchen@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 06:46:38 -07:00
Lawrence Chen
c7b54b78d6
Add subtitle to App Icon setting to clarify it's not a theme toggle (#1367)
* Add subtitle to App Icon setting to reduce confusion with theme

Users were confusing the App Icon picker (Automatic/Light/Dark) with
the Theme toggle. Add "Dock and app switcher" subtitle to clarify
this setting only affects the icon appearance, not the app theme.

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

* Replace Theme dropdown with visual appearance picker

Draw window thumbnails showing light/dark previews with traffic light
dots and content bars, matching the macOS System Settings appearance
picker pattern. System mode shows overlapping light+dark thumbnails.

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

* Swap theme picker to Gemini's wallpaper + layered window design

Replace flat single-window thumbnails with richer previews: wallpaper
gradient backgrounds, menu bar with Apple logo, two layered windows
with shadows, and a split-mask for the System option (light on left,
dark on right with center divider), matching the macOS System Settings
appearance picker more closely.

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

* Move Theme and App Icon pickers to right-aligned row layout

Both pickers now use an HStack with the label on the left and
thumbnails on the right, matching the SettingsCardRow pattern.
Thumbnails get layoutPriority(1) so the label text compresses
first on narrow windows. Slightly smaller thumbnails (76x50 for
theme, 48px icons) to fit comfortably at minimum settings width.

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

* Top-align labels in Theme and App Icon picker rows

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

* Increase hitbox on picker buttons and remove focus ring

Add contentShape(Rectangle()) for full-area tap targets, increase
padding (8v/10h), and add focusable(false) to prevent the macOS
keyboard focus outline from showing on the buttons.

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

* Use rounder squircle corners on theme thumbnails

Bump cornerRadius from 10 to 14 on the thumbnail clip shape and
border for a more pronounced squircle look.

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

* Use true superellipse squircle shape for theme thumbnails

Add a Squircle shape that draws a superellipse (n=4) path blended
with an ellipse based on corner radius. Apply it to the theme
thumbnail clip and border instead of RoundedRectangle.

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

* Remove custom Squircle struct, use built-in continuous rounded rect

RoundedRectangle(style: .continuous) is Apple's squircle. The custom
superellipse shape was unnecessary.

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

---------

Co-authored-by: Lawrence Chen <lawrencecchen@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 06:42:08 -07:00
Lawrence Chen
965965c879 Merge origin/main into pr-ssh-stack-main 2026-03-13 06:25:08 -07:00
Lawrence Chen
2c9464c0bc Proxy remote browser favicon fetches 2026-03-13 06:17:35 -07:00
Lawrence Chen
50b5969d62 Add remote favicon proxy regression 2026-03-13 06:15:23 -07:00
Lawrence Chen
09ea29a63a fix: restrict rtfd attachment fallback to images 2026-03-13 05:30:38 -07:00
Lawrence Chen
4a3b9e7c9b fix: support attachment-only rtfd image paste fallback 2026-03-13 05:30:38 -07:00
Lawrence Chen
adcd0be0f7 fix: support direct image clipboard UTIs 2026-03-13 05:26:54 -07:00
Lawrence Chen
e94daa0bcf
Fix terminal Cmd+V clipboard payload handling (#1305)
* Add clipboard payload regression tests

* Fix terminal clipboard payload handling
2026-03-13 04:46:13 -07:00
Lawrence Chen
f95a32ea52
Add workspace stress profiling and reduce switch churn (#1218)
* Add workspace stress profiling and reduce switch churn

* Address workspace stress review feedback
2026-03-13 04:44:16 -07:00
Lawrence Chen
b0bfabdb6a Optimize remote daemon builds and TCP latency 2026-03-13 04:34:58 -07:00
Lawrence Chen
21246c7657 Merge origin/main into pr-ssh-stack-main 2026-03-13 04:30:06 -07:00
Lawrence Chen
4fffe3be3d Address ssh stack review follow-ups 2026-03-13 04:28:24 -07:00
Lawrence Chen
601e5a92e4 Merge origin/main into pr-ssh-stack-main 2026-03-13 04:18:07 -07:00
Lawrence Chen
9eefc80e32 Share last-surface close handling across close actions 2026-03-13 04:16:59 -07:00
Lawrence Chen
2e6856ff2f Fix ssh stack review regressions 2026-03-13 04:14:52 -07:00
Lawrence Chen
fe7ef33fea
Keep workspaces open when closing the last surface (#1315)
* Add last-surface close regression tests

* Keep workspaces open when closing last surface

* Add Cmd+W last-surface close setting

* Share Cmd+W surface-close path
2026-03-13 03:58:07 -07:00
Lawrence Chen
2596f78380
Add settings to disable pane ring and flash (#1217)
* Add setting to disable unread pane ring

* Add setting to disable pane flash

* Label notification toggles for accessibility

* Clean up notification settings review follow-ups
2026-03-13 03:52:56 -07:00
Lawrence Chen
da547bad3c
Add menu bar visibility setting (#1330)
Co-authored-by: Lawrence Chen <lawrencecchen@users.noreply.github.com>
2026-03-13 03:28:33 -07:00
Lawrence Chen
6584a01aef
Add cmux themes command 2026-03-13 03:26:51 -07:00
Lawrence Chen
4b0816f91b
Summarize multi-workspace close confirmation (#1329)
* Add multi-workspace close UI regression test

* Summarize multi-workspace close confirmation

* Add Cmd+Shift+W multi-close UI regression test

* Honor sidebar multi-select for close workspace

---------

Co-authored-by: Lawrence Chen <lawrencecchen@users.noreply.github.com>
2026-03-13 03:26:37 -07:00
Lawrence Chen
01a4797a03
Bundle Ghostty themes in cmux (#1314)
* Add solarized alias regression tests

* Bundle Ghostty themes in cmux
2026-03-13 02:44:57 -07:00
Ariel Tobiana
1d6f55ce97
Include current_directory and custom_color in list-workspaces output (#544)
Expose workspace working directory and tab color in the workspace.list
response, enabling CLI-based workspace sorting and color inspection.
2026-03-12 23:40:38 -07:00
Lawrence Chen
9b0bf2f66d
Add minimal sidebar detail toggles (#1312)
* Add minimal sidebar detail toggles

* Address sidebar review comments
2026-03-12 21:22:51 -07:00
Lawrence Chen
19b59cae37 Reapply "Merge pull request #239 from manaflow-ai/issue-151-ssh-remote-port-proxying"
This reverts commit f7cbbad434.
2026-03-12 15:54:26 -07:00