Review of "Now Playing Card" version 1.0.5 (8)

Details Page Preview

Animated Now Playing indicator with a compact media card: cover art, a seekable progress bar and transport 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:437
                this._frameId = this._timeline.connect('new-frame',
                    () => this._onFrame())
  • extension.js:1110
            this._frameId = this._timeline.connect('new-frame',
                () => this._onFrame())
  • extension.js:1806
            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:1753
            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:2067
            this._pollId = GLib.timeout_add(GLib.PRIORITY_LOW, delayMs, () => {
                this._pollId = null;
                this._fetchPosition();
                this._updatePoll();
                return GLib.SOURCE_REMOVE;
            })
  • extension.js:2001
            this._seekPendingId = GLib.timeout_add(GLib.PRIORITY_DEFAULT,
                SEEK_COALESCE_MS, () => {
                    this._seekPendingId = null;
                    this._seekToSlider();
                    return GLib.SOURCE_REMOVE;
                })
  • extension.js:1676
            this._volumePendingId = GLib.timeout_add(GLib.PRIORITY_DEFAULT,
                VOLUME_COALESCE_MS, () => {
                    this._volumePendingId = null;
                    this._pushVolume();
                    return GLib.SOURCE_REMOVE;
                })
  • extension.js:2552
            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.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 rejected
Standalone gjs script files should start with `#!@GJS@ -m`.
JustPerfection posted a review
I mean for `spectrum.js`.