Review of "Appsight" version 1.0 (1)

Details Page Preview

See every running app at a glance: one entry per app, however many processes it spawns. • Live CPU or memory use with a small graph in the top bar, turning orange when usage is high • Hover the icon to list your apps with CPU and memory, search by name or PID, and filter apps, services and commands • Click an app for live CPU, memory, cache, disk I/O, network traffic, disk space and open files • End a whole app (all its processes) in one click, with a confirmation and a force kill • Light and dark style, a keyboard shortcut, hidden apps, units (per-core CPU, KiB, Mbit/s) and many layout options • Light on old computers: almost nothing runs while the menu is closed, and it refreshes less often when the computer is slow Core parts of your desktop session (GNOME Shell, systemd, D-Bus) can't be ended by accident, and other users' processes are view-only.

Extension Homepage
https://github.com/Bhavyyadav25/Appsight

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

Shexli found 5 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

  • lib/fsutil.js:39
    GLib.file_get_contents(path)

EGO-A-001 manual_review

extension code must not be minified or obfuscated

File appears obfuscated: 59% of identifiers are 1–2 characters (avg length 3.0).

Code must not be obfuscated

  • lib/timers.js
    short identifier ratio: 59%, identifiers scored: 32

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

  • lib/detailView.js:108
    this._slot = new St.Widget({style_class: 'as-col-action', layout_manager: new Clutter.BinLayout()})
  • lib/detailView.js:101
    this.actor = new St.BoxLayout({style_class: 'as-proc-row', x_expand: true, reactive: true, track_hover: true, can_focus: 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

  • lib/detailView.js:108
    this._slot = new St.Widget({style_class: 'as-col-action', layout_manager: new Clutter.BinLayout()})
  • lib/detailView.js:101
    this.actor = new St.BoxLayout({style_class: 'as-proc-row', x_expand: true, reactive: true, track_hover: true, can_focus: 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

  • lib/detailView.js:112
    this.actor.connect('destroy', () => this._sharedAction.release(this))
  • lib/detailView.js:110
    this.actor.connect('key-focus-in', () => this._sync())
  • lib/detailView.js:111
    this.actor.connect('key-focus-out', () => this._sync())
  • lib/detailView.js:109
    this.actor.connect('notify::hover', () => this._sync())

All Versions

Version Status
1.0 (2) Unreviewed
1.0 (1) Rejected

Previous Reviews on this Version

goku25 auto- rejected
Auto-rejected because of new version 1.0 (2) was uploaded