Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2082 commits
Select commit Hold shift + click to select a range
5bbc356
Use pane TTY fallback for tmux Shift+Enter
austinywang Mar 30, 2026
b27035e
Add cmd-click fallback for bare filenames (ls output) (#2294)
lawrencecchen Mar 30, 2026
b155545
Simplify R2 to appcast-only (keep DMGs on GitHub) (#2363)
lawrencecchen Mar 30, 2026
4948072
Relicense from AGPL-3.0 to GPL-3.0 (#2364)
lawrencecchen Mar 30, 2026
833ff11
Switch nightly Sparkle feed URL to R2 (#2366)
lawrencecchen Mar 30, 2026
ce36e20
Fix minimal mode tab bar disappearing in fullscreen (#2375)
lawrencecchen Mar 30, 2026
c40c0f4
Add hover background to split action buttons (#2271)
lawrencecchen Mar 31, 2026
bf9db6f
Update ghostty fork to latest upstream
lawrencecchen Mar 31, 2026
935861c
Fix ghostty bridge header drift
lawrencecchen Mar 31, 2026
743e678
Fix ghostty kit checksum pin
lawrencecchen Mar 31, 2026
a5a6801
Add React Grab inject button to browser toolbar (#2373)
lawrencecchen Mar 31, 2026
02399f1
Import GhosttyKit in bridge header
lawrencecchen Mar 31, 2026
8591416
Merge pull request #2355 from manaflow-ai/issue-2352-shift-enter-tmux
austinywang Mar 31, 2026
12fc432
Refresh terminal surfaces during anchor resize sync
lawrencecchen Mar 31, 2026
33985a4
Fix session restore suppression on relaunch
austinywang Mar 31, 2026
ca481bb
Restore intermediate terminal resize updates
lawrencecchen Mar 31, 2026
20e2697
Add regression test for switcher title churn
lawrencecchen Mar 31, 2026
1010724
Add ctrl-k command palette regression tests
lawrencecchen Mar 31, 2026
f6d829c
Merge remote-tracking branch 'origin/main' into issue-1199-ghostty-up…
lawrencecchen Mar 31, 2026
2e12ce0
Keep cmd-p stable during workspace title churn
lawrencecchen Mar 31, 2026
abf3913
Let ctrl-k reach command palette text editing
lawrencecchen Mar 31, 2026
da2737f
Remove dead split drag branch
lawrencecchen Mar 31, 2026
1495621
Add command palette empty-state regression test
lawrencecchen Mar 31, 2026
35826a7
Stop stale command palette empty-state flashes
lawrencecchen Mar 31, 2026
128dbc8
Fix transparent background flash during sidebar toggle (#2378)
lawrencecchen Mar 31, 2026
29964cb
Clarify command palette open-state routing test
lawrencecchen Mar 31, 2026
e6e8eae
Merge pull request #2394 from manaflow-ai/task-ctrl-k-command-palette
lawrencecchen Mar 31, 2026
20f4a52
Live-update cmd-p workspace titles
lawrencecchen Mar 31, 2026
eaa81a1
Address cmd-p review feedback
lawrencecchen Mar 31, 2026
650b9b1
Merge pull request #2393 from manaflow-ai/issue-2391-cmd-p-animated-w…
lawrencecchen Mar 31, 2026
7ee478c
Add regression tests for duplicate sidebar git publishes
austinywang Mar 31, 2026
0f14a58
Avoid duplicate sidebar git metadata publishes
austinywang Mar 31, 2026
9f0c55b
Revert "Map Shift+Enter to raw newline in Ghostty"
austinywang Mar 31, 2026
72908cc
Merge pull request #2407 from manaflow-ai/revert-2355-issue-2352-shif…
austinywang Mar 31, 2026
e6e222b
Skip flaky socket security tests that time out on CI runners
austinywang Mar 31, 2026
de872e0
Skip flaky socket tests in macOS Compatibility workflow too
austinywang Mar 31, 2026
ae3ad1d
Add "Open Folder in VS Code (Inline)" via menu and command palette
austinywang Mar 31, 2026
8358a4e
Revert "Skip flaky socket tests in macOS Compatibility workflow too"
austinywang Mar 31, 2026
d4c6a25
Revert "Skip flaky socket security tests that time out on CI runners"
austinywang Mar 31, 2026
08b52df
Avoid retaining workspaces in cmd-p switcher
austinywang Mar 31, 2026
bc9fe5c
Revert cmd-p title churn lifecycle changes
austinywang Mar 31, 2026
6e3dfcd
Align switcher fingerprint tests with display names
austinywang Mar 31, 2026
8d97822
Merge pull request #2412 from manaflow-ai/codex/fix-main-ci
austinywang Mar 31, 2026
330aa9f
Merge branch 'main' of https://github.com/manaflow-ai/cmux into issue…
austinywang Mar 31, 2026
e1afb8d
Scope sidebar row observation to visible workspace state
austinywang Mar 31, 2026
ac56660
Merge pull request #2405 from manaflow-ai/issue-2388-sidebar-layout-r…
austinywang Mar 31, 2026
764f187
Merge pull request #2409 from manaflow-ai/issue-2401-vscode-web-local…
austinywang Mar 31, 2026
b4d9de3
Remove copy-on-select setting
lawrencecchen Mar 31, 2026
250a3ba
Merge pull request #2420 from manaflow-ai/task-remove-copy-on-select-ui
lawrencecchen Mar 31, 2026
ca2df74
Localize tab context menu and alert strings (#1998)
lawrencecchen Mar 31, 2026
ed6b0a6
Cache Zig package downloads in CI to prevent TLS flakes (#2423)
lawrencecchen Mar 31, 2026
73d4f8c
Add cmux SSH blog post (#2377)
lawrencecchen Mar 31, 2026
d1b71f0
Update claude-teams blog: link to Claude docs, mention auto env setup…
lawrencecchen Mar 31, 2026
d1fa4e3
Add SSH, Claude Code Teams, browser import, custom commands to README…
lawrencecchen Mar 31, 2026
0736dfb
Fix CLI focus-steal policy
austinywang Apr 1, 2026
1554392
Fix Claude VM node OOM guard
austinywang Apr 1, 2026
021cce1
Fix hook payload compaction build
austinywang Apr 1, 2026
939b0cf
Make sidebar PR lookups event-driven
austinywang Apr 1, 2026
cbe569c
Address review regressions
austinywang Apr 1, 2026
bc3dfed
Restore idle PR refresh cadence
austinywang Apr 1, 2026
a5c1e01
Preserve web search verbose status
austinywang Apr 1, 2026
a889ef7
Fix zsh EPOCHSECONDS fallback
austinywang Apr 1, 2026
f9f3c2f
Merge pull request #2453 from manaflow-ai/issue-2414-event-driven-pr-…
austinywang Apr 1, 2026
a91719b
wok
austinywang Apr 1, 2026
0d14a12
Fix Speakly escape leak on text insertion
austinywang Mar 31, 2026
4901fb5
Merge pull request #2464 from manaflow-ai/issue-140-cli-focus-steal
austinywang Apr 1, 2026
6a910c4
Add regression test for claude shell wrapper dispatch
austinywang Apr 1, 2026
3a45253
Keep claude wrapper ahead of PATH changes
austinywang Apr 1, 2026
27be77c
Add regression test for automation committed text
austinywang Apr 1, 2026
9250cad
Preserve automation control bytes in committed text
austinywang Apr 1, 2026
6f23b44
Merge branch 'main' of https://github.com/manaflow-ai/cmux into issue…
austinywang Apr 1, 2026
52063ee
Fix shell integration review regressions
austinywang Apr 1, 2026
9cea154
Fix paste from Raycast and other apps using alternate plain-text UTIs
austinywang Apr 1, 2026
362fecd
Add regression test for C1 CSI committed text
austinywang Apr 1, 2026
c5e1d12
wook
austinywang Apr 1, 2026
4aa8e87
Handle C1 CSI in committed text sanitizer
austinywang Apr 1, 2026
f89e33c
Fix macOS 26 glass window gating (#2459)
austinywang Apr 1, 2026
56968b0
Stop parent zsh watcher in nested shells
austinywang Apr 1, 2026
63645ba
Add regression test for AX insertText typing semantics
austinywang Apr 1, 2026
c5c2997
Handle claude aliases in shell integrations
austinywang Apr 1, 2026
bdc3102
Send AX committed text as typed input
austinywang Apr 1, 2026
32b0409
Preserve PR cache across preexec
austinywang Apr 1, 2026
6b19c85
fix: preserve terminal clipboard rich text and image fallbacks
austinywang Apr 1, 2026
8ae7f78
Pin claude hooks and preserve bash wrappers
austinywang Apr 1, 2026
127d4ff
Harden bash nested-shell review coverage
austinywang Apr 1, 2026
e053d00
Make Tahoe glass teardown reversible (#2459)
austinywang Apr 1, 2026
e1db9d9
Merge pull request #2466 from manaflow-ai/issue-2414-review-followups
austinywang Apr 1, 2026
fd98b86
Merge pull request #2467 from manaflow-ai/issue-2415-raycast-clipboard
austinywang Apr 1, 2026
26aeca9
Wip
austinywang Apr 1, 2026
d8d83d7
Merge pull request #2468 from manaflow-ai/issue-2459-macos26-glass-tr…
austinywang Apr 1, 2026
c53719d
Merge pull request #2465 from manaflow-ai/issue-2448-cmux-claude-wrapper
austinywang Apr 1, 2026
d9dc40e
Add regression tests for symlinked external opens
austinywang Apr 1, 2026
6c43860
Preserve symlink aliases for external opens
austinywang Apr 1, 2026
e974e38
Merge remote-tracking branch 'origin/main' into issue-2443-vm-node-oom
austinywang Apr 1, 2026
fa94999
Fix web header overlap (#2452)
lawrencecchen Apr 1, 2026
46644ff
Fix external insertText escape handling
austinywang Apr 1, 2026
2d8ddf1
wip
austinywang Apr 1, 2026
038613d
Merge pull request #2413 from manaflow-ai/issue-2400-speakly-voice-st…
austinywang Apr 1, 2026
e1ae69d
Fix GitHub star badge formatting (#2473)
lawrencecchen Apr 1, 2026
9ae6b33
Merge pull request #2469 from manaflow-ai/issue-2387-session-persiste…
austinywang Apr 1, 2026
a7aaeb9
Merge pull request #2462 from manaflow-ai/issue-2443-vm-node-oom
austinywang Apr 1, 2026
a8b9e7b
Keep GitHub stars badge stable across navigation (#2476)
lawrencecchen Apr 1, 2026
da0e449
Add GitHub stars badge to translated READMEs
austinywang Apr 1, 2026
73b4378
Merge pull request #2502 from manaflow-ai/feat-readme-github-stars-badge
austinywang Apr 1, 2026
a915856
Avoid duplicate browser portal sync during split drag
austinywang Apr 1, 2026
dd8b3d6
Fix focus reporting leak: seed initial focus state in Ghostty surface…
austinywang Apr 1, 2026
d88e8fd
Add Claude Binary Path setting (#2514)
lawrencecchen Apr 1, 2026
458967b
Merge remote-tracking branch 'origin/main' into issue-1199-ghostty-up…
lawrencecchen Apr 1, 2026
93ea4f8
fix: scope split divider drags to one mouse gesture
lawrencecchen Apr 1, 2026
95a176f
fix: require divider-origin fast resize
lawrencecchen Apr 1, 2026
b42e65e
Merge pull request #2379 from manaflow-ai/issue-1199-ghostty-upgrade
lawrencecchen Apr 2, 2026
587ba5c
fix: fall back to focused surface when new-split target is stale
anusheel Apr 2, 2026
03ca9c1
Support chorded keyboard shortcuts
lawrencecchen Apr 2, 2026
7b9acc6
Fix escape handling in shortcut recorder
lawrencecchen Apr 2, 2026
60b7fa4
test: cover korean IME composing text leak
lawrencecchen Apr 2, 2026
270e734
fix: suppress fallback text during IME composition
lawrencecchen Apr 2, 2026
d95f835
test: clarify korean IME regression naming
lawrencecchen Apr 2, 2026
a2606cc
Add settings.json shortcut overrides
lawrencecchen Apr 2, 2026
c2c28c0
Add regression test for chord reset on deactivate
lawrencecchen Apr 2, 2026
e8d54af
Fix shortcut chord cleanup edge cases
lawrencecchen Apr 2, 2026
2c47ffb
Add regression tests for chord prefix edge cases
lawrencecchen Apr 2, 2026
2661ad9
Fix configurable chord prefix routing
lawrencecchen Apr 2, 2026
4f93c6c
Add CLI reload-config command
lawrencecchen Apr 2, 2026
1f9142a
Merge pull request #2513 from manaflow-ai/issue-2503-browser-panel-re…
austinywang Apr 2, 2026
60f2e64
Simplify reload-config CLI command
lawrencecchen Apr 3, 2026
65d1047
Merge remote-tracking branch 'origin/main' into task-support-chords-f…
lawrencecchen Apr 3, 2026
48cfee6
Add regression tests for shortcut reload edges
lawrencecchen Apr 3, 2026
547d03d
Fix shortcut reload and chord edge cases
lawrencecchen Apr 3, 2026
ac2d06b
Add managed settings.json defaults and schema docs
lawrencecchen Apr 3, 2026
9fc1c18
Add editable workspace descriptions (#2475)
lawrencecchen Apr 3, 2026
e7edf72
fix: harden shortcut routing edge cases
lawrencecchen Apr 3, 2026
23a62fb
fix: preserve palette and browser shortcut routing
lawrencecchen Apr 3, 2026
14a02d2
chore: retrigger missing PR workflows
lawrencecchen Apr 3, 2026
836a47e
feat: add settings.json entry points
lawrencecchen Apr 3, 2026
18f03df
feat: make workspace color palette a named dictionary
lawrencecchen Apr 3, 2026
40945b2
Merge pull request #2518 from anusheel/fix/new-split-stale-surface-fa…
austinywang Apr 3, 2026
3b96247
feat: add textedit button for settings file
lawrencecchen Apr 3, 2026
e846cf0
refactor: reorder ghostty menu items
lawrencecchen Apr 3, 2026
c969525
refactor: restore settings menu ordering
lawrencecchen Apr 3, 2026
90eadd3
refactor: restyle settings file entry
lawrencecchen Apr 3, 2026
3f60bff
Detect listening ports for remote SSH workspaces (#2398)
lawrencecchen Apr 3, 2026
38ee9b4
refactor: move settings file actions into header
lawrencecchen Apr 3, 2026
858eef6
refactor: simplify settings file header action
lawrencecchen Apr 3, 2026
4468ed2
docs: explain shortcut chords from settings
lawrencecchen Apr 3, 2026
059e555
Add SSH foreground-auth regression tests
lawrencecchen Apr 3, 2026
3e504a8
Defer remote bootstrap until SSH auth succeeds
lawrencecchen Apr 3, 2026
0c4cb39
refactor: reorder shortcut chord actions
lawrencecchen Apr 4, 2026
92781c0
Merge origin/main into task-support-chords-for-keyboard-shortcuts
lawrencecchen Apr 4, 2026
f14bf69
Fix session restore terminal cursor focus race (#2471)
austinywang Apr 4, 2026
5fe8f6f
fix: notify after swapping settings file store
lawrencecchen Apr 4, 2026
a006a06
Support chorded keyboard shortcuts (#2528)
lawrencecchen Apr 4, 2026
9031f1b
Suppress nested split portal sync during divider drag
austinywang Apr 4, 2026
f2de669
Fix clipboard callback build break
austinywang Apr 4, 2026
e96bd0b
Fix reload build blockers
austinywang Apr 4, 2026
86d205b
Correct clipboard callback returns
austinywang Apr 4, 2026
9b88ab6
Fix ghostty callback return values
austinywang Apr 4, 2026
430e530
Find Homebrew go for dev remote bootstrap
lawrencecchen Apr 4, 2026
082c0e3
Fix missing sidebar git branch metadata for workspaces (#2563)
lawrencecchen Apr 4, 2026
0402512
Reuse SSH control master for remote relay
lawrencecchen Apr 4, 2026
77d5c72
Merge remote-tracking branch 'origin/main' into task-ssh-password-aut…
lawrencecchen Apr 4, 2026
d7b9c1a
fix: harden deferred ssh reconnect handling
lawrencecchen Apr 4, 2026
90cc772
Fix Ghostty clipboard callback return type
austinywang Apr 4, 2026
cfb5c41
Merge remote-tracking branch 'origin/main' into issue-2571-browser-fl…
austinywang Apr 4, 2026
2a40153
Fix missing sidebar ports for agent-run dev servers (#2562)
austinywang Apr 4, 2026
754a9cc
fix: harden ssh localcommand escaping
lawrencecchen Apr 4, 2026
26bc07a
Merge pull request #2564 from manaflow-ai/task-ssh-password-auth-befo…
lawrencecchen Apr 4, 2026
c6364d0
Fix sidebar layout loop and CLI socket deadlocks (#2601)
austinywang Apr 4, 2026
269d6bd
Commit Ghostty focus-reporting fix and sync guard
austinywang Apr 5, 2026
fa5420f
Merge remote-tracking branch 'origin/main' into issue-2446-focus-repo…
austinywang Apr 5, 2026
746368d
Pin GhosttyKit checksum for merged ghostty SHA
austinywang Apr 5, 2026
ef79b97
Fix multi-split resize follow-up regressions
austinywang Apr 6, 2026
f69a556
Merge pull request #2511 from manaflow-ai/issue-2446-focus-reporting-…
austinywang Apr 6, 2026
0790b38
Merge pull request #2574 from manaflow-ai/issue-2571-browser-flicker-…
austinywang Apr 6, 2026
101f746
test: cover zsh startup term handoff
lawrencecchen Apr 6, 2026
4b93ba7
fix: keep prompt colors with xterm-256color
lawrencecchen Apr 6, 2026
8fc4ba2
Merge remote-tracking branch 'origin/main' into feat-term-xterm-256color
lawrencecchen Apr 6, 2026
8324583
fix: drop unsupported Ghostty focus seed
lawrencecchen Apr 6, 2026
082d099
fix: restore GhosttyKit-compatible submodule pointers
lawrencecchen Apr 6, 2026
671b1a8
test: cover zsh term handoff edge cases
lawrencecchen Apr 6, 2026
cb28550
fix: guard zsh term spoof and sync ghostty fork docs
lawrencecchen Apr 6, 2026
e90a52e
fix: suppress missing zle hook noise
lawrencecchen Apr 6, 2026
f61fb9f
test: cover user zshenv integration disable
lawrencecchen Apr 6, 2026
e2a6d36
fix: honor user zshenv integration disables
lawrencecchen Apr 6, 2026
5ea1803
fix: stop swallowing ABC-QWERTZ / and ? in terminal input (#2447)
austinywang Apr 6, 2026
5e4b4bc
test: cover zsh preexec term restore
lawrencecchen Apr 6, 2026
1102bfa
fix: restore zsh term in preexec
lawrencecchen Apr 6, 2026
6c6002d
test: drive zsh handoff through a pty
lawrencecchen Apr 6, 2026
09bf36a
test: fail fast in pty zsh helper
lawrencecchen Apr 6, 2026
9b63a9a
Merge remote-tracking branch 'origin/main' into feat-term-xterm-256color
lawrencecchen Apr 6, 2026
4370a16
test: buffer pty output incrementally
lawrencecchen Apr 6, 2026
308330b
Merge pull request #2613 from manaflow-ai/feat-term-xterm-256color
lawrencecchen Apr 6, 2026
71984f6
test: expect Cmd-Shift-G for React Grab
lawrencecchen Apr 6, 2026
f1896bb
fix React Grab terminal round-trip
lawrencecchen Apr 6, 2026
a5fd4a8
test: cover react grab terminal pasteback target
lawrencecchen Apr 6, 2026
6b02515
fix react grab terminal pasteback target
lawrencecchen Apr 6, 2026
430a63b
Suppress cmd-hover path highlighting while terminal selection is acti…
austinywang Apr 6, 2026
a0e79c3
debug react grab pasteback round-trip
lawrencecchen Apr 6, 2026
090e3a8
test: cover react grab deactivate-before-copy order
lawrencecchen Apr 6, 2026
71b25ff
fix react grab pasteback after deactivate
lawrencecchen Apr 6, 2026
116d74f
test: cover react grab reset preserving pasteback
lawrencecchen Apr 6, 2026
ac4347d
fix react grab target surviving url sync
lawrencecchen Apr 6, 2026
62232de
test: cover deferred webview focus for react grab shortcut
lawrencecchen Apr 6, 2026
56df8e3
fix react grab shortcut when webview focus is deferred
lawrencecchen Apr 6, 2026
b72d4e4
Fix terminals freezing when first responder drifts (#2505)
austinywang Apr 6, 2026
578919d
Merge remote-tracking branch 'origin/main' into task-cmd-shift-g-reac…
lawrencecchen Apr 6, 2026
a3d2340
fix: address React Grab review follow-ups
lawrencecchen Apr 6, 2026
bce18ab
fix: tighten react grab review follow-ups
lawrencecchen Apr 6, 2026
d71e5da
fix: refresh active react grab round-trip tokens
lawrencecchen Apr 6, 2026
58dd407
fix: hide react grab session tokens from page scripts
lawrencecchen Apr 6, 2026
a639bb0
Merge pull request #2615 from manaflow-ai/task-cmd-shift-g-react-grab…
lawrencecchen Apr 6, 2026
6a35f53
test: keep latest notification after mark read
lawrencecchen Apr 6, 2026
c23137d
fix: keep latest notification until explicit clear
lawrencecchen Apr 6, 2026
c7e1c88
build: refresh GhosttyKit archive index
lawrencecchen Apr 6, 2026
398291e
Merge remote-tracking branch 'origin/main' into feat-keep-latest-noti…
lawrencecchen Apr 6, 2026
f8ec5c7
build: use xcrun ranlib for GhosttyKit repair
lawrencecchen Apr 6, 2026
54127bf
fix: DevTools pane breaks after workspace switch round-trips (#2621)
austinywang Apr 6, 2026
cb8d3e8
fix: add missing locale entries and portal resync on toggle (#2622)
lawrencecchen Apr 6, 2026
cc45c88
Merge pull request #2623 from manaflow-ai/feat-keep-latest-notification
lawrencecchen Apr 6, 2026
01e174c
Add cmux omx and cmux omc agent integrations (#2619)
lawrencecchen Apr 6, 2026
c10e6cc
Bump version to 0.63.2 (#2624)
austinywang Apr 6, 2026
f2c93e9
Bump CURRENT_PROJECT_VERSION to 79 to fix Sparkle update path; add mo…
austinywang Apr 6, 2026
65ebae1
merge: resolve conflicts with main
lawrencecchen Apr 6, 2026
bbac482
Fix sidebar PR status polling rate limits (#2585)
austinywang Apr 6, 2026
463990b
ci: only enforce Sparkle monotonic check on release (#2651)
austinywang Apr 6, 2026
2beeb73
guardrail: require settings.json review for settings rows
lawrencecchen Apr 7, 2026
3c17d67
fix: restore shortcut default and validate bypassed settings paths
lawrencecchen Apr 7, 2026
a48bd73
Merge pull request #2655 from manaflow-ai/task-support-chords-for-key…
lawrencecchen Apr 7, 2026
f0b9d62
Configurable surface tab bar font size (#2645)
austinywang Apr 7, 2026
1aab8ad
Add a system-wide hotkey to show and hide cmux windows (#2389)
austinywang Apr 7, 2026
e3ee4ac
Add passkey, WebAuthn, and FIDO2 support to browser pane (#2660)
austinywang Apr 7, 2026
389fa26
Fix workspace color picker context menu blinking (#2566)
austinywang Apr 7, 2026
bcb9a88
Hide workspace portal content before teardown (#2658)
austinywang Apr 7, 2026
da4ff6b
Coalesce sidebar PR polling per-repo, drop checks fetch, state-machin…
austinywang Apr 7, 2026
48640b4
Fix nightly codesign: sign nested plugins and frameworks before outer…
austinywang Apr 7, 2026
d0ea49f
Fix codesign: three-pass signing for Sparkle nested executables
austinywang Apr 7, 2026
154afb6
Merge pull request #2677 from manaflow-ai/fix-nightly-codesign-dock-t…
austinywang Apr 7, 2026
75d123d
Fix codesign: drop -perm filter so Sparkle Autoupdate gets signed
austinywang Apr 7, 2026
bb1642a
Merge pull request #2679 from manaflow-ai/fix-codesign-autoupdate
austinywang Apr 7, 2026
cdd8f36
Fix codesign: -path '*.app/*' excluded everything inside outer .app
austinywang Apr 7, 2026
fc6a402
Merge pull request #2680 from manaflow-ai/fix-codesign-path-filter
austinywang Apr 7, 2026
fdd2304
Revert "Merge pull request #2680 from manaflow-ai/fix-codesign-path-f…
austinywang Apr 7, 2026
40e3a40
Revert "Merge pull request #2679 from manaflow-ai/fix-codesign-autoup…
austinywang Apr 7, 2026
eff29da
Revert "Merge pull request #2677 from manaflow-ai/fix-nightly-codesig…
austinywang Apr 7, 2026
01a7daf
Revert "Fix nightly codesign: sign nested plugins and frameworks befo…
austinywang Apr 7, 2026
d15611a
Revert "Add passkey, WebAuthn, and FIDO2 support to browser pane (#26…
austinywang Apr 7, 2026
cb68ed0
Merge pull request #2681 from manaflow-ai/revert-passkey-nightly-broken
austinywang Apr 7, 2026
6aa17de
Fix terminal surfaces losing theme after config reload
rodchristiansen Apr 8, 2026
c758ee2
Fix theme sync when system appearance changes while cmux is inactive
rodchristiansen Apr 9, 2026
97a0b3a
Route reapplyColorSchemeAndConfig through liveSurfaceForGhosttyAccess
rodchristiansen Apr 14, 2026
e36c290
Seed color scheme in fallback config path before finalize
rodchristiansen Apr 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
16 changes: 16 additions & 0 deletions .claude/commands/pull.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Pull

Pull latest main and update all submodules to their latest remote main. No commits, no pushes.

## Steps

1. `git pull origin main`
2. For each submodule (ghostty, homebrew-cmux, vendor/bonsplit):
- `cd <submodule>`
- `git fetch origin`
- Check if behind: `git rev-list HEAD..origin/main --count`
- If behind, merge: `git merge origin/main --no-edit`
- Do NOT push. We only land submodule changes via PRs.
- Go back to repo root
3. `git submodule update --init --recursive`
4. Report: current commit, which submodules were updated and by how many commits
108 changes: 108 additions & 0 deletions .claude/commands/release-local.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
# Release Local

Full end-to-end release built locally. Bumps version, updates changelog, tags, then builds/signs/notarizes/uploads via `scripts/build-sign-upload.sh`.

## Steps

### 1. Determine the new version number

- Get the current version from `GhosttyTabs.xcodeproj/project.pbxproj` (look for `MARKETING_VERSION`)
- Bump the minor version unless the user specifies otherwise (e.g., 0.54.0 → 0.55.0)

### 2. Gather changes and contributors since the last release

- Find the most recent git tag: `git describe --tags --abbrev=0`
- Get commits since that tag: `git log --oneline <last-tag>..HEAD --no-merges`
- **Filter for end-user visible changes only** — ignore developer tooling, CI, docs, tests
- Categorize changes into: Added, Changed, Fixed, Removed
- If there are no user-facing changes, ask the user if they still want to release
- **Collect contributors:** For each PR referenced in the commits, get the author:
```bash
gh pr view <N> --repo manaflow-ai/cmux --json author --jq '.author.login'
```
- Also check for linked issue reporters (the person who filed the bug):
```bash
gh issue view <N> --repo manaflow-ai/cmux --json author --jq '.author.login'
```
- Build a deduplicated list of all contributor `@handle`s for the release

### 3. Update the changelog

- Add a new section at the top of `CHANGELOG.md` with the new version and today's date
- **Only include changes that affect the end-user experience**
- Write clear, user-facing descriptions (not raw commit messages)
- **Credit contributors inline** (see Contributor Credits below)
- Also update `docs-site/content/docs/changelog.mdx` if it exists

### 4. Bump the version

- Run: `./scripts/bump-version.sh` (bumps minor by default)

### 5. Commit, run the pre-tag guard, then tag and push

- Stage: `CHANGELOG.md`, `GhosttyTabs.xcodeproj/project.pbxproj`
- Commit message: `Bump version to X.Y.Z`
- Run: `./scripts/release-pretag-guard.sh`
- If it fails, run `./scripts/bump-version.sh`, commit the build-number bump, and rerun the guard
- Create tag: `git tag vX.Y.Z`
- Push: `git push origin main && git push origin vX.Y.Z`

### 6. Build, sign, notarize, and upload

```bash
./scripts/build-sign-upload.sh vX.Y.Z
```

This script handles: GhosttyKit build, xcodebuild, Sparkle key injection, codesigning, notarization (app + DMG), appcast generation, GitHub release upload, homebrew cask update, and cleanup.

If the script fails, run `say "cmux release failed"`.

### 7. Verify homebrew cask

- Run `bash tests/test_homebrew_sha.sh` to confirm the cask SHA matches the release DMG
- Update the homebrew-cmux submodule pointer: `git add homebrew-cmux && git commit -m "Update homebrew-cmux submodule to latest" && git push origin main`

## Changelog Guidelines

**Include only end-user visible changes:**
- New features users can see or interact with
- Bug fixes users would notice (crashes, UI glitches, incorrect behavior)
- Performance improvements users would feel
- UI/UX changes
- Breaking changes or removed features

**Exclude internal/developer changes:**
- Setup scripts, build scripts, reload scripts
- CI/workflow changes
- Documentation updates (README, CONTRIBUTING, CLAUDE.md)
- Test additions or fixes
- Internal refactoring with no user-visible effect
- Dependency updates (unless they fix a user-facing bug)

**Writing style:**
- Use present tense ("Add feature" not "Added feature")
- Group by category: Added, Changed, Fixed, Removed
- Be concise but descriptive
- Focus on what the user experiences, not how it was implemented

## Contributor Credits

Credit the people who made each release happen. This builds community and encourages contributions.

**Per-entry attribution** — append contributor credit after each changelog bullet:
- For code contributions (PR author): `— thanks @user!`
- For bug reports (issue reporter, if different from PR author): `— thanks @reporter for the report!`
- Core team (`lawrencecchen`, `austinywang`) contributions get no per-entry callout — core work is the baseline

**Summary section** — add a "Thanks to N contributors!" section at the bottom of each release:
```markdown
### Thanks to N contributors!

- [@user1](https://github.com/user1)
- [@user2](https://github.com/user2)
```
- List all contributors alphabetically by GitHub handle (including core team)
- Link each handle to their GitHub profile
- Include everyone: PR authors, issue reporters, anyone whose work is in the release

**GitHub Release body** — when the release is published, the GitHub Release should also include the "Thanks to N contributors!" section with linked handles.
107 changes: 107 additions & 0 deletions .claude/commands/release-nightly.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
# Release Nightly

End-to-end release via PR flow: bump version, update changelog, create PR, merge, tag, then build locally via `scripts/build-sign-upload.sh`.

## Steps

### Phase 1: Version bump, changelog, PR, merge, tag

1. **Determine the new version number**
- Get the current version from `GhosttyTabs.xcodeproj/project.pbxproj` (look for `MARKETING_VERSION`)
- Bump the minor version unless the user specifies otherwise (e.g., 0.48.0 → 0.49.0)

2. **Create a release branch**
- Create branch: `git checkout -b release/vX.Y.Z`

3. **Gather changes and contributors since the last release**
- Find the most recent git tag: `git describe --tags --abbrev=0`
- Get commits since that tag: `git log --oneline <last-tag>..HEAD --no-merges`
- **Filter for end-user visible changes only** - ignore developer tooling, CI, docs, tests
- Categorize changes into: Added, Changed, Fixed, Removed
- **Collect contributors:** For each PR referenced in the commits, get the author:
```bash
gh pr view <N> --repo manaflow-ai/cmux --json author --jq '.author.login'
```
- Also check for linked issue reporters (the person who filed the bug):
```bash
gh issue view <N> --repo manaflow-ai/cmux --json author --jq '.author.login'
```
- Build a deduplicated list of all contributor `@handle`s for the release

4. **Update the changelog**
- Add a new section at the top of `CHANGELOG.md` with the new version and today's date
- **Only include changes that affect the end-user experience**
- Write clear, user-facing descriptions (not raw commit messages)
- **Credit contributors inline** (see Contributor Credits below)
- Also update `docs-site/content/docs/changelog.mdx` if it exists
- If there are no user-facing changes, ask the user if they still want to release

5. **Bump the version**
- Run `./scripts/bump-version.sh` (bumps minor by default)

6. **Commit and push the release branch**
- Stage: `CHANGELOG.md`, `GhosttyTabs.xcodeproj/project.pbxproj`
- Commit message: `Bump version to X.Y.Z`
- Push: `git push -u origin release/vX.Y.Z`

7. **Create PR and wait for CI**
- `gh pr create --title "Release vX.Y.Z" --body "...changelog..."`
- `gh pr checks --watch`

8. **Merge PR**
- `gh pr merge --squash --delete-branch`
- `git checkout main && git pull`

9. **Create and push the tag**
- `git tag vX.Y.Z && git push origin vX.Y.Z`

### Phase 2: Local build, sign, notarize, upload

10. **Run the build script**

```bash
./scripts/build-sign-upload.sh vX.Y.Z
```

This script handles: GhosttyKit build, xcodebuild, Sparkle key injection, codesigning, notarization (app + DMG), appcast generation, GitHub release upload, and cleanup.

If the script fails, run `say "cmux release failed"`.

## Changelog Guidelines

**Include only end-user visible changes:**
- New features users can see or interact with
- Bug fixes users would notice (crashes, UI glitches, incorrect behavior)
- Performance improvements users would feel
- UI/UX changes
- Breaking changes or removed features

**Exclude internal/developer changes:**
- Setup scripts, build scripts, reload scripts
- CI/workflow changes
- Documentation updates (README, CONTRIBUTING, CLAUDE.md)
- Test additions or fixes
- Internal refactoring with no user-visible effect
- Dependency updates (unless they fix a user-facing bug)

## Contributor Credits

Credit the people who made each release happen. This builds community and encourages contributions.

**Per-entry attribution** — append contributor credit after each changelog bullet:
- For code contributions (PR author): `— thanks @user!`
- For bug reports (issue reporter, if different from PR author): `— thanks @reporter for the report!`
- Core team (`lawrencecchen`, `austinywang`) contributions get no per-entry callout — core work is the baseline

**Summary section** — add a "Thanks to N contributors!" section at the bottom of each release:
```markdown
### Thanks to N contributors!

- [@user1](https://github.com/user1)
- [@user2](https://github.com/user2)
```
- List all contributors alphabetically by GitHub handle (including core team)
- Link each handle to their GitHub profile
- Include everyone: PR authors, issue reporters, anyone whose work is in the release

**GitHub Release body** — when the release is published, the GitHub Release should also include the "Thanks to N contributors!" section with linked handles.
147 changes: 147 additions & 0 deletions .claude/commands/release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
# Release

Prepare a new release for cmux. This command updates the changelog, bumps the version, creates a PR, monitors CI, and then merges and tags.

## Steps

1. **Determine the new version number**
- Get the current version from `GhosttyTabs.xcodeproj/project.pbxproj` (look for `MARKETING_VERSION`)
- Bump the minor version unless the user specifies otherwise (e.g., 0.12.0 → 0.13.0)

2. **Create a release branch**
- Create branch: `git checkout -b release/vX.Y.Z`

3. **Gather changes and contributors since the last release**
- Find the most recent git tag: `git describe --tags --abbrev=0`
- Get commits since that tag: `git log --oneline <last-tag>..HEAD --no-merges`
- **Filter for end-user visible changes only** - ignore developer tooling, CI, docs, tests
- Categorize changes into: Added, Changed, Fixed, Removed
- **Collect contributors:** For each PR referenced in the commits, get the author:
```bash
gh pr view <N> --repo manaflow-ai/cmux --json author --jq '.author.login'
```
- Also check for linked issue reporters (the person who filed the bug):
```bash
gh issue view <N> --repo manaflow-ai/cmux --json author --jq '.author.login'
```
- Build a deduplicated list of all contributor `@handle`s for the release

4. **Update the changelog**
- Add a new section at the top of `CHANGELOG.md` with the new version and today's date
- **Only include changes that affect the end-user experience** - things users will see, feel, or interact with
- Write clear, user-facing descriptions (not raw commit messages)
- **Credit contributors inline** (see Contributor Credits below)
- Also update `docs-site/content/docs/changelog.mdx` with the same content
- If there are no user-facing changes, ask the user if they still want to release

5. **Bump the version in Xcode project**
- Update all occurrences of `MARKETING_VERSION` in `GhosttyTabs.xcodeproj/project.pbxproj`
- There are typically 4 occurrences (Debug/Release for main app and CLI)

6. **Commit and push the release branch**
- Stage: `CHANGELOG.md`, `docs-site/content/docs/changelog.mdx`, `GhosttyTabs.xcodeproj/project.pbxproj`
- Commit message: `Bump version to X.Y.Z`
- Push: `git push -u origin release/vX.Y.Z`

7. **Create a pull request**
- Create PR: `gh pr create --title "Release vX.Y.Z" --body "...changelog summary..."`
- Include the changelog entries in the PR body

8. **Monitor CI**
- Watch the CI workflow: `gh pr checks --watch`
- If CI fails, fix the issues and push again
- Wait for all checks to pass before proceeding

9. **Merge the PR**
- Merge: `gh pr merge --squash --delete-branch`
- Switch back to main: `git checkout main && git pull`

10. **Run the pre-tag guard, then create and push the tag**
- Run: `./scripts/release-pretag-guard.sh`
- If it fails, run `./scripts/bump-version.sh`, commit the build-number bump, push/merge that change, and retry the tag
- Create tag: `git tag vX.Y.Z`
- Push tag: `git push origin vX.Y.Z`

11. **Monitor the release workflow**
- Watch: `gh run watch --repo manaflow-ai/cmux`
- Verify the release appears at: https://github.com/manaflow-ai/cmux/releases
- Check that the DMG is attached to the release

12. **Verify homebrew cask update**
- The "Update Homebrew Cask" workflow triggers automatically after the release workflow completes
- Watch: `gh run list --workflow=update-homebrew.yml --limit=1` and `gh run watch`
- Verify: `cd homebrew-cmux && git pull && grep version Casks/cmux.rb`
- Run `bash tests/test_homebrew_sha.sh` to confirm the SHA matches

13. **Notify**
- On success: `say "cmux release complete"`
- On failure: `say "cmux release failed"`

## Changelog Guidelines

**Include only end-user visible changes:**
- New features users can see or interact with
- Bug fixes users would notice (crashes, UI glitches, incorrect behavior)
- Performance improvements users would feel
- UI/UX changes
- Breaking changes or removed features

**Exclude internal/developer changes:**
- Setup scripts, build scripts, reload scripts
- CI/workflow changes
- Documentation updates (README, CONTRIBUTING, CLAUDE.md)
- Test additions or fixes
- Internal refactoring with no user-visible effect
- Dependency updates (unless they fix a user-facing bug)

**Writing style:**
- Use present tense ("Add feature" not "Added feature")
- Group by category: Added, Changed, Fixed, Removed
- Be concise but descriptive
- Focus on what the user experiences, not how it was implemented
- Link to issues/PRs if relevant

## Contributor Credits

Credit the people who made each release happen. This builds community and encourages contributions.

**Per-entry attribution** — append contributor credit after each changelog bullet:
- For code contributions (PR author): `— thanks @user!`
- For bug reports (issue reporter, if different from PR author): `— thanks @reporter for the report!`
- Core team (`lawrencecchen`, `austinywang`) contributions get no per-entry callout — core work is the baseline

**Summary section** — add a "Thanks to N contributors!" section at the bottom of each release:
```markdown
### Thanks to N contributors!

- [@user1](https://github.com/user1)
- [@user2](https://github.com/user2)
```
- List all contributors alphabetically by GitHub handle (including core team)
- Link each handle to their GitHub profile
- Include everyone: PR authors, issue reporters, anyone whose work is in the release

**GitHub Release body** — when the release is published, the GitHub Release should also include the "Thanks to N contributors!" section with linked handles.

## Example Changelog Entry

```markdown
## [0.13.0] - 2025-01-30

### Added
- New keyboard shortcut for quick tab switching ([#42](https://github.com/manaflow-ai/cmux/pull/42)) — thanks @contributor!

### Fixed
- Memory leak when closing split panes ([#38](https://github.com/manaflow-ai/cmux/pull/38)) — thanks @fixer!
- Notification badges not clearing properly ([#35](https://github.com/manaflow-ai/cmux/pull/35)) — thanks @reporter for the report!

### Changed
- Improved terminal rendering performance ([#40](https://github.com/manaflow-ai/cmux/pull/40))

### Thanks to 4 contributors!

- [@contributor](https://github.com/contributor)
- [@fixer](https://github.com/fixer)
- [@lawrencechen](https://github.com/lawrencechen)
- [@reporter](https://github.com/reporter)
```
Loading
Loading