Commit graph

201 commits

Author SHA1 Message Date
Lawrence Chen
746fb8e5ec
Merge pull request #318 from manaflow-ai/issue-122-import-browser-cookies-history-settings
Browser: import data from detected installed browsers
2026-03-16 22:42:40 -07:00
Lawrence Chen
92cb42262c
feat: add browser profile mapping import flow 2026-03-16 21:22:39 -07:00
Austin Wang
1480171e5e
Support folder drops on dock icon (#1571) 2026-03-16 21:00:30 -07:00
Austin Wang
971b2b4e77
fix: show sidebar update banner from background checks (#1543) 2026-03-16 20:40:35 -07:00
Austin Wang
bd1788639d
Fix terminal find overlay crash and focus handoff (#1487)
* Add regression tests for terminal find overlay races

* Fix terminal find overlay crash and focus handoff
2026-03-15 18:32:24 -07:00
Manfred Neustifter
6b138f7d9d
feat: support window.open() popup windows (#1150)
* feat: support window.open() popup windows (#742)

Return a live WKWebView from createWebViewWith using WebKit's supplied
configuration, preserving popup browsing-context semantics (window.opener,
postMessage). This fixes OAuth/OIDC flows and any site relying on standard
popup patterns.

- Add BrowserPopupWindowController: NSPanel-based popup with self-retention,
  KVO title/URL, read-only URL label, nested popup depth limit (3),
  insecure-HTTP prompt parity, auth challenge parity, download delegate
- Classifier: scripted requests (window.open) create popups; user-initiated
  actions (Cmd+click, middle-click, context menu) open tabs
- Retarget context menu "Open Link in New Tab" to bypass createWebViewWith,
  wired in both main browser and popup web views
- Cmd+W fast path in AppDelegate for popup windows
- Opener panel owns popup lifecycle; close() tears down all child popups

* fix: Cmd+W closes only the popup, not the parent tab

Add BrowserPopupPanel (NSPanel subclass) that intercepts Cmd+W in
performKeyEquivalent before the swizzled cmux_performKeyEquivalent
can dispatch it to the main menu's "Close Tab" action.

Also refine the popup classifier to reuse browserNavigationShouldOpenInNewTab
for Cmd+click/middle-click detection, add download delegate wiring, and
wire onContextMenuOpenLinkInNewTab for popup web views.

* fix: tighten popup routing and window behavior

* test: cover oversized popup frame clamping

* test: cover plain link-activated popup routing

---------

Co-authored-by: Lawrence Chen <lawrencecchen@users.noreply.github.com>
2026-03-15 17:48:05 -07:00
Gale
07ec05b0f1
fix: make Cmd+W close About/Licenses windows instead of terminal tabs (#1473)
* fix: make Cmd+W close auxiliary windows

* test: harden auxiliary window close coverage

* style: normalize auxiliary window helper layout
2026-03-15 16:09:22 -07:00
Gaetan Juvin
dd6feed78f
Fix arrow key glyph matching in customizable shortcuts (#1443)
keyCodeForShortcutKey() did not map arrow glyphs (←→↑↓) to their
macOS key codes (123-126). The shortcut recorder correctly stored
arrow keys as glyphs via storedKey(), but matchShortcut() could
not resolve them back to key codes for ANSI fallback matching.

This only affected non-directional shortcut actions (e.g. Next/Previous
Surface) since pane focus shortcuts use a separate matchDirectionalShortcut()
path that already handles arrow keys.
2026-03-15 15:57:39 -07:00
austinpower1258
c1e264f325 Fix command palette command mode navigation 2026-03-13 20:14:03 -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
Lawrence Chen
7bd199b625
Address cmux themes PR feedback 2026-03-13 15:48:49 -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
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
054b91f641
Fix Return on Cmd+Ctrl+W close confirmation (#1279)
* Add close-window return-key regression test

* Focus close-window confirmation button

* Keep Return on close-window alert

* Address review feedback
2026-03-12 05:25:14 -07:00
Lawrence Chen
2db9bb4b86 Fix cmd+backtick window cycling 2026-03-12 01:53:59 -07:00
Lawrence Chen
89def5ed52
Prompt before closing window with Cmd+Ctrl+W (#1219)
* Add UI test for close-window confirmation

* Confirm before closing window

* Fix close-window confirmation tests
2026-03-11 20:37:37 -07:00
Lawrence Chen
6849b83f8d
Reduce typing lag from sidebar re-evaluation and hitTest overhead (#1204)
* Add typing hot path timing diagnostics

* Add stress workspace debug menu item

* Restore stress workspace preload debug path

* Reduce typing lag from sidebar re-evaluation and hitTest overhead

hitTest: gate divider/sidebar/drag routing to pointer events only,
avoiding two full view-tree walks per non-pointer event.

forceRefresh: replace per-keystroke ISO8601DateFormatter + FileHandle
I/O with dlog() in DEBUG builds.

TabItemView: replace @EnvironmentObject subscriptions with plain refs
and precomputed parameters, add Equatable conformance to skip body
re-evaluation when parent rebuilds with unchanged values. @self changed
re-evaluations dropped from 668 to 1 during rapid typing.

* Add typing-latency guardrail comments and CLAUDE.md pitfalls

Strategic comments on hitTest, TabItemView, and forceRefresh to prevent
future regressions. Adds typing-latency-sensitive paths to CLAUDE.md
pitfalls section so agents know the constraints before editing.

* Add workspace palette actions and fix release autosave typing guard

Add Move Up/Down/Top, Close Other/Above/Below, Mark Read/Unread to
Cmd+Shift+P command palette and a Workspace submenu in the menu bar.

Fix recordTypingActivity() being gated behind #if DEBUG, which prevented
release builds from honoring the typing quiet period in autosave.
2026-03-11 17:54:02 -07:00
Lawrence Chen
0c3d53129d Fix nightly release build welcome command helper 2026-03-10 21:48:36 -07:00
Lawrence Chen
52783bddf0
Polish welcome, feedback, and shortcuts flows (#1169)
* Add cmux welcome command with ASCII logo and shortcuts

Adds `cmux welcome` CLI command that prints a blue-to-purple gradient
chevron logo, version info, and key shortcuts. Auto-runs once on first
workspace creation via UserDefaults. Adds "Welcome" to the ? help menu
in the sidebar footer, which opens a new workspace running the command.

* Polish welcome, feedback, and shortcuts flows
2026-03-10 20:59:34 -07:00
Lawrence Chen
ec10dfdaec
Add browser find focus debug logs (#1162)
* Add browser find focus debug logs

* Allow browser find bar focus in portal host

* Add split and terminal find debug logs

* Avoid stealing search focus across splits

* Generalize panel focus restore intent

* Unify split focus intent activation

* Address focus restore review feedback

* Yield inactive panel focus before restore

* Gate browser find focus retries by generation

* Avoid repeated browser focus invalidation

* Keep browser find ownership while find bar is open
2026-03-10 19:31:52 -07:00
austinpower1258
df9a6ba0df Add split-zoom portal visibility regression coverage 2026-03-10 13:08:35 -07:00
Lawrence Chen
948b09a7c7
Add regression test for serve-web token cleanup (#1141)
* Add regression coverage for serve-web token cleanup

* Address review feedback on token cleanup test
2026-03-10 02:08:20 -07:00
Lawrence Chen
dea60ea71c
Update ghostty to v1.3.0 (#1142)
* Update ghostty to v1.3.0

* Add bell handling and AppleScript support

* Add zsh shell integration handoff test

* Fix Ghostty zsh integration handoff in cmux

* Add terminal keypress notification dismissal test

* Dismiss terminal notifications on keypress

* Address PR review feedback

* Tighten notification dismissal regression test

* Pin GhosttyKit checksum for latest ghostty
2026-03-09 21:32:54 -07:00
Lawrence Chen
c73c43efe3
Fix inline VS Code serve-web token exposure via argv (#1033)
* Fix inline VS Code token leak in process args

* Fix serve-web token file cleanup races

* Drain orphaned serve-web token files on stop

---------

Co-authored-by: cmux <cmux@cmuxs-Mac-mini.local>
2026-03-09 18:21:44 -07:00
Lawrence Chen
e680f1de55
Add DEBUG logging for browser omnibar/content focus handoff (#910)
* Add browser focus debug logging around omnibar/content handoff

* Avoid release-only unused-value warnings in focus debug logs

* Add omnibar focus writer trace logs

* Fix omnibar tap focus race

* Stabilize omnibar focus state transitions

* Propagate event context into responder guard

* Fix webview pointer hit testing in focus guard

* Stop omnibar reacquire on pointer blur intent

* Blur omnibar on webview click intent

* Preserve pointer intent through webview focus handoff

* Restore page input focus after omnibar escape

* Fix omnibar escape focus handoff and restore retry

* Track editable focus for omnibar restore and improve test diagnostics

* Add omnibar focus tracker telemetry to failing UI test

* Wait for page readiness before seeding focused input in UI test setup

* Strengthen omnibar escape focus regression with post-click assertion

* Use deterministic window offsets for post-escape web input click test

* Always enforce webview responder on omnibar escape

* Harden omnibar focus restore and address PR review feedback

---------

Co-authored-by: tiffanysun1 <tiffanysun8@gmail.com>
2026-03-07 03:05:13 -08:00
Lawrence Chen
e7c3961489
Revert "Add workspace pages in the titlebar (#1030)" (#1040)
This reverts commit 4de975e6a4.
2026-03-07 00:05:58 -08:00
Lawrence Chen
4de975e6a4
Add workspace pages in the titlebar (#1030)
* Add workspace pages in the titlebar

* Add workspace pages UI test target entry

* Relax workspace pages UI test titlebar checks

* Use page close button in workspace pages UI test

* Stabilize workspace pages UI test interruptions

* Skip page close confirms in UI tests

* Clean up superseded workspace handoffs

* Tighten page hint UI assertions

---------

Co-authored-by: cmux <cmux@cmuxs-Mac-mini.local>
2026-03-06 21:23:11 -08:00
austinpower1258
d43d7d6a51 Fix drag hover redraw churn in hosted panes 2026-03-06 15:47:11 -08:00
Lawrence Chen
d8ffb3eedb
Merge pull request #932 from manaflow-ai/issue-922-notify-steals-window-focus
Fix cmux notify focus steal regression
2026-03-06 00:51:47 -08:00
Austin Wang
0588aec593
Revert "ok (#717)"
This reverts commit a3681ede5b.
2026-03-06 00:19:28 -08:00
Lawrence Chen
ae4781ef66 Prepare notify regression source terminal in app setup 2026-03-05 22:39:26 -08:00
Lawrence Chen
5f82a1ae2a Run notify regression through a real terminal 2026-03-05 22:18:14 -08:00
Austin Wang
a7cef78725
Revert "Fix notification unread persistence when workspaces regain focus (#971)" (#992)
This reverts commit 5f43a3fc32.
2026-03-05 21:31:13 -08:00
Austin Wang
15c7c0cc3c
Fix side-docked dev tools resize (#712)
* wip

* Fix side-docked dev tools resize
2026-03-05 21:28:31 -08:00
Lawrence Chen
29054dc709
Add sidebar help menu to footer (#958)
* Add sidebar help menu

* Fix help menu test wiring

* Fix help menu accessibility

* Use native popup for help menu

* Use icon button for sidebar help

* Add feedback composer and feedback API

* Allow preview builds without feedback env

* Tighten feedback upload limits

* Adjust sidebar footer padding

* Tighten sidebar footer spacing

* Add link affordances to help menu

* Polish sidebar feedback composer

* Move feedback icon to trailing edge

* Normalize help menu trailing icon sizes

* Enlarge help menu trailing icons

* Reduce help menu link icon size

* Shrink help menu link arrow

* Reduce help menu link arrow again

* Fix feedback message editor focus

* Add send feedback keyboard shortcut

* Polish feedback launch and delivery
2026-03-05 21:00:42 -08:00
Lawrence Chen
2023d8eb57 Fallback panel lookup for notify UI setup 2026-03-05 20:34:51 -08:00
Lawrence Chen
e6e5a57dd6 Send notify regression input via workspace socket 2026-03-05 20:18:45 -08:00
Lawrence Chen
6c163b1eb0 Run notify regression from in-app shell 2026-03-05 20:04:52 -08:00
Austin Wang
c5577dd495
Fix flaky CLI socket listener recovery (#952) (#954)
* Harden socket listener health checks and path handling

* Make socket health probe non-blocking

* Address PR feedback for issue 952 recovery guard

* Run issue 952 regression guard without pytest dependency

* Harden socket probe timing and health telemetry

* Handle missing git in issue 952 regression guard

* Address remaining PR 954 review fixes
2026-03-05 19:52:59 -08:00
Lawrence Chen
f9dbbd3562 Reset surface wait timeout in notify UI setup 2026-03-05 19:26:08 -08:00
Lawrence Chen
2b99af19bc Harden multi-window notify regression test 2026-03-05 19:18:01 -08:00
Austin Wang
5f43a3fc32
Fix notification unread persistence when workspaces regain focus (#971)
* Fix notification unread persistence on focus

* Address review feedback on notification unread fix
2026-03-05 18:56:03 -08:00
Lawrence Chen
6347571b7c
Fix Dvorak Cmd+C colliding with notifications shortcut (#762)
* Fix layout-safe command shortcut matching

* Fix unshifted symbol shortcut coercion

* Fix layout handling for hardcoded Cmd shortcuts

* Support Cmd/Ctrl modifier hold shortcut hints

* Address PR shortcut review feedback

* Handle Caps Lock in command shortcut matching

* Address remaining PR shortcut review comments

* Handle Cmd+Ctrl+F control-character fallback

* Tighten shortcut hint hold-delay test

* Expose shortcut hint visibility in settings

* Restore Cmd+digit fallback on symbol-first layouts

* Stabilize shortcut regression coverage

* Align shortcut hint toggle with Cmd/Ctrl behavior

* Restore Claude workflow file

* Match Claude workflow file to main

* Keep shortcut hint hold behavior command-only

* Restore command shortcut fallback when layout data is unavailable

* Preserve command-aware shortcut translation
2026-03-05 18:32:42 -08:00