Summary
On macOS 26 (Tahoe), dragging a file from Finder onto the notch to drop it into the File Shelf stalls for ~10 seconds — the file "waits" at the entry stage with a loading indicator before it is finally added.
Environment
- macOS 26.5.2 (Tahoe), build 25F84
- Atoll built from source (
dev)
Console signature
During the drag, the system logs Core Drag reentrancy:
Reentrant message: kDragIPCWithinWindow, current message: kDragIPCWithinWindow
Reentrant message: kDragIPCLeaveApplication, current message: kDragIPCEnterLeaveHandler
plus [MusicControl] ... floating window sync (force: true) while deferred piling up (main runloop busy during the drag).
Root cause
When a drag enters the notch, dragDetector opens the notch (ContentView → openNotch() → DynamicIslandViewModel.open()), which synchronously resizes the notch NSPanel on the main thread via window.setFrame(targetFrame, display: true) (AppDelegate.resizeWindow in DynamicIslandApp.swift).
Resizing the drag-destination window during an active drag — inside AppKit's Core Drag IPC handler — triggers the reentrancy above, and display: true forces a synchronous redraw of the heavy SwiftUI hierarchy inside the drag callback. The drag IPC doesn't get a timely response, so AppKit falls back to a ~10s timeout before the drop completes.
Contributing factors: coordinator.currentView = .shelf triggers a second resize via the $currentView sink, the reminder-activity observer can trigger a third, and anyDropZoneTargeting has no debounce — so cursor enter/leave over the resizing window multiplies the reentrancy.
What does NOT fix it
Deferring the open (DispatchQueue.main.async) and debouncing anyDropZoneTargeting reduce the reentrancy count (e.g. 7 → 1) but do not remove the stall — even a single window resize during the active drag re-triggers it.
Suggested fix
Avoid changing the notch window's geometry during an active drag. Either keep the notch panel a fixed size and animate only the content reveal (so the drop-destination window never resizes mid-drag), or use a separate fixed-size transparent drop-catcher window for drag detection and open the visual shelf after the drop completes.
Related
Likely the drag-in counterpart of #646 (dragging out of the shelf gets stuck) — both look like macOS 26/27 Core Drag + window-manipulation interactions.
Summary
On macOS 26 (Tahoe), dragging a file from Finder onto the notch to drop it into the File Shelf stalls for ~10 seconds — the file "waits" at the entry stage with a loading indicator before it is finally added.
Environment
dev)Console signature
During the drag, the system logs Core Drag reentrancy:
plus
[MusicControl] ... floating window sync (force: true) while deferredpiling up (main runloop busy during the drag).Root cause
When a drag enters the notch,
dragDetectoropens the notch (ContentView→openNotch()→DynamicIslandViewModel.open()), which synchronously resizes the notchNSPanelon the main thread viawindow.setFrame(targetFrame, display: true)(AppDelegate.resizeWindowinDynamicIslandApp.swift).Resizing the drag-destination window during an active drag — inside AppKit's Core Drag IPC handler — triggers the reentrancy above, and
display: trueforces a synchronous redraw of the heavy SwiftUI hierarchy inside the drag callback. The drag IPC doesn't get a timely response, so AppKit falls back to a ~10s timeout before the drop completes.Contributing factors:
coordinator.currentView = .shelftriggers a second resize via the$currentViewsink, the reminder-activity observer can trigger a third, andanyDropZoneTargetinghas no debounce — so cursor enter/leave over the resizing window multiplies the reentrancy.What does NOT fix it
Deferring the open (
DispatchQueue.main.async) and debouncinganyDropZoneTargetingreduce the reentrancy count (e.g. 7 → 1) but do not remove the stall — even a single window resize during the active drag re-triggers it.Suggested fix
Avoid changing the notch window's geometry during an active drag. Either keep the notch panel a fixed size and animate only the content reveal (so the drop-destination window never resizes mid-drag), or use a separate fixed-size transparent drop-catcher window for drag detection and open the visual shelf after the drop completes.
Related
Likely the drag-in counterpart of #646 (dragging out of the shelf gets stuck) — both look like macOS 26/27 Core Drag + window-manipulation interactions.