Skip to content

DnD links from Electron apps to itself causes it to stop responding to input #1887

@LuckShiba

Description

@LuckShiba

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()

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions