Review of "Codex Usage Indicator" version 2

Details Page Preview

Shows Codex usage in the GNOME top bar and a daily usage breakdown in the popup.

Extension Homepage
https://github.com/stonega/codex-usage-indicator

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

Shexli found 3 issues that may need reviewer attention.

EGO025 warning

unnecessary build and translation artifacts should not be shipped

Package contains files that often should not be shipped for review.

Don't include unnecessary files

  • .gitignore
    .gitignore

EGO015 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:53
            this.menu.connect('open-state-changed', (_menu, isOpen) => {
                if (isOpen)
                    void this.refresh();
            })
  • prefs.js:177
            nameRow.connect('apply', () => {
                this._updateAccount(account.id, {name: nameRow.text});
            })
  • prefs.js:187
            tokenRow.connect('apply', () => {
                const token = tokenRow.text.trim();
                if (token) {
                    storeBearerTokenSync(token, account.id);
                    clearAccountProfile(this._settings, account.id);
                    statusRow.subtitle = _('Token saved to the GNOM
  • prefs.js:149
            addButton.connect('clicked', () => {
                const nextAccount = createAccount(_('Account'));
                const nextAccounts = [...accounts, nextAccount];
                const nextVisibleIds = new Set(getVisibleAccountIds(this._settings, accounts));
                nextVisibleIds.add(nextAccoun
  • prefs.js:223
            testButton.connect('clicked', () => {
                void this._testToken(account, tokenRow, statusRow);
            })
  • prefs.js:238
            removeButton.connect('clicked', () => {
                this._removeAccount(account.id);
            })
  • prefs.js:209
            visibilitySwitch.connect('notify::active', widget => {
                this._setAccountVisibility(account.id, widget.active);
            })
  • prefs.js:97
            displayRow.connect('notify::selected', combo => {
                this._settings.set_string(
                    'display-mode',
                    combo.selected === 1 ? DISPLAY_MODE_USED : DISPLAY_MODE_LEFT,
                );
            })

EGO013 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

  • secret.js:9
    new Secret.Schema(
        SECRET_SCHEMA_NAME,
        Secret.SchemaFlags.NONE,
        {account: Secret.SchemaAttributeType.STRING},
    )

All Versions

Version Status
3 Unreviewed
2 Rejected
1 Active

Previous Reviews on this Version

stonegate auto- rejected
Auto-rejected because of new version 3 was uploaded