Review of "DualShell" version 1.2.0 (3)

Details Page Preview

Control your system using a gamepad - navigate desktop, launch apps, control volume, and more

Extension Homepage
https://codeberg.org/inbalboa/gnome-dualshell

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 2 manual_review 1

Shexli found 3 issues that may need reviewer attention.

EGO-A-001 manual_review

extension code must not be minified or obfuscated

File appears obfuscated: 73% of identifiers are 1–2 characters (avg length 5.0).

Code must not be obfuscated

  • actionsCatalog.js
    short identifier ratio: 73%, identifiers scored: 63

EGO-A-004 warning

extension files should not contain excessive ungated console logging

File contains 6 ungated console.log/warn/error calls (threshold: 5).

No excessive logging

  • logger.js:45
    console.warn(_formatMessage(LogLevel.WARN, message, context))
  • logger.js:33
    console.log(_formatMessage(LogLevel.DEBUG, message, context))
  • logger.js:39
    console.log(_formatMessage(LogLevel.INFO, message, context))
  • logger.js:55
    console.error(`${formattedMessage}\n  Error: ${err.message}\n  Stack: ${err.stack}`)
  • logger.js:57
    console.error(`${formattedMessage}\n  Details: ${JSON.stringify(err)}`)
  • logger.js:59
    console.error(formattedMessage)

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:204
    this._devicesSection = new PopupMenu.PopupMenuSection()
  • extension.js:207
            this._noDevicesMenuItem = new PopupMenu.PopupMenuItem(_('No gamepads connected'), {
                reactive: false,
                can_focus: false,
            })
  • extension.js:191
            this._panelIcon = new St.Icon({
                gicon: this._icons.getCustomIcon('icon'),
                style_class: 'system-status-icon gamepad-panel-icon',
            })

All Versions

Version Status
1.2.0 (3) Unreviewed
1.1.0 (2) Rejected
1.0 (1) Rejected