Review of "Monitor Input Switch" version v13 (8)

Details Page Preview

Switch an external monitor's input source (HDMI/DP/USB-C) via ddcutil. Requires ddcutil to be installed and working.

Extension Homepage
https://github.com/nemofq/monitor-input-switch

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) error 1 warning 3

Shexli found 4 issues that may need reviewer attention.

EGO-A-004 warning

extension files should not contain excessive ungated console logging

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

No excessive logging

  • ddcutil.js:76
    console.log('[monitor-input-switch] cancelInFlight: force-exiting in-flight ddcutil subprocess')
  • ddcutil.js:95
    console.log(`[monitor-input-switch] subprocess timeout after ${SUBPROCESS_TIMEOUT_MS}ms, killing: ${argv[0]}`)
  • ddcutil.js:105
    console.log(`[monitor-input-switch] ${argv.join(' ')} failed (${status}): ${oneLine(stderr)}`)
  • ddcutil.js:108
    console.log(`[monitor-input-switch] ${argv.join(' ')} failed: ${e.message}`)
  • ddcutil.js:121
    console.log('[monitor-input-switch] sysfs pre-check: scanning /sys/class/drm')
  • ddcutil.js:129
    console.log('[monitor-input-switch] sysfs pre-check: enumerate failed, falling through to ddcutil')
  • ddcutil.js:144
    console.log(`[monitor-input-switch] sysfs pre-check: found connected external display (${name})`)
  • ddcutil.js:151
    console.log('[monitor-input-switch] sysfs pre-check: iteration failed, falling through to ddcutil')
  • ddcutil.js:156
    console.log('[monitor-input-switch] sysfs pre-check: no external display connected')
  • ddcutil.js:167
    console.log('[monitor-input-switch] ddcutil detect: starting')

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:31
    this._itemsSection = new PopupMenu.PopupMenuSection()

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:31
    this._itemsSection = new PopupMenu.PopupMenuSection()

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=['48', '49', '50', '51']

All Versions

Version Status
v13 (8) Active
v12 (7) Active
6 Inactive
5 Rejected
4 Inactive
3 Rejected
2 Rejected
1 Rejected

Previous Reviews on this Version

JustPerfection active