Review of "System Monitor" version 1

Details Page Preview

Real-time system resource monitoring in the top bar — CPU, RAM, temperature, disk usage & I/O, network I/O, GPU, and power/energy tracking

Extension Homepage
https://github.com/JTourteau/gnome-system-monitor

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 6

Shexli found 6 issues that may need reviewer attention.

EGO025 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

EGO015 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:627
            menu.connect('open-state-changed', (_menu, isOpen) => {
                if (isOpen) {
                    const monitor = Main.layoutManager.primaryMonitor;
                    const panelHeight = Main.panel.height;
                    const maxHeight = monitor.height - panelHeight - 20;
                    thi

EGO014 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:615
            this._scrollView = new St.ScrollView({
                hscrollbar_policy: St.PolicyType.NEVER,
                vscrollbar_policy: St.PolicyType.EXTERNAL,
                enable_mouse_scrolling: true,
                x_expand: true,
                clip_to_allocation: true,
            })

EGO014 warning

objects created by extension should be destroyed in disable()

Object collections created in `enable()` are missing matching destroy loops in `disable()` or its helper methods.

Destroy all objects

  • extension.js:660
    item
  • extension.js:700
    item
  • extension.js:749
    gpuNameItem
  • extension.js:719
    item
  • extension.js:738
    item
  • extension.js:773
    raplItem
  • extension.js:677
    item

EGO027 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:615
            this._scrollView = new St.ScrollView({
                hscrollbar_policy: St.PolicyType.NEVER,
                vscrollbar_policy: St.PolicyType.EXTERNAL,
                enable_mouse_scrolling: true,
                x_expand: true,
                clip_to_allocation: true,
            })

EGO030 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

  • extension.js:15
    GLib.file_get_contents('/proc/stat')
  • extension.js:42
    GLib.file_get_contents('/proc/meminfo')
  • extension.js:80
    GLib.file_get_contents('/proc/mounts')
  • extension.js:130
    GLib.file_get_contents('/proc/diskstats')
  • extension.js:189
    GLib.file_get_contents('/proc/net/dev')
  • extension.js:241
    GLib.file_get_contents(namePath)
  • extension.js:247
    GLib.file_get_contents(tempPath)
  • extension.js:263
    GLib.file_get_contents(path)
  • extension.js:383
    GLib.file_get_contents(`${hwmonPath}/name`)
  • extension.js:437
    GLib.file_get_contents(`${base}/status`)
  • extension.js:461
    GLib.file_get_contents(path)

All Versions

Version Status
3 Unreviewed
2 Rejected
1 Rejected

Previous Reviews on this Version

JTourteau auto- rejected
Auto-rejected because of new version 2 was uploaded