Review of "Genshin Resin Tracker" version 1

Details Page Preview

Shows current Genshin Impact resin energy in the top panel using HoYoLAB API. * Multi-account with per-account region * Resin counter with color coding and live countdown * Commissions, bosses, expeditions, realm currency, transformer * Imaginarium Theater, Spiral Abyss, Exploration, Daily Check-in * 15-language UI with system locale detection * Module reordering and toggles per account * Persistent cache survives restarts and network outages

Extension Homepage
https://github.com/ruslansin/genshin-gnome-extension

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 4

Shexli found 4 issues that may need reviewer attention.

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:137
    this._bossItem = new PopupMenu.PopupMenuItem('', {reactive: false})
  • extension.js:153
    this._coinItem = new PopupMenu.PopupMenuItem('', {reactive: false})
  • extension.js:134
    this._commItem = new PopupMenu.PopupMenuItem('', {reactive: false})
  • extension.js:161
    this._errorItem = new PopupMenu.PopupMenuItem('', {reactive: false})
  • extension.js:142
    this._expHeader = new PopupMenu.PopupMenuItem('Expeditions', {reactive: false})
  • extension.js:67
            this._icon = new St.Label({
                text: '\u25C6',
                style_class: 'genshin-resin-label',
                y_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:74
            this._label = new St.Label({
                text: '--/--',
                style_class: 'genshin-resin-label',
                y_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:131
    this._nextTickItem = new PopupMenu.PopupMenuItem('', {reactive: false})
  • extension.js:128
    this._resinItem = new PopupMenu.PopupMenuItem('', {reactive: false})
  • extension.js:156
    this._transformerItem = new PopupMenu.PopupMenuItem('', {reactive: false})
  • extension.js:147
    item

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:137
    this._bossItem = new PopupMenu.PopupMenuItem('', {reactive: false})
  • extension.js:153
    this._coinItem = new PopupMenu.PopupMenuItem('', {reactive: false})
  • extension.js:134
    this._commItem = new PopupMenu.PopupMenuItem('', {reactive: false})
  • extension.js:161
    this._errorItem = new PopupMenu.PopupMenuItem('', {reactive: false})
  • extension.js:142
    this._expHeader = new PopupMenu.PopupMenuItem('Expeditions', {reactive: false})
  • extension.js:67
            this._icon = new St.Label({
                text: '\u25C6',
                style_class: 'genshin-resin-label',
                y_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:74
            this._label = new St.Label({
                text: '--/--',
                style_class: 'genshin-resin-label',
                y_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:131
    this._nextTickItem = new PopupMenu.PopupMenuItem('', {reactive: false})
  • extension.js:128
    this._resinItem = new PopupMenu.PopupMenuItem('', {reactive: false})
  • extension.js:156
    this._transformerItem = new PopupMenu.PopupMenuItem('', {reactive: false})

EGO-L-008 warning

Soup.Session instances should be aborted during cleanup

Soup.Session instances should be aborted during cleanup.

Soup.Session.abort

  • extension.js:59
    this._session = new Soup.Session()

All Versions

Version Status
8 Unreviewed
7 Rejected
6 Rejected
5 Rejected
4 Rejected
3 Rejected
2 Rejected
1 Rejected

Previous Reviews on this Version

snqL auto- rejected
Auto-rejected because of new version 2 was uploaded