Rayzeq / quick-settings-audio-panel

An gnome shell extension to add a new panel to the Quick Settings for sound related stuff
https://extensions.gnome.org/extension/5940/quick-settings-audio-panel/
GNU General Public License v3.0
71 stars 6 forks source link

Enabling extension: Error (this._iconButton is undefined) #32

Closed cweiske closed 7 months ago

cweiske commented 7 months ago

I am running Gnome Shell 43.9 on Debian 12.4. When enabling the extension on https://extensions.gnome.org/extension/5940/quick-settings-audio-panel/ I get a red "ERROR" where the "enable" button was.

My journal shows:

gnome-shell[5892]:
JS ERROR: Extension quick-settings-audio-panel@rayzeq.github.io: TypeError: this._iconButton is undefined
@/home/cweiske/.local/share/gnome-shell/extensions/quick-settings-audio-panel@rayzeq.github.io/libs/widgets.js:126:9
_stream_added@/home/cweiske/.local/share/gnome-shell/extensions/quick-settings-audio-panel@rayzeq.github.io/libs/widgets.js:50:24
ApplicationsMixer@/home/cweiske/.local/share/gnome-shell/extensions/quick-settings-audio-panel@rayzeq.github.io/libs/widgets.js:29:18
_create_app_mixer@/home/cweiske/.local/share/gnome-shell/extensions/quick-settings-audio-panel@rayzeq.github.io/extension.js:194:36
_refresh_panel@/home/cweiske/.local/share/gnome-shell/extensions/quick-settings-audio-panel@rayzeq.github.io/extension.js:125:26
enable@/home/cweiske/.local/share/gnome-shell/extensions/quick-settings-audio-panel@rayzeq.github.io/extension.js:66:14
_callExtensionEnable@resource:///org/gnome/shell/ui/extensionSystem.js:184:32
_onEnabledExtensionsChanged/<@resource:///org/gnome/shell/ui/extensionSystem.js:529:35
_onEnabledExtensionsChanged@resource:///org/gnome/shell/ui/extensionSystem.js:529:14
createCheckedMethod/<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:686:46
enableExtension@resource:///org/gnome/shell/ui/extensionSystem.js:211:29
_onInstallButtonPressed@resource:///org/gnome/shell/ui/extensionDownloader.js:268:40
Async*addButton/<@resource:///org/gnome/shell/ui/dialog.js:130:41
Rayzeq commented 7 months ago

Are you using any other extension beside QSAP, and if yes, which one ? It's probably a compatibility issue with an extension that replaces the output / input volume sliders with its own version.

cweiske commented 7 months ago

I use:

Simply disabling all the other extensions and trying to reinstall QSAP does not work. Maybe I have to log off and in again.

cweiske commented 7 months ago

The log has some more lines now (maybe they were there before, but I didn't see them as relevant):

gnome-shell[666575]: Archive:  /tmp/RBBLI2.shell-extension.zip
[LibPanel] quick-settings-audio-panel@rayzeq.github.io tried to remove an item not in the panel
[LibPanel] quick-settings-audio-panel@rayzeq.github.io tried to remove an item not in the panel
clutter_actor_remove_child: assertion 'child->priv->parent == self' failed
clutter_actor_add_child: assertion 'child->priv->parent == NULL' failed
[LibPanel] quick-settings-audio-panel@rayzeq.github.io tried to set the column span of an item not in the panel
clutter_actor_set_child_at_index: assertion 'child->priv->parent == self' failed
JS ERROR: Extension quick-settings-audio-panel@rayzeq.github.io: TypeError: this._iconButton is undefined
@/home/cweiske/.local/share/gnome-shell/extensions/quick-settings-audio-panel@rayzeq.github.io/libs/widgets.js:126:9
_stream_added@/home/cweiske/.local/share/gnome-shell/extensions/quick-settings-audio-panel@rayzeq.github.io/libs/widgets.js:50:24
ApplicationsMixer@/home/cweiske/.local/share/gnome-shell/extensions/quick-settings-audio-panel@rayzeq.github.io/libs/widgets.js:29:18
_create_app_mixer@/home/cweiske/.local/share/gnome-shell/extensions/quick-settings-audio-panel@rayzeq.github.io/extension.js:194:36
_refresh_panel@/home/cweiske/.local/share/gnome-shell/extensions/quick-settings-audio-panel@rayzeq.github.io/extension.js:125:26
enable@/home/cweiske/.local/share/gnome-shell/extensions/quick-settings-audio-panel@rayzeq.github.io/extension.js:66:14
_callExtensionEnable@resource:///org/gnome/shell/ui/extensionSystem.js:184:32
loadExtension@resource:///org/gnome/shell/ui/extensionSystem.js:385:26
_onInstallButtonPressed@resource:///org/gnome/shell/ui/extensionDownloader.js:267:35
Async*addButton/<@resource:///org/gnome/shell/ui/dialog.js:130:41
Rayzeq commented 7 months ago
[LibPanel] quick-settings-audio-panel@rayzeq.github.io tried to remove an item not in the panel
[LibPanel] quick-settings-audio-panel@rayzeq.github.io tried to remove an item not in the panel

This indicates that something went really wrong. Either another extension is moving around parts of the ui (maybe Window List or Applications Menu, but I don't think it's the case), or you broke something by disabling / re-enabling extensions.

Please try to log out and in again with only QSAP enabled. If the issue don't appear, please try to enable your extensions one by one to find which one is incompatible.

cweiske commented 7 months ago

Logging out and in again made the problem go away. All other extensions are still enabled. Sorry for the noise.

cweiske commented 7 months ago

The log entry is still there, even though the extension itself works.

It happens when an audio playing application is started, and the application mixer is not visible:

Jan 25 16:42:23 pixy systemd[5666]: Started app-gnome-org.gnome.Rhythmbox3-1250997.scope - Application launched by gnome-shell.
Jan 25 16:42:27 pixy gnome-shell[1240451]: JS ERROR: TypeError: this._iconButton is undefined
                                           @/home/cweiske/.local/share/gnome-shell/extensions/quick-settings-audio-panel@rayzeq.github.io/libs/widgets.js:126:9
                                           _stream_added@/home/cweiske/.local/share/gnome-shell/extensions/quick-settings-audio-panel@rayzeq.github.io/libs/widgets.js:50:24
Jan 25 16:42:27 pixy gnome-shell[1240451]: JS ERROR: TypeError: this._iconButton is undefined
                                           @/home/cweiske/.local/share/gnome-shell/extensions/quick-settings-audio-panel@rayzeq.github.io/libs/widgets.js:126:9
                                           _stream_added@/home/cweiske/.local/share/gnome-shell/extensions/quick-settings-audio-panel@rayzeq.github.io/libs/widgets.js:50:24
cweiske commented 7 months ago

There is no _iconButton in gnome shell 43.9:

Rayzeq commented 7 months ago

Well, it look like this issue was introduced in v19 and nobody noticed, probably because there is not many people still using gnome 43. It will be fixed in the next version, which should be released quickly.