Review of "RyzenAdj Switcher" version 1.0 (1)

Details Page Preview

Monitor and control AMD Ryzen CPU power limits via RyzenAdj. Shows the active profile and live package power in the top bar. Switch between fully configurable power profiles and performance modes from the dropdown menu. Requires the RyzenAdj command-line tool.

Extension Homepage
https://github.com/cvcore/ryzenadj-switcher

No comments.

FAQ

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-X-001 warning

privileged subprocesses should use pkexec and target non-user-writable files

Privileged subprocess patterns must use `pkexec`, not `sudo`, `su`, `doas`, or similar wrappers.

Privileged Subprocess must not be user-writable

  • ryzenadj.js:71
    execCommand(['sudo', '-n', binaryPath, '--info'])
  • ryzenadj.js:226
    execCommand(['sudo', '-n', binary, '--info'],
                    {cancellable: this._cancellable})
  • ryzenadj.js:253
    execCommand(['sudo', '-n', binary, ...args],
                {cancellable: this._cancellable})

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

  • indicator.js:111
    this._name = new St.Label({text: title, y_align: Clutter.ActorAlign.CENTER})
  • indicator.js:113
            this._value = new St.Label({
                style_class: 'ryzenadj-stat-value',
                x_expand: true,
                x_align: Clutter.ActorAlign.END,
                y_align: Clutter.ActorAlign.CENTER,
            })
  • indicator.js:110
    this.actor = new St.BoxLayout({style_class: 'ryzenadj-stat-row', x_expand: true})

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

  • indicator.js:111
    this._name = new St.Label({text: title, y_align: Clutter.ActorAlign.CENTER})
  • indicator.js:113
            this._value = new St.Label({
                style_class: 'ryzenadj-stat-value',
                x_expand: true,
                x_align: Clutter.ActorAlign.END,
                y_align: Clutter.ActorAlign.CENTER,
            })
  • indicator.js:110
    this.actor = new St.BoxLayout({style_class: 'ryzenadj-stat-row', x_expand: true})

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

  • indicator.js:46
    item.connect('destroy', () => this.destroy())
  • indicator.js:40
            item.connect('notify::hover', () => {
                if (item.hover)
                    this._schedule();
                else
                    this.hide();
            })

All Versions

Version Status
1.0 (1) Unreviewed