Review of "GNOME Widget Panel" version 0.2.1 (2)

Details Page Preview

Configurable floating GNOME panel with repository-backed widgets.

Extension Homepage
https://github.com/mpashka/gnome-widget-panel/wiki

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 4

Shexli found 4 issues that may need reviewer attention.

EGO-X-002 warning

extensions should not use synchronous subprocess APIs in shell code

Shell code should avoid synchronous subprocess APIs like `GLib.spawn_command_line_sync()` and `GLib.spawn_sync()`.

Complete Examples

  • systemInfo.js:71
    GLib.spawn_command_line_sync(commandLine)

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

  • plugins/ai-agent-usage/helpers/codex-usage-helper.js
  • plugins/ai-agent-usage/helpers/gemini-usage-helper.js

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:233
            this._fmpQuickToggle.menu.connect('activate', (obj, menuItem) => {
                if (this._fmpQuickToggle.subtitle !== menuItem.label.text) {
                    QUICKSETTINGS.menu.close();
                    this._autoItem.setOrnament(PopupMenu.Ornament.NONE);
                    this._permItem.setOrnam
  • extension.js:266
            this._fmpQuickToggle.connect('clicked', () => {
                QUICKSETTINGS.menu.close();
                if (this._state !== State.OFF) {
                    this._hideFloatingMiniPanel();
                    this._preparePermanentMode(false);
                    this._state = State.OFF;
                    this

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

  • extension.js:347
                GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
                    if (this.visible)
                        this._relocate(false);
                    return GLib.SOURCE_REMOVE;
                })
  • extension.js:356
                GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
                    if (this.visible)
                        this._relocate(false);
                    return GLib.SOURCE_REMOVE;
                })

All Versions

Version Status
0.2.2 (3) Unreviewed
0.2.1 (2) Rejected
0.1.0 (1) Rejected

Previous Reviews on this Version

Pasha auto- rejected
Auto-rejected because of new version 0.2.2 (3) was uploaded