Review of "Now Playing Card" version 1.0 (1)

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.

FAQ

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 4

Shexli found 5 issues that may need reviewer attention.

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:2317
    this.equalizer = new EqualizerIcon()
  • extension.js:2318
    this.stack = new CardStack(closeMenu, keepStackVisible)

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:2317
    this.equalizer = new EqualizerIcon()
  • extension.js:2318
    this.stack = new CardStack(closeMenu, keepStackVisible)

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:333
    this._timeline.connect('new-frame', () => this._onFrame())
  • extension.js:596
    this._timeline.connect('new-frame', () => this._onFrame())
  • extension.js:787
    this._badge.connect('notify::width', () => this._placeBadge())
  • extension.js:786
    this._coverTile.connect('notify::height', () => this._placeBadge())
  • extension.js:785
    this._coverTile.connect('notify::width', () => this._placeBadge())
  • extension.js:2515
            this.menu.connect('open-state-changed', (_menu, open) => {
                if (open)
                    this._model.stack.onMenuOpened();
            })

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:1227
            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:1521
            this._pollId = GLib.timeout_add(GLib.PRIORITY_LOW, delayMs, () => {
                this._pollId = null;
                this._fetchPosition();
                this._updatePoll();
                return GLib.SOURCE_REMOVE;
            })
  • extension.js:1455
            this._seekPendingId = GLib.timeout_add(GLib.PRIORITY_DEFAULT,
                SEEK_COALESCE_MS, () => {
                    this._seekPendingId = null;
                    this._seekToSlider();
                    return GLib.SOURCE_REMOVE;
                })
  • extension.js:1150
            this._volumePendingId = GLib.timeout_add(GLib.PRIORITY_DEFAULT,
                VOLUME_COALESCE_MS, () => {
                    this._volumePendingId = null;
                    this._pushVolume();
                    return GLib.SOURCE_REMOVE;
                })
  • extension.js:2003
            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

swink auto- rejected
Auto-rejected because of new version 1.0.3 (4) was uploaded