Review of "Toggle Headphone" version 19

Details Page Preview

Toggles between 2 pre-defined audio sources, labeled as 'headphone' and 'speaker'.

Extension Homepage
https://github.com/Blackstareye/toggleAudio-blackeyeprojects.de

No comments.

Diff Against

Files

Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.

Shexli (experimental) warning 4

Shexli found 4 issues that may need reviewer attention.

EGO-A-004 warning

extension files should not contain excessive ungated console logging

File contains 9 ungated console.log/warn/error calls (threshold: 5).

No excessive logging

  • lib/MixerControlFacade.js:118
    console.warn(`Tried to reconnect but session is not closed!`)
  • lib/MixerControlFacade.js:49
    console.log(`Initializing MixerControlFacade`)
  • lib/MixerControlFacade.js:116
    console.log(`Reopened Mixer..`)
  • lib/MixerControlFacade.js:144
    console.log("Change detected!: key is now " + isHeadphoneOn)
  • lib/MixerControlFacade.js:151
    console.log("H Runtime id: " + headphone_id)
  • lib/MixerControlFacade.js:179
    console.log("CONNECTED; SETTING DEFAULT AUDIO OUTPUT")
  • lib/MixerControlFacade.js:258
    console.log(`Destroying Mixer Control Facade`)
  • lib/MixerControlFacade.js:185
    console.error(`Could not change Audio Output Device. Runtime id is not valid`)
  • lib/MixerControlFacade.js:186
    console.error(`${this._outputAudioDeviceMap.printSchema()} and id: ${runtime_id}`)

EGO-L-002 warning

objects created by extension should be destroyed in disable()

Objects assigned in `enable()` are missing matching `.destroy()` calls in `disable()` or its helper methods.

Destroy all objects

  • extension.js:50
    this._itemsSection = new PopupMenu.PopupMenuSection()

EGO-L-005 warning

owned object references should be released in disable()

Owned references that are cleaned up in `disable()` should also be released with `null` or `undefined`.

Destroy all objects

  • extension.js:50
    this._itemsSection = new PopupMenu.PopupMenuSection()

EGO-L-003 warning

signals connected by extension should be disconnected in disable()

Signals assigned in `enable()` are missing matching disconnect calls in `disable()` or its helper methods.

Disconnect all signals

  • extension.js:197
            settings.connect("changed::enable-select-headphone-key", (_,k) => {
                let v = settings.get_boolean(k);
                if(v) {
                    keybinder.bindHeadphoneKey(() => this._toggleState(toggle,true));
                } else {
                    keybinder.unbindHeadphoneKey();
            
  • extension.js:189
            settings.connect("changed::enable-select-speaker-key", (_,k) => {
                let v = settings.get_boolean(k);
                if(v) {
                    keybinder.bindSpeakerKey(() => this._toggleState(toggle,false));
                } else {
                    keybinder.unbindSpeakerKey();
                }
  • extension.js:181
            settings.connect("changed::enable-toggle-headphone-key", (_,k) => {
                let v = settings.get_boolean(k);
                if(v) {
                    keybinder.bindToggleKey(() => this._toggleState(toggle,null));
                } else {
                    keybinder.unbindToggleKey();
                }
    
  • extension.js:206
            settings.connect("changed::enable-toggle-remote-headphone-key", (_,k) => {
                let v = settings.get_boolean(k);
                if(v) {
                    keybinder.bindToggleRemoteHeadphoneKey(() => this._toggleRemoteHeadphone(settings));
                } else {
                    keybinder.unbi
  • extension.js:142
            settings.connect("changed::headphone-on", (_,k) => {
                let provider = new SettingProvider(settings);
                let v = settings.get_boolean(k);
                let use_monochrome = provider.getUseMonochromeIconOnSystemtray();
                if(v) {
                    // toggle to headphone
  • extension.js:165
            settings.connect("changed::show-indicator", (_,k) => {
                let v = settings.get_boolean(k);
                this._indicator.visible = v;
            })
  • extension.js:154
            settings.connect("changed::use-remote-headphone-flag", (_,k) => {
                let provider = new SettingProvider(settings);
                let use_monochrome = provider.getUseMonochromeIconOnSystemtray();
                let headphoneStatus = provider.getHeadPhoneOnStatus();
                if(headphon

All Versions

Version Status
20 Active
19 Rejected
18 Active
17 Active
16 Active
15 Active
14 Active
13 Active
12 Active
11 Active
10 Active
9 Active
8 Active
7 Active
6 Active
5 Active
4 Active
3 Active
2 Active
1 Rejected

Previous Reviews on this Version

Blackeye auto- rejected
Auto-rejected because of new version 20 was uploaded