Review of "Solana Crypto Price Tracker" version 1

Details Page Preview

Solana desk prices on your GNOME top bar. Up to 5 coins with icons. Options menu: add by contract or pair, custom icons, show/hide icons, white or green/red prices. By Old Growth Crypto — oldgrowthcrypto.com · @OldGrowthCrypto

Extension Homepage
https://github.com/OldGrowthCrypto/SolanaPrice-Tracker

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 6

Shexli found 6 issues that may need reviewer attention.

EGO-X-006 warning

extensions should not use lookupByURL or lookupByUUID for current extension access

Use `this`, `this.getSettings()` or `this.path` instead of `lookupByURL()` or `lookupByUUID()` for the current extension.

`extensionUtils`

  • settings.js:8
    Extension.lookupByUUID(UUID)

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-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

  • models/addCoinMenuItem.js
  • models/addPairMenuItem.js

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

  • models/editCoinDialog.js:89
    this._status = new St.Label({ text: ' ' })

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

  • models/editCoinDialog.js:89
    this._status = new St.Label({ text: ' ' })

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:607
          GLib.idle_add(GLib.PRIORITY_DEFAULT_IDLE, () => {
            try {
              this._panelBox.queue_relayout();
              const [, natBox] = this._panelBox.get_preferred_width(-1);
              const pad = 16;
              const w = Math.max(natBox + pad, 48);
              this._panelBox.set_width(Math.max(
  • models/editCoinDialog.js:243
          GLib.idle_add(GLib.PRIORITY_DEFAULT_IDLE, () => {
            this._panelMenu.rebuildCoins();
            if (this._panelMenu._statusRow)
              this._panelMenu._statusRow.text = `Updated ${title}`;
            try {
              this._panelMenu.menu.open();
            } catch (_e) {
              /* ignore */
     
  • models/editCoinDialog.js:267
          GLib.idle_add(GLib.PRIORITY_DEFAULT_IDLE, () => {
            this._panelMenu.rebuildCoins();
            if (this._panelMenu._statusRow) {
              this._panelMenu._statusRow.text = removed
                ? `Removed ${ref.title}`
                : `Could not remove ${ref.title}`;
            }
            try {
      
  • models/optionsDialog.js:433
            GLib.idle_add(GLib.PRIORITY_DEFAULT_IDLE, () => {
              try {
                this._panelMenu.onCoinAdded(coin.title);
              } catch (_e) {
                this._panelMenu.rebuildCoins();
              }
              return GLib.SOURCE_REMOVE;
            })
  • models/optionsDialog.js:562
            GLib.idle_add(GLib.PRIORITY_DEFAULT_IDLE, () => {
              try {
                this._panelMenu.onCoinAdded(coin.title);
              } catch (_e) {
                this._panelMenu.rebuildCoins();
              }
              return GLib.SOURCE_REMOVE;
            })

All Versions

Version Status
1 Unreviewed