DioxusLabs / DioxusLabs/dioxus

on drop stuck until mouse movement on Mac sometimes

Open
#5,391 3 comments 0 reactions 0 assignees View on GitHub
bug
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.