Review of "Music Assistant Control" version 1

Details Page Preview

Control a Music Assistant player through a GNOME extension.

Extension Homepage
https://github.com/caralacm/ma-gnome-extension

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

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:53
            this._icon = new St.Icon({
                icon_name: 'audio-x-generic-symbolic',
                style_class: 'ma-panel-icon',
                icon_size: 16
            })
  • extension.js:92
            this._menuArt = new St.Button({
                style_class: 'ma-art-button',
                x_align: Clutter.ActorAlign.CENTER,
                reactive: true
            })
  • extension.js:97
            this._menuArtIcon = new St.Icon({
                icon_name: 'audio-x-generic-symbolic',
                icon_size: 200,
                style_class: 'ma-art-icon'
            })
  • extension.js:136
            this._menuArtist = new St.Label({
                text: 'Music Assistant',
                style_class: 'ma-track-artist',
                x_align: Clutter.ActorAlign.CENTER
            })
  • extension.js:71
            this._menuContent = new St.BoxLayout({
                vertical: true,
                style_class: 'ma-menu-box'
            })

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:53
            this._icon = new St.Icon({
                icon_name: 'audio-x-generic-symbolic',
                style_class: 'ma-panel-icon',
                icon_size: 16
            })
  • extension.js:92
            this._menuArt = new St.Button({
                style_class: 'ma-art-button',
                x_align: Clutter.ActorAlign.CENTER,
                reactive: true
            })
  • extension.js:97
            this._menuArtIcon = new St.Icon({
                icon_name: 'audio-x-generic-symbolic',
                icon_size: 200,
                style_class: 'ma-art-icon'
            })
  • extension.js:136
            this._menuArtist = new St.Label({
                text: 'Music Assistant',
                style_class: 'ma-track-artist',
                x_align: Clutter.ActorAlign.CENTER
            })
  • extension.js:71
            this._menuContent = new St.BoxLayout({
                vertical: true,
                style_class: 'ma-menu-box'
            })

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:32
    this._settings.connect('changed::player-id', () => this._reconnect())
  • extension.js:31
    this._settings.connect('changed::server-url', () => this._reconnect())
  • extension.js:33
    this._settings.connect('changed::show-panel-title', () => this._updatePanelVisibility())
  • extension.js:202
    this._ws.connect('closed', () => this._onClosed())
  • extension.js:201
    this._ws.connect('message', (ws, type, data) => this._onMessage(data))

EGO-L-008 warning

Soup.Session instances should be aborted during cleanup

Soup.Session instances should be aborted during cleanup.

Soup.Session.abort

  • extension.js:17
    this._session = new Soup.Session()

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:228
            this._reconnectId = GLib.timeout_add_seconds(GLib.PRIORITY_DEFAULT, 5, () => {
                this._reconnectId = null;
                this._connectToMA();
                return GLib.SOURCE_REMOVE;
            })

All Versions

Version Status
2 Rejected
1 Active

Previous Reviews on this Version

fmuellner active