Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Main window does only conditionally open up when using wayland (signal-desktop 6.43.1) #6740

Open
2 tasks done
fkranhold opened this issue Jan 5, 2024 · 4 comments
Open
2 tasks done

Comments

@fkranhold
Copy link

Using a supported version?

  • I have searched searched open and closed issues for duplicates.
  • I am using Signal-Desktop as provided by the Signal team, not a 3rd-party package.

Overall summary

I am running signal-desktop 6.43.1 on Arch with sway. The command signal-desktop, which apparently relies on xwayland, works as expected, but signal-desktop --enable-features=UseOzonePlatform --ozone-platform=wayland only works when the application has previously been opened without these parameters. Hence, opening Signal with wayland support, closing it, and re-opening it does not work.

When running these commands in a shell, no errors are shown; the two outputs look very similiar. The only difference I noticed is that in the unsuccessful case, the following two lines are missing:

{"level":30,"time":"2024-01-05T13:13:19.660Z","msg":"main window is ready-to-show"}
{"level":30,"time":"2024-01-05T13:13:19.660Z","msg":"showing main window"}

Steps to reproduce

  1. Run signal-desktop --enable-features=UseOzonePlatform --ozone-platform=wayland.
  2. Close Signal.
  3. Repeat Step 1.

Expected result

Step 3 should open a window.

Actual result

Step 3 does not open a window.

Screenshots

No response

Signal version

6.43.1

Operating system

Arch Linux

Version of Signal on your phone

No response

Link to debug log

No response

@scottnonnenberg-signal
Copy link
Contributor

Thanks for the bug report - the need for startups in both configurations is certainly unexpected.

This is likely an Electron issue - for the best chance of getting this fixed, you can help by filing a bug on their project with an Electron Fiddle showing a minimum repro.

@fatino
Copy link

fatino commented Feb 7, 2024

I have similar issue. Although for me I have to run signal-desktop --enable-features=UseOzonePlatform --ozone-platform=wayland in one terminal tab and then again the same in other to make signal show up. No other electron apps have those issues for me (caprine as eg.). I'm on arch KDE plasma.

@Ferdi265
Copy link

Ferdi265 commented Mar 18, 2024

I can confirm this as well (on signal 7.2.0 on Arch Linux with sway). I need to start signal twice for the window to open up on wayland.

The same also happens when using signal-desktop --ozone-platform-hint=auto instead of the above flags.

I debugged this using WAYLAND_DEBUG=1:

When only starting signal-desktop once:

  • Signal actually creates a Wayland surface (wl_compositor@7.create_surface(new id wl_surface@36))
  • It also creates a fractional scale manager and viewport
  • but it doesn't actually attach any buffers to the surface, doesn't commit it, and doesn't create an XDG toplevel surface (an actual window)

When starting it a second time:

  • Signal commits the surface
  • it also creates an XDG toplevel surface
  • the window appears and basically everything works

@Ferdi265
Copy link

seems related to #6368

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

4 participants