-
Notifications
You must be signed in to change notification settings - Fork 229
Description
Related: #1875
After updating niri to the newer unstable version, which updated Smithay from d743e1a to 6329f5b, the new DnD changes are now causing a bug in Electron apps where dragging and dropping links from the app to itself will 'freeze' the app in a way where only scrolling input works. The app window still updates, but keyboard and mouse input (with the exception of scrolling) will be ignored, including commands to close the window. This also could be reproduced in Anvil compositor.
This is probably an upstream Electron bug, since it happens only on it and when this "freeze" happens, non-web part of the window (such as the element inspector) is still interactable, but it only happens on newer versions of Smithay, so maybe something can be changed to avoid triggering it.
I was able to reproduce it in both Vesktop, Element and Slack, both from Flathub, in both niri and Anvil compositors. #1881 doesn't fix this. I couldn't reproduce it in non-Electron Chromium browsers or other non-Smithay compositors (such as LabWC).
Related logs from Vesktop with WAYLAND_DEBUG=1:
[1592984.091] wl_data_device#25.data_offer(new id wl_data_offer#4278190080)
[1592984.094] wl_data_offer#4278190080.offer("text/x-moz-url")
[1592984.097] wl_data_offer#4278190080.offer("text/html")
[1592984.099] wl_data_offer#4278190080.offer("text/plain;charset=utf-8")
[1592984.102] wl_data_offer#4278190080.offer("text/plain")
[1592984.104] wl_data_offer#4278190080.source_actions(3)
[1592984.106] wl_data_device#25.enter(6861, wl_surface#41, 207.91796875, 655.38281250, wl_data_offer#4278190080)
[1592984.111] -> wl_data_offer#4278190080.accept(6861, "text/x-moz-url")
[1592984.114] -> wl_data_offer#4278190080.accept(6861, "text/html")
[1592984.116] -> wl_data_offer#4278190080.accept(6861, "text/plain;charset=utf-8")
[1592984.119] -> wl_data_offer#4278190080.accept(6861, "text/plain")
[1592984.186] -> wl_data_offer#4278190080.set_actions(0, 0)
[1593364.829] wl_data_source#57.dnd_drop_performed()
[1593364.963] wl_data_device#25.leave()
[1593364.967] wl_pointer#34.enter(6872, wl_surface#41, 226.26171875, 652.53125000)
[1593364.998] wl_pointer#34.frame()
[1593365.036] -> wp_cursor_shape_device_v1#29.set_shape(6872, 4)
[1593493.245] wl_pointer#34.motion(18814353, 224.67968750, 653.32421875)
[1593493.392] wl_pointer#34.frame()