Commit graph

1905 commits

Author SHA1 Message Date
Lawrence Chen
78d1a43733 Persist workspace tab colors across session restore 2026-02-23 19:27:32 -08:00
Lawrence Chen
666ef75d1e Fix light-mode typing indicator contrast in active sidebar 2026-02-23 19:22:39 -08:00
Lawrence Chen
ea33e3adbd Merge remote-tracking branch 'origin/main' into pr-317-session-persistence
# Conflicts:
#	Sources/AppDelegate.swift
2026-02-23 19:20:56 -08:00
Lawrence Chen
fb46b3d8c4
Merge pull request #410 from manaflow-ai/feat-readme-stargazers
Add star history chart to README
2026-02-23 19:20:31 -08:00
Lawrence Chen
e9de2fa2ea Add star history chart to README 2026-02-23 19:18:43 -08:00
Lawrence Chen
0dee878268 Fix light-mode sidebar typing indicator contrast 2026-02-23 19:14:32 -08:00
Lawrence Chen
011abb62c9 Refine command palette focus restore and shortcut gating 2026-02-23 19:10:02 -08:00
Lawrence Chen
52fab725c4
Merge pull request #405 from manaflow-ai/task-browser-address-suggestions-squircle
Make browser omnibar suggestions popup and row highlights squircle
2026-02-23 19:08:22 -08:00
Lawrence Chen
05101a1a10 Fix light theme omnibar suggestions popover styling 2026-02-23 19:06:50 -08:00
Lawrence Chen
88c1dbc5d6 Fix omnibar focus thrash when another text field takes focus 2026-02-23 19:00:01 -08:00
Lawrence Chen
82ef5b8f6e Move omnibar suggestions popover up 1px 2026-02-23 18:51:32 -08:00
Lawrence Chen
b87d4fecda Move omnibar suggestions popover up by 2px 2026-02-23 18:43:39 -08:00
Lawrence Chen
ed0dd1ccb7 Make omnibar suggestions popup/rows squircle 2026-02-23 18:39:58 -08:00
Lawrence Chen
4e455a185c
Merge pull request #398 from manaflow-ai/task-light-mode-browser-omnibar-theme-bg
Fix light-mode browser omnibar chrome background
2026-02-23 18:25:55 -08:00
Lawrence Chen
53ef6a5f7d
Upgrade Sentry: tracing, breadcrumbs, dSYM upload (#366)
* Upgrade Sentry: tracing, breadcrumbs, dSYM upload

- Enhanced Sentry SDK init with performance tracing (10% sample),
  explicit app hang timeout, stack trace attachment, and HTTP
  failure capture
- Added breadcrumbs for key user actions: workspace switch/create/close,
  split creation, command palette open/close, app focus — these give
  context to hang/crash reports
- Added dSYM upload step to nightly and release CI workflows so hang
  stacks are fully symbolicated (requires SENTRY_AUTH_TOKEN secret)
- Created SentryHelper.swift with lightweight breadcrumb helper

Closes https://github.com/manaflow-ai/cmux/issues/365

* Remove command palette breadcrumbs

Not useful for hang diagnosis — keep only workspace/tab/split/focus
breadcrumbs that correlate with heavy operations.
2026-02-23 17:11:01 -08:00
Lawrence Chen
cfce7e93e0 Darken omnibar pill relative to theme background 2026-02-23 17:08:46 -08:00
Lawrence Chen
396942c7e4
Merge pull request #357 from manaflow-ai/task-titlebar-folder-icon-drags-window
Fix titlebar folder icon drag hit-testing
2026-02-23 17:05:29 -08:00
Lawrence Chen
0d98db7277 Fix titlebar text dragging while preserving folder icon drag 2026-02-23 17:03:55 -08:00
Lawrence Chen
0d03b58be8 Tune omnibar pill tint toward theme background 2026-02-23 17:02:19 -08:00
Lawrence Chen
a7a2e5d9b6
Merge pull request #370 from manaflow-ai/task-white-rect-frame-cmd-d-ctrl-d
Portal: stabilize rapid split churn + log Bonsplit container shifts
2026-02-23 16:54:54 -08:00
Lawrence Chen
638801cce8 Merge remote-tracking branch 'origin/main' into task-white-rect-frame-cmd-d-ctrl-d
# Conflicts:
#	Sources/AppDelegate.swift
#	Sources/TerminalWindowPortal.swift
2026-02-23 16:54:42 -08:00
Lawrence Chen
41b24b7883 Guard split shortcuts during transient focus fallback 2026-02-23 16:01:35 -08:00
Lawrence Chen
0eef387d5d Tint browser omnibar pill with theme accent 2026-02-23 15:55:01 -08:00
Lawrence Chen
561f052fdd Use theme background for browser omnibar chrome in light mode 2026-02-23 15:31:24 -08:00
Lawrence Chen
18d7579788
Merge pull request #397 from manaflow-ai/issue-385-self-hosted-runner-fork-pr-guard
Fix self-hosted CI exposure on fork pull requests
2026-02-23 15:28:24 -08:00
Lawrence Chen
310d807767 Add VM split-churn fuzz tests and harden portal reveal gating 2026-02-23 15:28:23 -08:00
Lawrence Chen
e9d9c6faf5 Preserve startup window geometry when session snapshot is missing 2026-02-23 15:25:16 -08:00
Lawrence Chen
c5d20ae032
Add Cmd+P open-directory shortcuts for installed apps (#368)
* Add smart Cmd+P directory-open app shortcuts

* Fix command palette scroll snap and jank

* Fix command palette selection-follow scrolling

* Use scrollPosition for command palette list scrolling

* Remove generic IDE directory command from Cmd+P

* Increase command palette max height to 450px
2026-02-23 15:02:48 -08:00
Lawrence Chen
f3fc880468 Guard self-hosted CI from fork pull requests 2026-02-23 14:58:17 -08:00
Lawrence Chen
6eeca9c5da Merge remote-tracking branch 'origin/main' into pr-317-session-persistence
# Conflicts:
#	Sources/AppDelegate.swift
#	Sources/cmuxApp.swift
2026-02-23 14:58:16 -08:00
Austin Wang
8cc5139441
Merge pull request #396 from manaflow-ai/issue-348-terminal-overflow-hardfix
Fix pane overflow/misalignment during aggressive resize (issue #348)
2026-02-23 12:26:22 -08:00
austinpower1258
4bc3da65b6 Fix terminal/web portal overflow during narrow pane resizing 2026-02-23 12:26:05 -08:00
Austin Wang
6598a38fe3
Fix terminal zoom inheritance for new splits/surfaces/workspaces (#384)
* Fix terminal Cmd zoom routing for Ghostty focus descendants (#383)

* Inherit new terminal zoom from last terminal context

Prefer pane-selected terminal as Ghostty config inheritance source when creating splits/new terminals, then focused/fallback terminals. This preserves runtime zoom/font size when opening the next terminal.

* Fix terminal zoom inheritance across split/tab/workspace creation
2026-02-23 11:26:11 -08:00
Austin Wang
c1822fdaac
Fix sidebar resize regression with 1/3 width cap (#393) 2026-02-23 11:14:34 -08:00
Austin Wang
d42126a082
Handle deeplink URL schemes in embedded browser (#392) 2026-02-23 10:51:28 -08:00
Austin Wang
65b3b570c9
Fix Caps Lock handling in browser omnibar keyboard paths (#382) 2026-02-23 10:27:13 -08:00
Austin Wang
3c1f1792c0
Fix browser workspace focus handoff lag (#381) 2026-02-23 10:27:04 -08:00
Raghav Pillai
946269455d Add CLI relay and docs for remote daemon
- Add CLI relay (cli subcommand and cmux symlink) to cmuxd-remote
- Implement socket discovery and TCP retry logic for relay connections
- Document CLI relay behavior, bootstrap symlink, and reverse TCP forwarding in README
- Update remote daemon spec with CLI relay details, status matrix, and PR reference
- Note bootstrap creates ~/.cmux/bin/cmux symlink and writes ~/.cmux/socket_addr
- Clarify integration steps and relay process behavior (ssh -N -R, ControlPath/ExitOnForwardFailure)
2026-02-23 18:42:44 +02:00
Raghav Pillai
071e6e0897 Add SSH relay integration test for cmux CLI
- Introduce tests_v2/test_ssh_remote_cli_relay.py Docker integration test
- Spawns a Docker SSH fixture, generates SSH keypair, and forwards reverse socket
- Locates cmux CLI binary and runs CLI commands over SSH (ping, list-workspaces, new-window, rpc)
- Validates JSON outputs and remote cmux symlink presence
- Cleans up workspace, container, image, and temp files on completion or error
2026-02-23 18:24:45 +02:00
Raghav Pillai
325abe6ea6 Enable stream-local forwarding in SSH fixture
- add AllowStreamLocalForwarding yes to test SSH server config
- add StreamLocalBindUnlink yes to allow binding to existing socket paths
- update ssh-remote fixture to support stream local socket forwarding scenarios
2026-02-23 18:24:34 +02:00
Raghav Pillai
18700b0515 Add SSH reverse relay for local Unix socket
- Add support for spawning an SSH reverse relay that forwards a remote TCP port to a local cmux Unix socket
- Generate random ephemeral relay port and propagate via CLI, workspace config, and JSON payloads
- Start/monitor background relay Process in WorkspaceRemoteSessionController with stderr handling and auto-restart
- Filter probe-reported ephemeral ports and avoid treating relay ports as user service ports
- Create remote cmux symlink and write remote ~/.cmux/socket_addr for relay discovery
- Kill orphaned relay processes on startup to avoid conflicts
- Add helpers to check loopback port reachability and adjust forward/SSH options (ControlPath, ExitOnForwardFailure)
2026-02-23 18:24:25 +02:00
Raghav Pillai
1a1caca99d Add cmux CLI relay and tests
- Introduce CLI client (cmux) to relay v1 text and v2 JSON-RPC commands over Unix/TCP sockets
- Implement command specs, flag parsing, v1/v2 round-trips, TCP retry with address refresh
- Add browser subcommand mapping and rpc passthrough support
- Support busybox-style invocation when argv[0]=="cmux" and add 'cli' subcommand
- Add comprehensive unit tests for socket dialing, CLI commands, flag-to-param mapping, and env defaults
- Add socket_addr file fallback reader and random request id generation
2026-02-23 18:24:14 +02:00
Lawrence Chen
b34b3a530a Portal: log Bonsplit container frame changes 2026-02-23 05:57:23 -08:00
Lawrence Chen
df779d32ea Portal: hide terminal view before hidden-frame updates 2026-02-23 05:54:02 -08:00
Lawrence Chen
2426590e91
Fix terminal focus when window loses key (#359)
* Fix terminal blur when window loses key

* Fix shortcut routing across multiple windows

* Fix shortcut window detection when identifiers change
2026-02-23 05:50:10 -08:00
Lawrence Chen
5070b137a4
Fix early Cmd+D then Ctrl+D split startup hang (#364)
* Harden early Ctrl+D child-exit callback routing

* Add Ctrl+D close-path tracing and suppress tiny-frame focus churn

* Suppress hidden-surface onFocus callbacks during portal churn
2026-02-23 05:19:58 -08:00
Lawrence Chen
cb55cc7404
Merge pull request #363 from manaflow-ai/task-cmdp-add-apply-update-attempt-update
Add command-palette Apply Update and Attempt Update actions
2026-02-23 04:58:12 -08:00
Lawrence Chen
bf69fcbdcf Hide apply-update command until update is available 2026-02-23 04:56:48 -08:00
Lawrence Chen
82d2d0e474 Add command palette apply and attempt update actions 2026-02-23 04:53:25 -08:00
Lawrence Chen
47d0b60cd6
Merge pull request #362 from manaflow-ai/task-cmd-p-show-all-windows
Cmd+P switcher includes workspaces from every window
2026-02-23 04:33:36 -08:00