Fix attachment overlay leaking into pane resizes - #353
Conversation
wingleeio
left a comment
There was a problem hiding this comment.
Reviewed the overlay change and pinned GPUI drag-style, hit-testing, and drop-dispatch behavior. No blocking findings. Typed payload matching removes the stale state while preserving the existing attachment handlers and allowing underlying mouse interaction. Formatting and diff checks pass; the full UI suite, Linux browser, iOS, and session-sync CI checks pass. Waiting for the remaining macOS check before merge.
|
Follow-up CI investigation after merge:
This establishes nondeterministic behavior under the same tracked source tree, rather than a new source change introduced by the merge. It does not distinguish fixture/environment instability from an intermittent application/platform bug. The overlay change runs in the real-shell fixture, so absolute causal exclusion would be too strong. Is this window-startup/capture failure a known issue? A same-commit rerun plus a focused readiness investigation seems useful. No CI reruns or code changes were made during this review. This is also distinct from #341's menu-input-restoration assertion; a shared cause has not been established. |
Summary
Root cause
FileDrop::Exitedclears GPUI's active external payload without emitting a final mouse-move event. The shell's cachedfile_drag_activeflag could therefore remain set. A later internal drag, such as grabbing a resize seam, satisfied the generic active-drag guard and made the stale attachment overlay visible again.Verification
rustfmt --edition 2024 --check crates/ui/src/shell.rsgit diff --checkcargo test -p zeron-ui --lib shell::tests:: -- --nocapture(48 passed)Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.