Review of "Now Playing Card" version 1.0.11 (14)

Details Page Preview

Beautiful music controls for the top bar: a minimal animated indicator and a compact card with cover art, a seek bar and playback controls, for any MPRIS player.

Extension Homepage
https://github.com/epogonii/nowplaying-card

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 2

Shexli found 3 issues that may need reviewer attention.

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:1301
            this._frameId = this._timeline.connect('new-frame',
                () => this._onFrame())
  • extension.js:2148
            loader.connect('size-prepared', (_loader, w, h) => {
                width = w;
                height = h;
            })

EGO-L-004 warning

main loop sources should be removed in disable()

Main loop sources assigned in `enable()` are missing matching removals in `disable()` or its helper methods.

Remove main loop sources

  • extension.js:522
            this._timerId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, this._frameMs,
                () => this._onFrame())
  • extension.js:2089
            this._artRetryId = GLib.timeout_add(GLib.PRIORITY_DEFAULT,
                ART_RETRY_INTERVAL, () => {
                    this._artRetryTries++;
                    const artwork = this._artworkIcon(coverUrl);
    
                    // A picture that arrived is worth showing even before it can
                  
  • extension.js:2408
            this._pollId = GLib.timeout_add(GLib.PRIORITY_LOW, delayMs, () => {
                this._pollId = null;
                this._fetchPosition();
                this._updatePoll();
                return GLib.SOURCE_REMOVE;
            })
  • extension.js:2342
            this._seekPendingId = GLib.timeout_add(GLib.PRIORITY_DEFAULT,
                SEEK_COALESCE_MS, () => {
                    this._seekPendingId = null;
                    this._seekToSlider();
                    return GLib.SOURCE_REMOVE;
                })
  • extension.js:1967
            this._volumePendingId = GLib.timeout_add(GLib.PRIORITY_DEFAULT,
                VOLUME_COALESCE_MS, () => {
                    this._volumePendingId = null;
                    this._pushVolume();
                    return GLib.SOURCE_REMOVE;
                })
  • extension.js:2899
            this._retryId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, PROPERTY_RETRY_MS,
                () => {
                    this._retryId = null;
                    missing.forEach(([proxy, iface]) => this._fetchProperties(proxy, iface));
                    return GLib.SOURCE_REMOVE;
                })

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

All Versions

Version Status
1.0.11 (14) Active
1.0.10 (13) Active
1.0.9 (12) Active
1.0.8 (11) Active
1.0.7 (10) Rejected
1.0.6 (9) Active
1.0.5 (8) Rejected
1.0.4 (7) Rejected
1.0.3 (6) Active
1.0.3 (5) Rejected
1.0.3 (4) Rejected
1.0.2 (3) Rejected
1.0.1 (2) Rejected
1.0 (1) Rejected

Previous Reviews on this Version

JustPerfection active