Review of "Zeo Bluetooth Device" version 1

Details Page Preview

Zeo-style desktop widget showing connected bluetooth devices and their battery.

Extension Homepage
https://github.com/mohitjoer/zeo-widgets

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 2

Shexli found 2 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:133
            this._detailLabel = new St.Label({
                text: '—',
                style_class: 'zeo-ring-detail',
                x_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:99
    this._drawingArea = new St.DrawingArea({ width: RING_SIZE, height: RING_SIZE })
  • extension.js:111
            this._icon = new St.Icon({
                icon_name: actualIcon,
                icon_size: 24,
                style_class: 'zeo-ring-icon',
                x_align: Clutter.ActorAlign.CENTER,
                y_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:127
            this._nameLabel = new St.Label({
                text: label,
                style_class: 'zeo-ring-name',
                x_align: Clutter.ActorAlign.CENTER,
            })

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:133
            this._detailLabel = new St.Label({
                text: '—',
                style_class: 'zeo-ring-detail',
                x_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:111
            this._icon = new St.Icon({
                icon_name: actualIcon,
                icon_size: 24,
                style_class: 'zeo-ring-icon',
                x_align: Clutter.ActorAlign.CENTER,
                y_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:127
            this._nameLabel = new St.Label({
                text: label,
                style_class: 'zeo-ring-name',
                x_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:139
            this.actor = new St.BoxLayout({
                vertical: true,
                x_align: Clutter.ActorAlign.CENTER,
                style_class: 'zeo-ring-cell',
            })

All Versions

Version Status
3 Unreviewed
2 Rejected
1 Rejected

Previous Reviews on this Version

mohitjoer posted a review
i have done checks from my side and it was working quite good
JustPerfection rejected
1. Remove `github` from `metadata.json`. 2. `connectObject` and `disconnectObject` should use `this`. 3. Move to `BluetoothWidget` class (line 174, 192 `extension.js`).