Review of "Dropbeat" version 51.0.0 (4)

Details Page Preview

A flashy extension to view your music/media. REQUIRES: ImageMagick FEATURES: - Control your media player from the top bar - View album art, track title, and artist name - Play, pause, and skip tracks - Works with any MPRIS player such as Firefox, Spotify, VLC, etc. Screenshot uses art from Magnific.

Extension Homepage
https://github.com/romanlefler/dropbeat

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 1 warning 5

Shexli found 6 issues that may need reviewer attention.

EGO-A-004 warning

extension files should not contain excessive ungated console logging

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

No excessive logging

  • wndbus.js:43
    console.error(msg)
  • wndbus.js:55
    console.error(e)
  • wndbus.js:107
    console.error(e)
  • wndbus.js:115
    console.error(e)
  • wndbus.js:141
    console.error(`DropbeatWnd stdin write failed: ${e}`)
  • wndbus.js:146
    console.error(e)
  • wndbus.js:45
    console.warn(msg)
  • wndbus.js:40
    console.log(msg)
  • wndbus.js:49
    console.log(`DropbeatWnd stdout: ${txt.trimEnd()}`)

EGO-P-007 warning

JavaScript files should be reachable from extension.js or prefs.js

Some JavaScript files are not reachable from `extension.js` or `prefs.js` imports.

Don't include unnecessary files

  • wnd/design.js
  • wnd/main.js
  • wnd/update.js
  • wnd/utils.js

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

  • extension.js:148
            this.#panelIcon = new St.Icon({
                icon_name: "folder-music-symbolic",
                style_class: "system-status-icon"
            })
  • prereqs.js:91
    this.#okay = okay

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

  • extension.js:47
    this.#gsettings = this.getSettings()
  • extension.js:179
    this.#indicator = indic
  • extension.js:148
            this.#panelIcon = new St.Icon({
                icon_name: "folder-music-symbolic",
                style_class: "system-status-icon"
            })
  • prereqs.js:91
    this.#okay = okay

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:159
                indic.menu.connect("open-state-changed", (_menu, isOpen) => {
                    const name = this.#currentPlayer;
                    if (isOpen && name)
                        this.#mediaChanged(name);
                })

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=['46', '47', '48', '49', '50', '51']

All Versions

Version Status
51.0.0 (4) Active
50.0.1 (3) Active
50.0.0 (2) Rejected
49.0.0 (1) Active

Previous Reviews on this Version

JustPerfection active