Open Bug 1564839 Opened 5 years ago Updated 2 years ago

[sway] [wayland] Tooltips open in a new sway wm container if connected to discord voice

Categories

(Core :: Widget: Gtk, defect, P3)

70 Branch
x86_64
Linux
defect

Tracking

()

UNCONFIRMED

People

(Reporter: pmargeti34, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

+++ This bug was initially created as a clone of Bug #1557075 +++

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:69.0) Gecko/20100101 Firefox/69.0

Steps to reproduce:

Open discordapp.com and join a voice chat.
NOTE: Closing firefox and re-opening it causes things to go back to normal.

Actual results:

Every tooltip from chromeui after that opens in it's own sway container (a new window). Awesomebar/Quantumbar dropdown becomes unresponsive and causes screen flickering when attempting to open it. Letters entered in website's input boxes flicker the screen and reset the input box (only one letter at a time).

NOTE: This does not happen in firefox 66.0.5, 67.0.1, firefox developer edition 68.0b7 (regression?)

Expected results:

Tooltips should not open new windows and instead be displayed over the respective ui element that was hovered to generate the tooltip. Aweomebar/Quantumbar should work normally. Website Input elements shouldn't flicker the screen and allow more than a single letter entries.

Firefox 68 landed in Arch repositories and that bug is back, just as described in the original report which I've marked as invalid (See: Bug #1557075 for screenshots of the problem). I suspect it's the microphone overlay icon flashing that causes it, but what do I know.

Summary: [sway] [nightly] Tooltips open in a new sway wm container if connected to discord voice → [sway] [wayland] Tooltips open in a new sway wm container if connected to discord voice

To trigger the bug launch Firefox with MOZ_ENABLE_WAYLAND=1

Flags: needinfo?(stransky)

Hi Mel

are yoy using Archlinux?
Please download Firefox Nightly from here: https://nightly.mozilla.org/ and retest the problem.

If you still have the issue please create a new profile, you have the steps here:https://support.mozilla.org/en-US/kb/profile-manager-create-and-remove-firefox-profiles?redirectlocale=en-US&redirectslug=Managing-profiles#w_starting-the-profile-manager

Please let me know
thanks
Pablo

Hello Pablo, thank you for quick reply.

I am indeed using Archlinux.

Here's what I did:
downloaded nightly from the link you provided
launched it with MOZ_ENABLE_WAYLAND=1 ./firefox -P and created a brand new profile
logged on to discord and joined voice chat
enabled microphone access
aaaaaaand... yeah, tooltips open as new windows, along with microphone use indicator

Attaching a screenshot to demonstrate the bug

Do I understand correctly that it's fixed by new profile? Thanks.

Flags: needinfo?(stransky) → needinfo?(pmargeti34)
Blocks: wayland-sway
Component: Untriaged → Widget: Gtk
Product: Firefox → Core
Priority: -- → P3
Version: 68 Branch → 70 Branch

Thank you for reply Martin.
No, it's sadly not fixed. I was wrong to close the original bug after trying out a fresh profile. I didn't allow microphone access immediately when I tried it and erroneously concluded it was my profile that caused it.
I'm fairly certain it's a regression in Firefox.

Flags: needinfo?(pmargeti34)

Here's the output in terminal when I perform steps described in the bug report, ending with alt+f4 after reproducing a tooltip as a new window.

~ ▶ MOZ_ENABLE_WAYLAND=1 firefox
Attempting load of libEGL.so
IPDL protocol Error: Received an invalid file descriptor
IPDL protocol Error: Received an invalid file descriptor
IPDL protocol Error: Received an invalid file descriptor
IPDL protocol Error: Received an invalid file descriptor
IPDL protocol Error: Received an invalid file descriptor
IPDL protocol Error: Received an invalid file descriptor

(firefox:8394): Gtk-CRITICAL **: 00:40:28.730: gtk_widget_get_window: assertion 'GTK_IS_WIDGET (widget)' failed

(firefox:8394): Gdk-CRITICAL **: 00:40:28.730: gdk_window_get_origin: assertion 'GDK_IS_WINDOW (window)' failed

(firefox:8394): Gdk-CRITICAL **: 00:40:28.730: gdk_window_move_to_rect: assertion 'window->transient_for' failed

(firefox:8394): Gdk-WARNING **: 00:40:30.569: Couldn't map as window 0x7fa0c6b97ae0 as popup because it doesn't have a parent

(firefox:8394): Gdk-WARNING **: 00:40:33.919: Couldn't map as window 0x7fa0c6615bb0 as popup because it doesn't have a parent
[Parent 8394, Gecko_IOThread] WARNING: pipe error (95): Connection reset by peer: file /build/firefox/src/firefox-68.0.2/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 358
[Parent 8394, Gecko_IOThread] WARNING: pipe error (133): Connection reset by peer: file /build/firefox/src/firefox-68.0.2/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 358
[Parent 8394, Gecko_IOThread] WARNING: pipe error (54): Connection reset by peer: file /build/firefox/src/firefox-68.0.2/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 358
[Parent 8394, Gecko_IOThread] WARNING: pipe error (187): Connection reset by peer: file /build/firefox/src/firefox-68.0.2/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 358
[Parent 8394, Gecko_IOThread] WARNING: pipe error (93): Connection reset by peer: file /build/firefox/src/firefox-68.0.2/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 358

###!!! [Parent][RunMessage] Error: Channel closing: too late to send/recv, messages will be lost

Affects me as well when connecting to a call in Hangouts meet. It also seems to cause a lot of random other display bugs and cause some UI elements to become unclickable.

It would be great to get some kind of feedback here saying yes, it's our bug or no, it's on sway so we can go pester sway people with it.

Seems to be fixed in nightly. Can you confirm Sauyon Lee?

Flags: needinfo?(bugzilla)

Still affecting me on 71.0a1 (2019-10-07).

Flags: needinfo?(bugzilla)

Could it have been sway update then that fixed it for me? I'm currently running

Name            : sway-git
Version         : r6065.352a3e1f-1

Oh and the bug is still there on firefox 69.0.2, even with this build of sway.

Unfortunately this still affects me on an identical version of sway and 10-07 nightly.

So the solution to this problem is creating a rule in sway config file:
for_window [title="Firefox - Sharing Indicator"] kill
Once that's been snuffed out by sway, tooltips are displayed normally.

Can you try it out to see if it works with your problem?

Flags: needinfo?(bugzilla)

It "solves" the problem in that it gets rid of the sharing indicator icon, but opening meet / discord still causes much brokenness in popup windows, e.g. permission requests or extension windows.

In any case, I feel that it's a workaround and not a solution.

Flags: needinfo?(bugzilla)

Hopefully this info leads to it receiving special treatment e.g. making it a proper floating window in wayland.

I get this same issue with popups in web pages as well as popups in the bookmarks bar. The bug doesn't always manifest itself. A restart of Firefox will fix the issue. I haven't been able to understand what makes it show up again. Using the sharing indicator does not trigger it for me.

The issue here is that what should have been either a subsurface popup or a small floating window ends up being a full tiling window.

The reason for that is that:

  1. The surface is resizable, in that min/max width/height is either zero, or not set to the same value.
  2. The xdg_surface does not have a parent (e.g. xdg_popup or xdg_toplevel with a parent assigned).

Neither of these should have been true. The widget is not meant to be resizable from what I can tell (and breaks this very common tiling heuristic), and this should likely have been an xdg_popup.

This issue is identical to https://bugzilla.mozilla.org/show_bug.cgi?id=1590661.

(Note: Fixing either of these issues should be enough, but technically they should both be corrected.)

This bug is especially annoying when using Thunderbird on sway in a stacked view.

I use Kerberos auth, and it's quite common that the authentication seems to take a bit longer than Thunderbird expects it to, so it tries to notify of the authn error by a popup when trying to fetch an email from the IMAP server, but exactly at that right moment the authentication succeeds, which causes the window to flicker as a whole new window is created, the focus is moved to it, but the new window is immediately destroyed and focus returns to the mail client.

"new mail" pop-up usually destroys whichever desktop you are currently on.

These should all be floating windows, not what they are now. The issue seems to be quite well described in comment 21, is there a way to get this prioritized?

Martin, if I understand correctly, you are the maintainer here. This is a serious UI/UX bug, yet its status is "UNCONFIRMED" and has no assignee. Is there any progress tracked in any other bugzilla? Are you not able to reproduce it?

Flags: needinfo?(stransky)

(In reply to Stanislav from comment #24)

Martin, if I understand correctly, you are the maintainer here. This is a serious UI/UX bug, yet its status is "UNCONFIRMED" and has no assignee. Is there any progress tracked in any other bugzilla? Are you not able to reproduce it?

Sorry, I don't have time to work on Sway issues. Also I'm only a volunteer paid by Red Hat.

Flags: needinfo?(stransky)

I can confirm this bug on Debian (testing) with Firefox 77 and Sway 1.4.

Mel, is this issue still valid?

Flags: needinfo?(pmargeti34)

This bug is still present in Firefox 87.0 at least.

(In reply to Robert Mader [:rmader] from comment #27)

Mel, is this issue still valid?

Yes, a workaround is disabling the legacy microphone indicator.

Flags: needinfo?(pmargeti34)
Severity: normal → S3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: