cmux/Sources
Lawrence Chen 6748c202f2
Fix sidebar drag-and-drop broken by FileDropOverlayView (#76)
* Fix sidebar drag-and-drop broken by FileDropOverlayView

The FileDropOverlayView (added in 9fd3cc2) sits on the window's theme
frame above the content view. Its hitTest returned self for all events,
causing AppKit to route drag sessions to the overlay instead of the
content view where SwiftUI lives. AppKit walks UP the superview chain
from the hit-tested view, never checking siblings — so SwiftUI's
.onDrop handlers for sidebar tab reordering were never reached.

Three changes fix this:

1. Smart hitTest: check NSPasteboard(name: .drag) for .fileURL and only
   return self during Finder file drags. Return nil otherwise so mouse
   events and internal drags pass through to the content view.

2. Custom UTType for sidebar drags: replace the fragile UTType.plainText
   hack with a proper com.cmux.sidebar-tab-reorder type registered in
   Info.plist. Uses visibility: .ownProcess since it's internal-only.

3. Narrow overlay registration: only register for .fileURL instead of
   .fileURL + .URL + .string. The broad .string type collided with
   text-based drag payloads.

* Add custom UTType Info.plist pitfall to CLAUDE.md
2026-02-18 17:20:22 -08:00
..
Find Fix terminal keys swallowed after opening browser (#45) 2026-02-17 03:21:08 -08:00
Panels Browser searchbar bugs (#51) 2026-02-17 16:26:42 -08:00
Update Fix socket accept loop not restarted after Sparkle update relaunch 2026-02-17 22:00:47 -08:00
AppDelegate.swift Merge remote-tracking branch 'origin/main' into fix-file-drop-targeting 2026-02-17 22:12:26 -08:00
Backport.swift Polish browser suggestions, focus, and tagged reload flow 2026-02-14 21:33:28 -08:00
cmuxApp.swift Socket access control: process ancestry check (#58) 2026-02-18 01:09:24 -08:00
ContentView.swift Fix sidebar drag-and-drop broken by FileDropOverlayView (#76) 2026-02-18 17:20:22 -08:00
GhosttyConfig.swift Add cmuxterm CLI and socket control modes 2026-01-28 21:19:48 -08:00
GhosttyTerminalView.swift Use paste path for file drops and don't steal focus 2026-02-17 22:11:47 -08:00
KeyboardShortcutSettings.swift Fix terminal keys swallowed after opening browser (#45) 2026-02-17 03:21:08 -08:00
NotificationsPage.swift Fix frozen terminals after split churn (#12) 2026-02-13 16:45:31 -08:00
PostHogAnalytics.swift Add sidebar metadata (git branch, ports, logs, progress), fix localhost URL resolution, simplify analytics 2026-02-16 02:46:39 -08:00
SidebarSelectionState.swift Fix frozen terminals after split churn (#12) 2026-02-13 16:45:31 -08:00
SocketControlSettings.swift Fix migrateMode dropping allowAll to default cmuxOnly 2026-02-18 02:12:19 -08:00
TabManager.swift Release v1.36.0 (#47) 2026-02-17 04:04:29 -08:00
TerminalController.swift Socket access control: process ancestry check (#58) 2026-02-18 01:09:24 -08:00
TerminalNotificationStore.swift Polish browser suggestions, focus, and tagged reload flow 2026-02-14 21:33:28 -08:00
TerminalView.swift Add sidebar blur effect with withinWindow blending (#9) 2026-02-04 03:04:45 -08:00
UITestRecorder.swift Fix frozen terminals after split churn (#12) 2026-02-13 16:45:31 -08:00
WindowAccessor.swift Polish browser suggestions, focus, and tagged reload flow 2026-02-14 21:33:28 -08:00
WindowDecorationsController.swift Refine settings/about titlebar styling and controls alignment 2026-02-14 02:11:35 -08:00
WindowDragHandleView.swift Fix frozen terminals after split churn (#12) 2026-02-13 16:45:31 -08:00
WindowToolbarController.swift move update pill to sidebar only, add Install Update menu item 2026-02-15 21:17:33 -08:00
Workspace.swift Add "+" menu button to horizontal tab bar for new terminal/browser tabs (#48) 2026-02-17 14:59:24 -08:00
WorkspaceContentView.swift Add file drop support from Finder into terminal splits 2026-02-17 21:55:31 -08:00