Review of "Freon" version 62

Details Page Preview

Shows CPU temperature, disk temperature, video card temperature (NVIDIA/Catalyst/Bumblebee&NVIDIA), voltage and fan RPM (forked from xtranophilist/gnome-shell-extension-sensors)

Extension Homepage
https://github.com/UshakovVasilii/gnome-shell-extension-freon

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) error 2 warning 5

Shexli found 7 issues that may need reviewer attention.

EGO-X-002 warning

extensions should not use synchronous subprocess APIs in shell code

Shell code should avoid synchronous subprocess APIs like `GLib.spawn_command_line_sync()` and `GLib.spawn_sync()`.

Complete Examples

  • batteryUtil.js:79
    GLib.spawn_command_line_sync(cmd)
  • batteryUtil.js:100
    GLib.spawn_command_line_sync(cmd)
  • bumblebeeNvidiaUtil.js:48
    GLib.spawn_command_line_sync(this._path + " nvidia-smi -L")
  • hddtempUtil.js:6
    GLib.spawn_command_line_sync(argv)
  • hddtempUtil.js:16
    GLib.spawn_command_line_sync(hddtempArgv)
  • nvmecliUtil.js:5
    GLib.spawn_command_line_sync(`${nvme} ${argv} -o json`)
  • pkexecUtil.js:38
    GLib.spawn_command_line_sync(this._pkexec + ' ' + command)
  • smartctlUtil.js:5
    GLib.spawn_command_line_sync(`'${smartctl}' ${argv} -j`)

EGO-X-004 warning

extensions should avoid synchronous file IO in shell code

Shell code should avoid synchronous file IO APIs like `GLib.file_get_contents()` and `Gio.File.load_contents()`.

File Operations

  • bumblebeeNvidiaUtil.js:22
    configFile.load_contents(null)
  • hddtempUtil.js:48
    GLib.file_get_contents('/proc/'+pid+'/cmdline')

EGO-P-006 warning

unnecessary build and translation artifacts should not be shipped

Compiled GSettings schemas should not be shipped for 45+ packages.

Don't include unnecessary files

  • schemas/gschemas.compiled
    schemas/gschemas.compiled

EGO-P-004 error

GSettings schema XML filename must match schema id

GSettings schema filename must match `<schema-id>.gschema.xml`.

GSettings Schemas

  • schemas/org.gnome.shell.extensions.sensors.gschema.xml
    id='org.gnome.shell.extensions.freon' path='/org/gnome/shell/extensions/freon/'

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:69
            this._settings.connect('changed::debug', () => {
                this.debug = this._settings.get_boolean('debug') ? _debugFunc : () => {};
            })

EGO-M-004 error

metadata shell-version must only include plausible stable releases and at most one development release

Field `shell-version` contains invalid values, more than one development release, or implausible future releases.

metadata.json must be well-formed

  • metadata.json
    shell-version=['45', '46', '47', '48', '49', '50', '51']

EGO-L-006 warning

preferences classes should not retain window-scoped objects on instance fields without close-request cleanup

Preferences code stores window-scoped objects on the exported prefs class without `close-request` cleanup.

Destroy all objects

  • prefs.js:19
    this._settings = this.getSettings()

All Versions

Previous Reviews on this Version

JustPerfection active