Crash when vertical tabs are enabled
Description
The Web App doesn't launch or would crash when Vertical Tabs feature is on.
It would crash on Firefox, and it wouldn't launch on LibreWolf both with or without extension.
Launching via terminal
on Firefox:
~ ➜ /usr/bin/firefoxpwa site launch 01JDEW0W9TXZB5XH26RTT75YSV --protocol
11:11:26 [INFO] Patching the runtime
11:11:26 [INFO] Runtime patched!
11:11:26 [INFO] Patching the profile
11:11:26 [INFO] Profile patched!
11:11:26 [INFO] Launching the web app
~ ➜ Gtk-Message: 19:11:27.414: Failed to load module "appmenu-gtk-module"
ExceptionHandler::GenerateDump attempting to generate:/home/ralph/.local/share/firefoxpwa/profiles/01JDEW0W6C8JKF2QMCXJP45E59/minidumps/52f2deb3-518f-22c4-384b-a529e26c3b3d.dmp
ExceptionHandler::GenerateDump cloned child 17360
ExceptionHandler::WaitForContinueSignal waiting for continue signal...
ExceptionHandler::SendContinueSignalToChild sent continue signal to child
ExceptionHandler::GenerateDump minidump generation succeeded
Exiting due to channel error.
Gtk-Message: 19:11:28.970: Failed to load module "appmenu-gtk-module"
on LibreWolf
~ ➜ /usr/bin/firefoxpwa site launch 01JDEW0W9TXZB5XH26RTT75YSV --protocol
11:13:37 [INFO] Patching the runtime
11:13:37 [INFO] Runtime patched!
11:13:37 [INFO] Patching the profile
11:13:37 [INFO] Profile patched!
11:13:37 [INFO] Launching the web app
~ ➜ JavaScript warning: resource://services-settings/Utils.sys.mjs, line 57: unreachable code after return statement
Gtk-Message: 19:13:38.867: Failed to load module "appmenu-gtk-module"
console.warn: "Connection attempt to RS collection \"blocklists/addons-bloomfilters\" was blocked/filtered."
console.warn: "Connection attempt to RS collection \"blocklists/addons-bloomfilters\" was blocked/filtered."
JavaScript error: resource:///modules/CustomizableUI.sys.mjs, line 3223: TypeError: gFuturePlacements.get(...) is undefined
JavaScript error: resource:///modules/UrlbarInput.sys.mjs, line 309: TypeError: this.editor is null
JavaScript error: chrome://global/content/vendor/lit.all.mjs, line 710: TypeError: hasChanged is not a function
JavaScript error: chrome://global/content/elements/moz-button.mjs, line 98: TypeError: undefined is not a function
JavaScript error: chrome://global/content/elements/moz-button.mjs, line 98: TypeError: undefined is not a function
JavaScript error: chrome://global/content/elements/moz-button.mjs, line 98: TypeError: undefined is not a function
JavaScript error: chrome://global/content/elements/moz-button-group.mjs, line 97: TypeError: undefined is not a function
JavaScript error: chrome://global/content/elements/moz-button-group.mjs, line 97: TypeError: undefined is not a function
Exiting due to channel error.
Exiting due to channel error.
Steps to Reproduce
- Right-click on the toolbar (on the PWA)
- Select
Turn on vertical tabs - Restart the web app
Additional Information
Affected Websites
- ...
- ...
Environment
- Operating system: Fedora 41
- System architecture: x86_64
- Desktop environment: KDE Plasma 6.3.3
- Installation method: DEB
- PWAsForFirefox extension version: 2.14.1
- PWAsForFirefox native version: 2.14.1
- PWAsForFirefox runtime version: 136.0.1 (Tried both Firefox and LibreWolf)
- Firefox version: 136.0.1
~This is especially annoying since I was using this to get rid of the top bar - I guess I'll have to find another way~
~do you know of anything that will do?~
~~
edit: nvm adressed by https://github.com/filips123/PWAsForFirefox/issues/511#issuecomment-2158975732 I think
Unfortunately, this is harder to fix than I thought.
The main problem is that vertical tabs move all widgets and window controls from the tab bar (TabsToolbar) to the navigation bar (nav-bar), and then hide the tab bar, while PWAsForFirefox modifies the layout in a way that all widgets are in the tab bar (but tabs themselves are normally hidden), and the navigation bar is hidden (while not out-of-scope). Firefox crashes as some widgets are then invisible, but even without that crash, in the current state, vertical tabs would still be quite unusable, as all widgets and window controls placed in the navigation bar would be hidden.
A proper solution would need to handle hiding (or more likely, showing) the navigation bar when vertical tabs are enabled, or prevent moving widgets from the old tab bar and prevent hiding it. However, I'm not sure yet how to implement this.
I'll try to properly fix this in the future, but for now (starting with the next release), I will make sure vertical tabs are always disabled, so at least users can't accidentally trigger the crash.