Review of "Kiro Crew" version 0.1.0 (1)

Details Page Preview

Command your own AI crew from the GNOME top bar. One glance tells you what every agent is doing — the ghost glows Kiro purple while they work, amber when one needs you, red when something breaks. Click to jump straight to the session that wants you. Your crew runs on YOUR machine via the local Kiro Crew gateway; this is the control panel.

Extension Homepage
https://github.com/totoshko88/kiro-crew-gnome

No comments.

FAQ

Files

Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.

Shexli (experimental) warning 5

Shexli found 5 issues that may need reviewer attention.

EGO-X-004 warning

extensions should avoid synchronous file IO in shell code

Shell code should avoid synchronous file IO APIs like `GLib.file_get_contents()` and `Gio.File.load_contents()`.

File Operations

  • lib/client.js:59
    file.load_contents(null)

EGO-P-006 warning

unnecessary build and translation artifacts should not be shipped

Compiled GSettings schemas should not be shipped for 45+ packages.

Don't include unnecessary files

  • schemas/gschemas.compiled
    schemas/gschemas.compiled

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:149
    this._endpointSub = new PopupMenu.PopupSubMenuMenuItem(_('Endpoint'))
  • extension.js:135
            this._header = new PopupMenu.PopupMenuItem('', {
                reactive: false, style_class: 'kiro-crew-header'
            })
  • extension.js:53
            this._icon = new St.Icon({
                gicon: this._gicon(ICON_NAME.offline),
                style_class: STYLE_CLASS.offline
            })
  • extension.js:141
    this._sessionSection = 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:149
    this._endpointSub = new PopupMenu.PopupSubMenuMenuItem(_('Endpoint'))
  • extension.js:135
            this._header = new PopupMenu.PopupMenuItem('', {
                reactive: false, style_class: 'kiro-crew-header'
            })
  • extension.js:53
            this._icon = new St.Icon({
                gicon: this._gicon(ICON_NAME.offline),
                style_class: STYLE_CLASS.offline
            })
  • extension.js:141
    this._sessionSection = new PopupMenu.PopupMenuSection()
  • extension.js:44
    this._settings = extension.getSettings()

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:75
            this._client.connect({
                onSlots: slots => this._onSlots(slots),
                onNotification: n => this._onNotification(n),
                onOnline: ok => this._onOnline(ok),
                onAuthError: bad => {
                    this._recompute();
                    if (bad)
                     
  • extension.js:61
            this.button.connect('button-press-event', (_a, event) => {
                if (event.get_button() === Clutter.BUTTON_PRIMARY) {
                    this._openTarget();
                    return Clutter.EVENT_STOP;
                }
                return Clutter.EVENT_PROPAGATE;  // secondary → menu
            })
  • extension.js:165
            this.button.menu.connect('open-state-changed', (_m, isOpen) => {
                if (isOpen)
                    this._refreshSessions();
            })

All Versions

Version Status
0.1.2 (3) Unreviewed
0.1.1 (2) Rejected
0.1.0 (1) Rejected

Previous Reviews on this Version

totoshko88 auto- rejected
Auto-rejected because of new version 0.1.1 (2) was uploaded