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.2 (3) Unreviewed
1.0.1 (2) Rejected
1.0 (1) Unreviewed