Commit graph

937 commits

Author SHA1 Message Date
Austin Wang
59901034bf
Merge pull request #1627 from manaflow-ai/issue-1623-devtools-x-close-state
Fix browser devtools X-close persistence
2026-03-17 17:48:01 -07:00
Austin Wang
392e98126a
Fix Option+Delete word delete on AZERTY (#1640) 2026-03-17 17:45:30 -07:00
austinpower1258
48426bf1ec Tighten browser devtools close timing 2026-03-17 17:37:01 -07:00
Austin Wang
a42e6663c4
Fix layout follow-up spin loop (#1633) 2026-03-17 17:17:24 -07:00
Lawrence Chen
4162eccf66 Keep command palette empty state stable while typing 2026-03-17 17:15:33 -07:00
Lawrence Chen
f6d4229ec7 Show all open-in commands in the palette 2026-03-17 17:15:33 -07:00
Lawrence Chen
a22bfa9709 Fix command palette open target availability 2026-03-17 17:15:33 -07:00
Lawrence Chen
bb6dacf20d Add regression coverage for app lookup open targets 2026-03-17 17:15:33 -07:00
austinpower1258
8397b32067 Debounce browser devtools visibility-loss sync 2026-03-17 17:13:51 -07:00
Lawrence Chen
f5d610e3ea
Merge remote-tracking branch 'origin/main' into task-browser-import-followups
# Conflicts:
#	Sources/Workspace.swift
2026-03-17 16:49:16 -07:00
Lawrence Chen
c4742a4ba1
Refine browser import minimal UI 2026-03-17 16:46:10 -07:00
austinpower1258
79fade5add Sync browser devtools preference on surface focus loss 2026-03-17 16:32:59 -07:00
austinpower1258
fabcb06891 Fix browser devtools X-close persistence 2026-03-17 16:28:19 -07:00
leon leung
66f8f8b022
fix(Workspace): fix EXC_BAD_ACCESS caused by over-releasing ghostty font (#1496)
The ghostty_surface_quicklook_font function returns an unretained pointer to a font object. Using takeRetainedValue() transferred non-existent ownership to ARC, leading to an over-release and an eventual EXC_BAD_ACCESS (SIGSEGV) crash when creating new surfaces (like cmd+t or cmd+d) on certain systems such as Intel Macs.

Replaced takeRetainedValue() with takeUnretainedValue() to correctly manage memory.

Co-authored-by: LeonLeung <leonleung.tech@gmail.com>
2026-03-17 15:16:12 -07:00
Lawrence Chen
d369778f7f
Scroll settings hint to import controls 2026-03-17 04:48:21 -07:00
Lawrence Chen
8d8fadbb27
Add hidden CLI command for live terminal debugging (#1599)
* Add hidden terminal debug CLI command

* Expand orphan terminal debug metadata

* Remove stray CLIProcessRunner test target wiring

* Tighten debug terminal diagnostics handling

---------

Co-authored-by: Lawrence Chen <lawrencecchen@users.noreply.github.com>
2026-03-17 04:03:49 -07:00
Lawrence Chen
c5ae8dc9eb
Defer browser import dialog presentation 2026-03-17 03:23:18 -07:00
Lawrence Chen
9807cb087b
Stabilize browser import hint UI tests 2026-03-17 03:14:23 -07:00
Austin Wang
e15825826f
fix: restore Sparkle automatic update checks (#1597) 2026-03-17 03:07:38 -07:00
Lawrence Chen
b9de0f0446
Add browser import hint debug variants 2026-03-17 03:01:50 -07:00
Lawrence Chen
d8a968c623
Address SSH follow-up PR review comments 2026-03-17 03:01:02 -07:00
Lawrence Chen
f97716939a
Add browser import UI test launch hook 2026-03-17 02:29:39 -07:00
Lawrence Chen
7bb7564726
Stabilize browser import menu test flow 2026-03-17 02:18:58 -07:00
Lawrence Chen
dfcbaa3220
Fix SSH remote CLI and loopback proxy follow-ups 2026-03-17 01:58:50 -07:00
Lawrence Chen
ffcd3fdfaa
Tighten browser import sheet UI 2026-03-17 01:51:57 -07:00
Lawrence Chen
66174ceb26
Fix release browser portal compile 2026-03-17 01:36:09 -07:00
Lawrence Chen
aac8a41ba2
Fix browser import follow-up review comments 2026-03-17 00:50:02 -07:00
Lawrence Chen
93bc5ea78b
Merge origin/main into pr-ssh-stack-main 2026-03-17 00:40:39 -07:00
Lawrence Chen
1604ff485b
Merge pull request #1549 from manaflow-ai/issue-1541-resolution-spinner
Fix spinner hang after display resolution changes
2026-03-17 00:19:30 -07:00
Lawrence Chen
832426af56
Stabilize SSH remote flow after merging main 2026-03-16 23:57:48 -07:00
Lawrence Chen
fdde470dcf
fix: address browser profile review follow-ups 2026-03-16 23:50:43 -07:00
Lawrence Chen
03dc055138
Merge remote-tracking branch 'origin/main' into pr-ssh-stack-main
# Conflicts:
#	CLI/cmux.swift
#	Sources/Panels/BrowserPanel.swift
#	Sources/TabManager.swift
#	Sources/Workspace.swift
#	cmuxTests/GhosttyConfigTests.swift
2026-03-16 23:16:12 -07:00
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
dc6bcb259a
fix: address browser import review feedback 2026-03-16 22:30:09 -07:00
Austin Wang
150600d089
Fix #1574: remove top update banner in sidebar (#1575)
* test: cover sidebar update indicator regression

* fix: remove duplicate sidebar update banner
2026-03-16 22:28:43 -07:00
Austin Wang
9bf6ad9457
Avoid blocking browser PR metadata updates (#1564) 2026-03-16 22:10:15 -07:00
Lawrence Chen
92cb42262c
feat: add browser profile mapping import flow 2026-03-16 21:22:39 -07:00
Austin Wang
7f220dc8e4
Fix sidebar PR badges for restored workspaces (#1570)
* test: cover sidebar PR explicit branch fallback

* fix: restore sidebar PR badges for workspace branches

* test: preserve sidebar PR badge on first prompt

* fix: keep sidebar PR badges through first prompt
2026-03-16 21:09:02 -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
Lawrence Chen
95ef1c8ca7
Keep portal sync responsive during live resize 2026-03-16 18:49:40 -07:00
Lawrence Chen
8d1d4722f6
Defer terminal portal sync past layout churn 2026-03-16 15:40:13 -07:00
Lawrence Chen
3b507d361f
fix: require pinned ids in sidebar drop planner (#1505)
Co-authored-by: Lawrence Chen <lawrencecchen@users.noreply.github.com>
2026-03-15 21:48:51 -07:00
Lawrence Chen
7a9a6a550c
Keep pinned workspaces above the sidebar pin boundary (#1503)
* test: cover pinned workspace reorder boundary

* fix: keep pinned workspaces above drag boundary

---------

Co-authored-by: Lawrence Chen <lawrencecchen@users.noreply.github.com>
2026-03-15 21:31:30 -07:00
Austin Wang
2e4c482c21
Fix Google sign-in infinite loading in browser pane (#1493)
* Add regression test for Google sign-in popup fallback (#1491)

* Fix Google sign-in popup routing regression (#1491)
2026-03-15 18:48:23 -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
zlatkoc
23bfc11b19
Add Startpage as a browser search engine option (#1368)
Add Startpage (startpage.com) to the BrowserSearchEngine enum alongside
Google, DuckDuckGo, Bing, and Kagi. Startpage provides an OpenSearch-
compatible suggestions endpoint at /osuggestions, so autosuggestions
work out of the box using the existing OSJSON parser.

Co-authored-by: Zlatko Cajic <git@zlat.co>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 16:18:46 -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