aleho / gnome-shell-volume-mixer

GNOME Shell Extension allowing separate configuration of PulseAudio devices
https://extensions.gnome.org/extension/858/volume-mixer/
GNU General Public License v2.0
135 stars 32 forks source link

unable to work on gnome 3.32 #98

Closed Sidethorn closed 5 years ago

Sidethorn commented 5 years ago

hello as I said it's not working on gnome 3.32, bug tracking says: Automatically detected errors:

TypeError: this._onIconChanged is undefined Thank you for this awesome extension.

Wuestengecko commented 5 years ago

Works fine for me on Arch, Gnome 3.32 + Volume Mixer v0.16.1. How did you install? Try downloading the latest .zip from the releases tab and installing it as outlined in the README.

Sidethorn commented 5 years ago

no way to work, manjaro user here (so it's basically arch)

aleho commented 5 years ago

The code in GNOME extensions equals the master branch, so that shouldn't be the issue.

Sorry, I really don't understand where this error comes from, and I cannot reproduce it.

flittermice commented 5 years ago

I can confirm this is not working on Gnome Shell 3.32 in (pure) Arch. The preferences dialog is working, though. But I have a second computer running Arch Linux where it didn't work but is working all of a sudden there. Surely some package is missing on the first PC.

Volume Mixer

aleho commented 5 years ago

@flittermice Your journal looks about the same? What does journalctl -f /usr/bin/gnome-shell say when you reload Gnome?

flittermice commented 5 years ago

Hi @aleho !

I think these are the relevant two lines in the journal:

Apr 22 20:41:16 darkthrone gnome-shell[26643]: JS WARNING: [/home/flitter/.local/share/gnome-shell/extensions/shell-volume-mixer@derhofbauer.at/lib/widget/panelButton.js 44]: reference to undefined property "_onIconChanged"
Apr 22 20:41:16 darkthrone gnome-shell[26643]: Extension "shell-volume-mixer@derhofbauer.at" had error: TypeError: this._onIconChanged is undefined
aleho commented 5 years ago

What does gjs --version report?

The location for that error is strange, there's nothing special happening there and the only way I can think of that this could break is a language version mismatch, i.e. GJS not supporting classes.

flittermice commented 5 years ago

gjs 1.56.1 - on both computers :-(

Sidethorn commented 5 years ago

both journal ctl and gjs are the same as mine apr 22 21:42:02 Toshino gnome-shell[1496]: JS WARNING: [/home/rick/.local/share/gnome-shell/extensions/shell-volume-mixer@derhofbauer.at/lib/widget/panelButton.js 44]: reference to undefined property "_onIconChanged" apr 22 21:42:02 Toshino gnome-shell[1496]: Extension "shell-volume-mixer@derhofbauer.at" had error: TypeError: this._onIconChanged is undefined

aleho commented 5 years ago

Version should be OK. As you can see, there's really nothing special happening at that line: https://github.com/aleho/gnome-shell-volume-mixer/blob/a3c3fbd6113a71507a6f17d4b754a09984c4cc61/shell-volume-mixer%40derhofbauer.at/lib/widget/panelButton.js#L44

If that doesn't work something smells fishy.

flittermice commented 5 years ago

Alex, thanks for your effort to investigate into this. Are you sure you pointed to the right line? Line 44 is this one in my case: this._mixerMenu.connect('icon-changed', this._onIconChanged.bind(this)); and line 49: this._onIconChanged();

When I comment out both occurrences then the extension works (YEAH! But clearly something is missing in the UI) - see screenshot! Alas, I have no idea of programming JavaScript to help myself.

Bildschirmfoto von 2019-04-23 18-07-33

aleho commented 5 years ago

Yes, right, I removed a few lines in master, so the line numbers differ, but the idea is the same: accessing a method of the class.

Just found the reason it wasn't working. Seems I didn't test the stand-alone button setting.

aleho commented 5 years ago

@flittermice Does latest master fix it for you?

flittermice commented 5 years ago

Yes, it does! It's working now at my place. Bravo and thanks very much!

(Seems like it has been a good idea to upload the screenshot. Normally I prefer the setting "Position" to "Status menu" but for whatever reason I had set it to "Right".)

Sidethorn commented 5 years ago

I too can confirm that it works again. thank you for your efforts.

aleho commented 5 years ago

Great! Going to clean it up a bit and then release to extensions.gnome later this week.