Review of "Aurora Shell" version 18

Details Page Preview

A customizable GNOME Shell extension that enhances the user experience with various modules and features.

Extension Homepage
https://github.com/luminusOS/aurora-shell

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

Shexli found 6 issues that may need reviewer attention.

EGO-X-006 warning

extensions should not use lookupByURL or lookupByUUID for current extension access

Use `this`, `this.getSettings()` or `this.path` instead of `lookupByURL()` or `lookupByUUID()` for the current extension.

`extensionUtils`

  • shared/icons.js:12
    Extension.lookupByURL(import.meta.url)

EGO-P-007 warning

JavaScript files should be reachable from extension.js or prefs.js

Some JavaScript files are not reachable from `extension.js` or `prefs.js` imports.

Don't include unnecessary files

  • moduleDefinition.js

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

  • modules/bluetoothMenu/deviceItem.js:43
        this._batteryLabel = new St.Label({
          style_class: 'aurora-bt-battery-label',
          y_align: Clutter.ActorAlign.CENTER,
          x_expand: false,
        })
  • modules/bluetoothMenu/deviceItem.js:49
        this._stateIcon = new St.Icon({
          icon_size: 16,
          style_class: 'popup-menu-icon',
          y_align: Clutter.ActorAlign.CENTER,
          x_expand: false,
        })
  • modules/volumeMixer/mixerPanel.js:37
    this._scroll = scroll

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

  • modules/bluetoothMenu/deviceItem.js:43
        this._batteryLabel = new St.Label({
          style_class: 'aurora-bt-battery-label',
          y_align: Clutter.ActorAlign.CENTER,
          x_expand: false,
        })
  • modules/bluetoothMenu/deviceItem.js:49
        this._stateIcon = new St.Icon({
          icon_size: 16,
          style_class: 'popup-menu-icon',
          y_align: Clutter.ActorAlign.CENTER,
          x_expand: false,
        })
  • modules/volumeMixer/mixerPanel.js:37
    this._scroll = scroll

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

  • modules/bluetoothMenu/bluetoothMenu.js:89
        item.connect('destroy', () => {
          this._patchers.delete(item);
        })
  • modules/bluetoothMenu/deviceItem.js:70
        this._batteryNotifyId = item._device.connect('notify::battery-percentage', () => {
          this._updateBatteryLabel();
        })
  • modules/bluetoothMenu/deviceItem.js:73
        this._connectedNotifyId = item._device.connect('notify::connected', () => {
          this._updateBatteryLabel();
          this._updateStateIcon();
        })
  • modules/bluetoothMenu/deviceItem.js:59
        this._spinnerNotifyId = item._spinner.connect('notify::visible', () => {
          if (item._spinner.visible) {
            this._updateStateIcon();
            this._updateBatteryLabel();
          } else {
            this._scheduleUpdate();
          }
        })
  • modules/volumeMixer/streamSlider.js:33
    this._sliderChangedId = this.slider.connect('notify::value', () => this._sliderChanged())
  • modules/volumeMixer/streamSlider.js:23
          this._soundSettings.connect(`changed::${ALLOW_AMPLIFIED_VOLUME_KEY}`, () =>
            this._updateAllowAmplified(),
          )
  • modules/volumeMixer/streamSlider.js:34
          this.slider.connect('drag-begin', () => {
            this._inDrag = true;
          })
  • modules/volumeMixer/streamSlider.js:37
          this.slider.connect('drag-end', () => {
            this._inDrag = false;
          })
  • modules/volumeMixer/volumeMixer.js:119
        this._toggleButton.connect('clicked', () => {
          if (!this._panel || !this._menuSection || !this._settingsSection) return;
          this._menuSection.box.show();
          this._settingsSection.box.show();
          slider._deviceSection?.box.hide();
          slider.menu._setSettingsVisibility?.(false);
      

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

  • modules/bluetoothMenu/deviceItem.js:108
            this._animationTimeoutId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 250, () => {
              this._animationFrame = (this._animationFrame % 4) + 1;
              this._stateIcon.gicon = this._loadIcon(
                `bbm-bluetooth-${this._animatingState}-${this._animationFrame}-symbolic`,
              )
  • modules/bluetoothMenu/deviceItem.js:84
        this._pendingUpdateId = GLib.idle_add(GLib.PRIORITY_DEFAULT_IDLE, () => {
          this._pendingUpdateId = 0;
          this._updateStateIcon();
          this._updateBatteryLabel();
          return GLib.SOURCE_REMOVE;
        })
  • shared/ui/dash.js:588
                  this._springLoadTimerId = GLib.timeout_add(
                    GLib.PRIORITY_DEFAULT,
                    SPRING_LOAD_DELAY,
                    () => {
                      this._springLoadTimerId = 0;
                      if (this._isDestroyed) return GLib.SOURCE_REMOVE;
                      const windo
  • shared/ui/dash.js:721
          this._workAreaUpdateId = GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
            this._workAreaUpdateId = 0;
            if (this._workArea) {
              this.applyWorkArea(this._workArea);
            }
            return GLib.SOURCE_REMOVE;
          })

All Versions

Version Status
50.3 (20) Unreviewed
50.2 (19) Rejected
18 Rejected
17 Active
16 Active
15 Rejected
14 Rejected
13 Rejected
12 Rejected
11 Rejected
10 Active
9 Rejected
8 Active
7 Rejected
6 Active
5 Active
4 Rejected
3 Rejected
2 Rejected
1 Rejected

Previous Reviews on this Version

leandromqrs auto- rejected
Auto-rejected because of new version 50.2 (19) was uploaded