Commit graph

1459 commits

Author SHA1 Message Date
Lawrence Chen
ccdadfa08c
Add CI guard for GhosttyKit checksum pins 2026-03-13 17:28:32 -07:00
Lawrence Chen
255ec0016c
Merge pull request #1334 from manaflow-ai/feat-cmux-themes-command
Add cmux themes command
2026-03-13 17:23:28 -07:00
Lawrence Chen
cd04bb8932
Merge origin/main into feat-cmux-themes-command 2026-03-13 17:22:12 -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
6a92010c6b
Merge pull request #1386 from manaflow-ai/task-close-tab-idle-confirm-regression
Honor shell state for close confirmation
2026-03-13 15:55:24 -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
Austin Wang
9a7b52fe80
Merge pull request #1395 from manaflow-ai/issue-1393-cmd-w-close-last-terminal
Make Cmd+W close window when closing last terminal
2026-03-13 12:53:51 -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
da8c616dfe
Fix cmux themes reload target resolution 2026-03-13 07:54:22 -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
4b878b48f0
Add /nightly page (#1378)
* Add /nightly page with localized content for all 18 locales

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

* Use actual nightly icon, remove Homebrew and How it works sections

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

* Change warning callout to plain text

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

* Remove subtitle from nightly page

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

* Add GitHub and Discord #nightly-bugs links to warning text and README

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 07:41:30 -07:00
Lawrence Chen
f3a0bd9d15
Merge pull request #1379 from manaflow-ai/task-drag-related-regression
Fix internal drag regressions from bundle type declarations
2026-03-13 07:36:19 -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
1f9a1997b9
fix: restore internal drag type exports 2026-03-13 07:24:07 -07:00
Lawrence Chen
236aacb2f3
test: cover internal drag type exports 2026-03-13 07:21:02 -07:00
Lawrence Chen
5f074f810e
Fix session restore replay for transient terminal states 2026-03-13 07:20:18 -07:00
Lawrence Chen
e1f6d24655
Harden cmux theme override writes 2026-03-13 07:00:05 -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
004f79a780
Replace README hero image with cmux.dev landing page screenshot (#1369)
Co-authored-by: Lawrence Chen <lawrencecchen@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 06:26:33 -07:00
Lawrence Chen
c0693e147f
Merge pull request #1363 from manaflow-ai/task-nightly-pure-prompt-followup
Restore Ghostty Pure prompt redraw fix
2026-03-13 05:59:18 -07:00
Lawrence Chen
dfcb6335bb Pin GhosttyKit checksum for Pure redraw fix 2026-03-13 05:56:58 -07:00
Lawrence Chen
fd790346f4 Point Ghostty submodule at published Pure redraw fix 2026-03-13 05:49:34 -07:00
Lawrence Chen
099f0a931a Restore Ghostty Pure prompt redraw fix 2026-03-13 05:37:29 -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
b7de225364 test: cover 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
2c8808fc57 test: cover jpeg clipboard image paste fallback 2026-03-13 05:26:54 -07:00
Lawrence Chen
6d955a6f40
Match Ghostty theme picker startup 2026-03-13 05:12:38 -07:00
Lawrence Chen
cf979acbeb
Skip theme detection in cmux picker 2026-03-13 04:56:27 -07:00
Lawrence Chen
e6309e7841
Harden the nightly workflow (#1356) 2026-03-13 04:56:19 -07:00
Lawrence Chen
1309152bfc
Respect system theme in cmux picker 2026-03-13 04:52:23 -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
48f656a7b9
Improve cmux theme picker footer contrast 2026-03-13 04:44:49 -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
69a286bf57
Fix cmux theme picker preview 2026-03-13 04:37:55 -07:00
Lawrence Chen
7d178ad5c7
Fix interactive cmux themes launch 2026-03-13 04:32:52 -07:00
Lawrence Chen
ae24dad89f
Use Ghostty theme picker for cmux themes 2026-03-13 04:24:19 -07:00
Lawrence Chen
d732a2c1b1
Merge pull request #1346 from manaflow-ai/task-cmdw-click-share-close-path
Share last-surface close flow between X and Cmd+W
2026-03-13 04:21:09 -07:00
Lawrence Chen
9eefc80e32 Share last-surface close handling across close actions 2026-03-13 04:16:59 -07:00