Review of "Fedora Linux Update Indicator" version 42

Details Page Preview

GNOME Shell update indicator for Fedora Linux. This is based on Arch Linux Updates Indicator by Raphaƫl Rochet. This extension is not affiliated, funded, or in any way associated with Fedora brand and Red Hat Software.

Extension Homepage
https://github.com/purejava/fedora-update

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 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:167
    this.checkNowMenuContainer = new PopupMenu.PopupMenuSection()
  • extension.js:166
    this.checkNowMenuItem = new PopupMenu.PopupMenuItem( _('Check now') )
  • extension.js:154
    this.checkingMenuItem = new PopupMenu.PopupBaseMenuItem( {reactive:false} )
  • extension.js:151
    this.managerMenuItem = new PopupMenu.PopupMenuItem(_('Open package manager'))
  • extension.js:144
    this.menuExpander = new PopupMenu.PopupSubMenuMenuItem('')
  • extension.js:145
    this.menuExpanderContainer = new St.BoxLayout({ vertical: true, style_class: 'fedora-updates-updates-list' })
  • extension.js:171
    this.timeCheckedMenu = new PopupMenu.PopupMenuItem( "-", {reactive:false} )
  • extension.js:150
    this.updateNowMenuItem = new PopupMenu.PopupMenuItem(_('Update now'))

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:201
    this._settings = this._extension.getSettings()
  • extension.js:167
    this.checkNowMenuContainer = new PopupMenu.PopupMenuSection()
  • extension.js:166
    this.checkNowMenuItem = new PopupMenu.PopupMenuItem( _('Check now') )
  • extension.js:154
    this.checkingMenuItem = new PopupMenu.PopupBaseMenuItem( {reactive:false} )
  • extension.js:151
    this.managerMenuItem = new PopupMenu.PopupMenuItem(_('Open package manager'))
  • extension.js:144
    this.menuExpander = new PopupMenu.PopupSubMenuMenuItem('')
  • extension.js:145
    this.menuExpanderContainer = new St.BoxLayout({ vertical: true, style_class: 'fedora-updates-updates-list' })
  • extension.js:171
    this.timeCheckedMenu = new PopupMenu.PopupMenuItem( "-", {reactive:false} )
  • extension.js:150
    this.updateNowMenuItem = new PopupMenu.PopupMenuItem(_('Update now'))

EGO-L-003 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:734
    this._notifSource.connect('destroy', ()=>{this._notifSource = null;})
  • extension.js:745
    this._notification.connect('destroy', ()=>{this._notification = null;})
  • extension.js:185
    this.menu.connect('open-state-changed', this._onMenuOpened.bind(this))

All Versions

Previous Reviews on this Version

purejava posted a review
Implement suggestions from SonarQube