Review of "Bitcoin Markets" version 79

Details Page Preview

Display info on various crypto-currency exchanges.

Extension Homepage
https://github.com/rossigee/gnome-shell-bitcoin-markets/

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 5

Shexli found 5 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`

  • extension.js:1107
    Extension.lookupByURL(import.meta.url)

EGO-A-004 warning

extension files should not contain excessive ungated console logging

File contains 16 ungated console.log/warn/error calls (threshold: 5).

No excessive logging

  • extension.js:897
    console.log(`Circuit breaker opened after ${this.failures} failures`)
  • extension.js:927
    console.log(`Cleared permanent error for provider ${provider.apiName} after timeout`)
  • extension.js:957
    console.log(e)
  • extension.js:960
    console.log(e)
  • extension.js:1086
    console.log(contextualError)
  • extension.js:1141
    console.log(`Request failed, retrying in ${delay}ms... (attempt ${attempt + 1}/${maxRetries})`)
  • extension.js:1176
    console.log(new Error(`invalid provider ${options.api}`))
  • extension.js:1054
    console.error(e)
  • extension.js:1133
    console.error(err)
  • extension.js:1151
    console.error(contextualError)

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

  • extension.js:161
    rateLimiter = new RateLimiter(1_000, 8)
  • extension.js:161
    new RateLimiter(1_000, 8)
  • extension.js:772
    new Api$n()
  • extension.js:773
    new Api$m()
  • extension.js:774
    new Api$l()
  • extension.js:775
    new Api$k()
  • extension.js:776
    new Api$j()
  • extension.js:777
    new Api$i()
  • extension.js:778
    new Api$h()
  • extension.js:779
    new Api$g()

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:2414
    this.settings = ext.getSettings()

All Versions

Previous Reviews on this Version

JustPerfection rejected
1. Please remove ts transpile artifacts: - line 1191 `extension.js` - line 35 `prefs.js` 2. Putting every thing in one single file made the review process really hard. The function names are getting really weird (`destroy$1`).