Review of "GPU Supergfxctl Switch" version 14

Details Page Preview

Simple GPU Profile switcher Gnome-Shell-Extension for ASUS laptops using Supergfxctl

Extension Homepage
https://github.com/chikobara/GPU-Switcher-Supergfxctl

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 3

Shexli found 3 issues that may need reviewer attention.

EGO-A-004 warning

extension files should not contain excessive ungated console logging

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

No excessive logging

  • extension.js:118
    console.log(`NotifyGfx signal received, new mode index: ${newMode}`)
  • extension.js:188
    console.log(`Command failed, retrying in ${RETRY_DELAY}ms...`)
  • extension.js:234
    console.log(`Activating profile: ${profile}`)
  • extension.js:245
    console.log(`Profile ${profile} is already active. Skipping activation.`)
  • extension.js:266
    console.log(`Profile ${profile} activated successfully`)
  • extension.js:288
    console.log(`Setting active profile: ${profile}`)
  • extension.js:302
    console.log(`Synchronizing profile: ${this._activeProfile}`)
  • extension.js:390
    console.log(`Updated icon: ${this._indicator.icon_name}, Visible: ${this._indicator.visible}`)
  • extension.js:375
    console.warn("Unable to insert indicator at specific index")
  • extension.js:133
              console.error(
                "Failed to fetch supported profiles after multiple attempts"
              )

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:77
    this._profileSection = new PopupMenu.PopupMenuSection()
  • extension.js:81
          this._showPanelIconItem = new PopupMenu.PopupSwitchMenuItem(
            "Show Panel Icon",
            this._settings.get_boolean(SHOW_PANEL_ICON_KEY)
          )

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:77
    this._profileSection = new PopupMenu.PopupMenuSection()
  • extension.js:81
          this._showPanelIconItem = new PopupMenu.PopupSwitchMenuItem(
            "Show Panel Icon",
            this._settings.get_boolean(SHOW_PANEL_ICON_KEY)
          )

All Versions

Version Status
15 Active
14 Rejected
13 Active
12 Active
11 Active
10 Active
9 Active
8 Active
7 Rejected
6 Rejected
5 Inactive
4 Inactive
3 Inactive
2 Rejected
1 Rejected

Previous Reviews on this Version

chikobara auto- rejected
Auto-rejected because of new version 15 was uploaded