Review of "AirGradient Monitor" version 1.1.1 (4)

Details Page Preview

Display AirGradient local-server readings in the GNOME Shell panel.

Extension Homepage
https://github.com/worxbend/airgradient-gnome-extension

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-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

  • desktopConfigStore.js:42
    GLib.file_get_contents(path)

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

  • airgradientPopup.js:273
            this._nameLabel = new St.Label({
                style_class: "airgradient-metric-name",
                x_expand: true,
                x_align: Clutter.ActorAlign.START,
                y_align: Clutter.ActorAlign.CENTER,
            })
  • airgradientPopup.js:289
            this._trendLabel = new St.Label({
                style_class: "airgradient-popup-subtitle",
                x_align: Clutter.ActorAlign.START,
            })
  • airgradientPopup.js:285
            this._unitLabel = new St.Label({
                style_class: "airgradient-metric-unit",
                y_align: Clutter.ActorAlign.CENTER,
            })
  • airgradientPopup.js:279
            this._valueLabel = new St.Label({
                style_class: "airgradient-metric-value",
                x_expand: true,
                x_align: Clutter.ActorAlign.END,
                y_align: Clutter.ActorAlign.CENTER,
            })
  • airgradientPopup.js:259
            this.actor = new St.BoxLayout({
                orientation: Clutter.Orientation.VERTICAL,
                style_class: "airgradient-metric-card",
                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

  • airgradientPopup.js:273
            this._nameLabel = new St.Label({
                style_class: "airgradient-metric-name",
                x_expand: true,
                x_align: Clutter.ActorAlign.START,
                y_align: Clutter.ActorAlign.CENTER,
            })
  • airgradientPopup.js:289
            this._trendLabel = new St.Label({
                style_class: "airgradient-popup-subtitle",
                x_align: Clutter.ActorAlign.START,
            })
  • airgradientPopup.js:285
            this._unitLabel = new St.Label({
                style_class: "airgradient-metric-unit",
                y_align: Clutter.ActorAlign.CENTER,
            })
  • airgradientPopup.js:279
            this._valueLabel = new St.Label({
                style_class: "airgradient-metric-value",
                x_expand: true,
                x_align: Clutter.ActorAlign.END,
                y_align: Clutter.ActorAlign.CENTER,
            })
  • airgradientPopup.js:259
            this.actor = new St.BoxLayout({
                orientation: Clutter.Orientation.VERTICAL,
                style_class: "airgradient-metric-card",
                x_expand: true,
            })

All Versions

Version Status
1.1.1 (6) Unreviewed
1.1.1 (5) Rejected
1.1.1 (4) Rejected
1.1.1 (3) Rejected
1.1.1 (2) Rejected
1.1.1 (1) Rejected

Previous Reviews on this Version

Oleksandr B. auto- rejected
Auto-rejected because of new version 1.1.1 (5) was uploaded