DioxusLabs / DioxusLabs/dioxus
on drop stuck until mouse movement on Mac sometimes
- Dominant language
- Rust
- Stars
- 39.1k
- Forks
- 1.9k
- Avg merge
- 4d 10h
- Merged PRs (30d)
- 4
Description
https://github.com/user-attachments/assets/a8d8b416-e13f-494d-b03d-35abd9d99feb
**Problem**
In a minimal Dioxus drag-and-drop repro on macOS desktop, dropping onto a floating drop target sometimes gets stuck after mouse release.
The visible behavior is:
- the native drag ghost remains visible after releasing the mouse button
- the `drop` handler is not called immediately
- the drop only completes after moving the mouse again
I can reproduce this in the desktop app/webview path, including when the drop target is created entirely in JavaScript during `dragstart` (instead of using Dioxus' event handlers). I cannot reproduce the same behavior when running the same repro via the web platform in Safari.
Repro repository:
https://github.com/tdomhan/dioxus_playground/tree/main
**Steps To Reproduce**
Steps to reproduce the behavior:
- Clone the repro repository: `https://github.com/tdomhan/dioxus_playground/tree/main`
- Run the app with `dx serve --platform desktop` on macOS.
- Start dragging the floating add button in the bottom-right corner toward the floating drop target in the bottom-left corner.
- Release the mouse while over the drop target. Sometimes the drag ghost remains stuck and the `drop` event is only delivered after moving the mouse again.
Additional notes:
- The repro also has a toggle to use a JS-created drop target instead of the Rust-rendered one. The issue still reproduces there.
- Running the same repro with `dx serve --platform web` in Safari does not reproduce the issue.
**Expected behavior**
Releasing the mouse over the drop target should immediately complete the drop, remove the drag ghost, and fire the `drop` handler without requiring any additional mouse movement.
**Screenshots**
Videos attached:
- `Screen Recording 2026-03-19 at 22.00.31 - original.mp4`
Original longer desktop recording showing the issue.
- `Screen Recording 2026-03-19 at 22.01.55 - js drop target.mp4`
Same issue with the JS-created drop target enabled.
- `Screen Recording 2026-03-19 at 22.04.32 - web.mp4`
Same repro running in Safari via the web platform; does not show the issue.
- `Screen Recording 2026-03-19 at 22.09.21 - with mouse click.mov`
Shorter desktop recording showing the problem, with mouse clicks visible.
**Environment:**
- Dioxus version: `0.7.3`
- Rust version: `rustc 1.95.0-nightly (0a3cd3b6b 2026-01-18)`
- OS info: `macOS (Darwin 25.0.0)`
- App platform: `desktop`
Control case:
- `web` platform in Safari on the same machine does not reproduce the issue. So not sure if this is just webview/wry related or how to further investigate the problem.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.