Review of "TopHat" version 24

Details Page Preview

View CPU, memory, disk, and network activity in the GNOME top bar.

Extension Homepage
https://github.com/fflewddur/tophat

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 8

Shexli found 8 issues that may need reviewer attention.

EGO-A-004 warning

extension files should not contain excessive ungated console logging

File contains 6 ungated console.log/warn/error calls (threshold: 5).

No excessive logging

  • extension.js:145
    console.warn('[TopHat] error in addToPanel(): gsettings does not exist')
  • extension.js:191
    console.warn('[TopHat] Unknown value for position-in-panel')
  • extension.js:75
    console.error(`[TopHat] Found coretemp but no sensor labels`)
  • extension.js:98
    console.error(`[TopHat] Found coretemp but no sensor inputs`)
  • extension.js:110
    console.error(`[TopHat] Found k10temp but no sensor inputs`)
  • extension.js:123
    console.error(`[TopHat] Found zenpower but no sensor inputs`)
  • meter.js:117
    console.warn(`[TopHat] called setBarSizes() with ${n.length} values for ${this.bars.length} bars`)
  • meter.js:123
    console.warn(`setBarSizes(): n[${i}] is NaN`)
  • meter.js:127
    console.warn(`setBarSizes(): n[${i}] < 0: ${n[i]}`)
  • meter.js:131
    console.warn(`setBarSizes(): n[${i}] > 1: ${n[i]}`)
  • meter.js:136
    console.warn(`setBarSizes(): height is NaN`)
  • meter.js:170
    console.warn(`Error parsing ${c} to Cogl.Color`)

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

  • file.js:76
    this.file.load_contents(null)

EGO-A-004 warning

extension files should not contain excessive ungated console logging

File contains 10 ungated console.log/warn/error calls (threshold: 5).

No excessive logging

  • history.js:141
    console.warn(`update(): usage[${usage.length - i - 1}] < 0: ${u}`)
  • history.js:144
    console.warn(`update(): usage[${usage.length - i - 1} > 1: ${u}]`)
  • history.js:148
    console.warn(`update(): height is NaN`)
  • history.js:160
    console.warn('[TopHat] chartAlt is null')
  • history.js:167
    console.warn(`updateAlt(): usage[${usage.length - i - 1}] < 0: ${u}`)
  • history.js:171
    console.warn(`updateAlt(): usage[${usage.length - i - 1} > 1: ${u}]`)
  • history.js:175
    console.warn(`updateAlt(): usageAlt[${usage.length - i - 1}] < 0: ${uAlt}`)
  • history.js:179
    console.warn(`updateAlt(): usageAlt[${usage.length - i - 1} > 1: ${uAlt}]`)
  • history.js:189
    console.warn(`update(): height is NaN`)
  • history.js:192
    console.warn(`update(): heightAlt is NaN`)

EGO-X-006 warning

extensions should not use lookupByURL or lookupByUUID for current extension access

Use `this`, `this.getSettings()` or `this.path` instead of `lookupByURL()` or `lookupByUUID()` for the current extension.

`extensionUtils`

  • monitor.js:212
    Extension.lookupByUUID('tophat@fflewddur.github.io')

EGO-A-004 warning

extension files should not contain excessive ungated console logging

File contains 19 ungated console.log/warn/error calls (threshold: 5).

No excessive logging

  • vitals.js:320
    console.warn(`[TopHat] error in loadUptime(): ${e}`)
  • vitals.js:359
    console.warn(`[TopHat] error in loadStat(): ${e}`)
  • vitals.js:384
    console.warn(`[TopHat] error in loadStatDetails(): ${e}`)
  • vitals.js:423
    console.warn(`[TopHat] error in loadMeminfo(): ${e}`)
  • vitals.js:461
    console.warn(`[TopHat] error in loadNetDev(): ${e}`)
  • vitals.js:508
    console.warn(`[TopHat] error in loadDiskStats(): ${e}`)
  • vitals.js:528
    console.warn(`[TopHat] error in loadTemp(): ${e}`)
  • vitals.js:551
    console.warn(`[TopHat] error in loadFreqs(): ${e}`)
  • vitals.js:1457
    console.warn('recvActivity times are reversed!')
  • vitals.js:1461
    console.warn(`negative value for network activity: bytesRecv=${this.bytesRecv}, bytesRecvPrev=${this.bytesRecvPrev}`)

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

  • disk.js:29
            this.mount = new St.Label({
                text: mount,
                style_class: 'tophat-menu-label',
            })
  • disk.js:38
            this.size = new St.Label({
                style_class: 'tophat-menu-details align-right tophat-menu-section-end',
            })
  • disk.js:33
            this.usage = new St.Label({
                style_class: 'tophat-menu-value',
                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

  • disk.js:29
            this.mount = new St.Label({
                text: mount,
                style_class: 'tophat-menu-label',
            })
  • disk.js:38
            this.size = new St.Label({
                style_class: 'tophat-menu-details align-right tophat-menu-section-end',
            })
  • disk.js:33
            this.usage = new St.Label({
                style_class: 'tophat-menu-value',
                x_expand: true,
            })
  • extension.js:26
    this.gsettings = this.getSettings()

All Versions

Version Status
24 Active
23 Active
22 Active
21 Active
20 Active
19 Active
18 Active
17 Active
16 Rejected
15 Active
14 Active
13 Active
12 Rejected
11 Active
10 Active
9 Active
8 Active
7 Active
6 Active
5 Active
4 Active
3 Active
2 Active
1 Rejected

Previous Reviews on this Version

fmuellner active