modrinth / code

The Modrinth monorepo containing all code which powers Modrinth!
https://modrinth.com
Other
876 stars 155 forks source link

On-hover dialogues don't disappear on Linux #973

Closed Blazing-Blast closed 7 months ago

Blazing-Blast commented 8 months ago

Describe the bug

On Linux I have the issue that all of the on-hover dialogues don't disappear when I remove my mouse from them.

Steps to reproduce

  1. Open launcher.
  2. Hover mouse over a button (such as Home, Browse, Library, Log in/ -out).
  3. A little box will pop-up, with one or two words.
  4. Move mouse somewhere else.
  5. The box will stay.

Expected behavior

Instead of step 5, the box will go away.

System information

uname -a Linux blazingblast 6.7.0-rc8-00130-g6d0dc8559c84 #52 SMP PREEMPT Fri Jan 5 20:37:00 CET 2024 x86_64 GNU/Linux pacman -Q modrinth-app-bin modrinth-app-bin 0.6.3-1

Additional context

image

triphora commented 8 months ago

I can reproduce this, but it seems to only occur when it's active while navigating to another page.

tobeqz commented 8 months ago

This happens to me almost every time (but not always) in the AUR package modrinth-app and when building the project in release mode, but for some reason I can't reproduce it when I'm in pnpm tauri dev. Maybe something weird is going on with webkit2gtk?

tobeqz commented 8 months ago

I compiled the release version with debug assertions enabled. I can reproduce this bug by opening the app and immediately clicking one of my profiles. It seems like an error is being thrown somewhere in popper.js internals which causes this to happen. image image

I tried to set a breakpoint on uncaught exceptions to figure out what exactly is being passed into Reflect.get (my guess is undefined), but this bug is actual nightmare fuel and I cannot reproduce it while DevTools are open.

Curiously, the AppImage bundle generated by the same compilation command seems to work perfectly fine.

Reloading the page does work as a workaround, but unfortunately, AFAIK there is no way to reload the page in the release builds available in the AUR. I think it would be nice to give users the option to reload for situations like this and if it's wanted I can add a hotkey like Ctrl+R or F5.

triphora commented 7 months ago

Duplicate of #829