Review of "Codex Usage Monitor" version 1.0.0 (1)

Details Page Preview

Track your ChatGPT Codex 5-hour and weekly usage from the GNOME panel. See reset times, switch between used and remaining percentages, configure automatic refresh, and store your session cookie in GNOME Keyring.

Extension Homepage
https://github.com/FalkFranco/codex-monitor-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) error 1 warning 3

Shexli found 4 issues that may need reviewer attention.

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:53
    this._menuSection = new PopupMenu.PopupMenuSection()
  • extension.js:33
            this._panelBox = new St.BoxLayout({
                style_class: 'codex-panel-box',
                y_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:38
            this._panelIcon = new St.Icon({
                gicon: new Gio.FileIcon({file: iconFile}),
                icon_size: 16,
                style_class: 'codex-panel-icon',
            })
  • extension.js:43
            this._panelLabel = new St.Label({
                text: '—',
                y_align: Clutter.ActorAlign.CENTER,
                style_class: 'codex-panel-percent',
            })

EGO-L-001 warning

extension must not create GObject instances or modify shell before enable()

Resource creation or signal/source setup was found outside `enable()`.

Only use initialization for static resources

  • src/infrastructure/secret-store.js:3
    new Secret.Schema(
        'org.gnome.shell.extensions.codex-monitor.credential',
        Secret.SchemaFlags.NONE,
        {provider: Secret.SchemaAttributeType.STRING}
    )

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:53
    this._menuSection = new PopupMenu.PopupMenuSection()
  • extension.js:33
            this._panelBox = new St.BoxLayout({
                style_class: 'codex-panel-box',
                y_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:38
            this._panelIcon = new St.Icon({
                gicon: new Gio.FileIcon({file: iconFile}),
                icon_size: 16,
                style_class: 'codex-panel-icon',
            })
  • extension.js:43
            this._panelLabel = new St.Label({
                text: '—',
                y_align: Clutter.ActorAlign.CENTER,
                style_class: 'codex-panel-percent',
            })

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

All Versions

Version Status
1.0.0 (2) Unreviewed
1.0.0 (1) Unreviewed