SpacingBat3 / WebCord

A Discord and SpaceBar :electron:-based client implemented without Discord API.
MIT License
1.96k stars 98 forks source link

Moving server icons causes crash on Wayland #374

Closed IAGOnGithub closed 1 year ago

IAGOnGithub commented 1 year ago

Aknowledgements

Operating System / Platform

🐧️ Linux

Operating system architecture

x64 (64-bit Intel/AMD)

Electron version

v22.0.0

Application version

v4.1.1 stable

Bug description

Trying to move server icons in the sidebar reliably triggers a crash running under Wayland natively.

Steps to reproduce:

  1. Use a Wlroots-based compositor with scaling set higher than 1
  2. Run Webcord with the --ozone-platform flag set to wayland
  3. Click and drag any server icon in the sidebar
  4. Crash

I can gather additional information if needed. Just tell me what I have to do.

Additional context

Crash ONLY occurs when Webcord is running under Wayland natively and scaling is set above 1. Xwayland is unaffected and may be a viable workaround, as is using a scale factor of 1 or lower.

eclairevoyant commented 1 year ago

which compositor do you use? I don't see this behaviour with sway and electron 22

IAGOnGithub commented 1 year ago

Funny enough, I'm using Sway and Electron 22.

eclairevoyant commented 1 year ago

Does the same issue happen with other electron apps or chromium? Also btw here's exactly what's in my ~/.config/electron-flags.conf, you may want to double check that as well. I run webcord with no arguments.

--enable-features=UseOzonePlatform,WaylandWindowDecorations
--ozone-platform=wayland
IAGOnGithub commented 1 year ago

I copied your flags and the issue still occurs consistently. And no, I don't have any other Electron applications to test with.

IAGOnGithub commented 1 year ago

The issue only occurs when the compositor is set to a scale factor higher than 1. And for some reason, this wasn't the first thing I tested. It likely happens on all wlroots-based compositors, but I can't test Mutter or Kwin. The bug report has been edited to reflect this.

IAGOnGithub commented 1 year ago

Not sure when this issue was resolved, but it seems to work correctly now. Closing.