Review of "Matrix Status Monitor" version 6

Details Page Preview

High-performance Matrix notification monitor for GNOME Shell.

Extension Homepage
https://github.com/nurefexc/matrix-status

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

Shexli found 4 issues that may need reviewer attention.

EGO-A-005 manual_review

extensions should not access the clipboard directly

Direct clipboard access via `St.Clipboard.get_default()` requires reviewer scrutiny.

Review Guidelines

  • extension.js:130
    St.Clipboard.get_default()

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

  • extension.js:644
    console.warn(`[Matrix-Status] Auth failed (Status: ${message.status_code}). Resetting sync token.`)
  • extension.js:648
    console.warn(`[Matrix-Status] Sync failed with status: ${message.status_code}`)
  • extension.js:311
    console.error(`[Matrix-Status] Avatar load error for ${url}: ${e.message}`)
  • extension.js:362
    console.error(`[Matrix-Status] Action box error: ${e.message}`)
  • extension.js:454
    console.error(`[Matrix-Status] QR generation error: ${e.message}`)
  • extension.js:653
    console.error(`[Matrix-Status] Sync error: ${e.message}`)

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:923
    this._searchProvider = new MatrixSearchProvider(this._indicator)

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:933
            this._settings.connect('changed::client-type', () => {
                // Rebuild menu immediately to reflect client change (e.g., show/hide Open Element)
                this._indicator?._buildMenu(this._indicator?._lastRooms ?? []);
            })
  • extension.js:937
            this._settings.connect('changed::generate-qr-code-enable', () => {
                this._indicator?._buildMenu(this._indicator?._lastRooms ?? []);
            })
  • extension.js:932
    this._settings.connect('changed::sync-interval', () => this._restartTimer())

All Versions

Version Status
7 Active
6 Active
5 Active
4 Inactive
3 Active
2 Rejected
1 Rejected

Previous Reviews on this Version

fmuellner active