Review of "Clipboard Manager" version 1

Details Page Preview

Searchable clipboard history with a preview, opened with a shortcut.

Extension Homepage
https://github.com/smsanagustin/gnome-clipboard-manager

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 2 manual_review 1

Shexli found 3 issues that may need reviewer attention.

EGO-A-005 manual_review

extensions should not access the clipboard directly

Direct clipboard access via `St.Clipboard.get_default()` requires reviewer scrutiny.

Review Guidelines

  • extension.js:160
    St.Clipboard.get_default()
  • extension.js:190
    St.Clipboard.get_default()

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:78
            this._box = new St.BoxLayout({
                style_class: 'popup-menu-content clipboard-manager',
                orientation: Clutter.Orientation.VERTICAL,
                reactive: true,
            })
  • extension.js:36
            this._entry = new St.Entry({
                style_class: 'search-entry',
                hint_text: 'Search clipboard…',
                primary_icon: new St.Icon({style_class: 'search-entry-icon', icon_name: 'edit-find-symbolic'}),
            })
  • extension.js:57
    this._image = new St.Widget({style_class: 'clipboard-manager-image', x_expand: true, y_expand: true})
  • extension.js:43
    this._list = new St.BoxLayout({orientation: Clutter.Orientation.VERTICAL})
  • extension.js:44
            this._scroll = new St.ScrollView({
                style_class: 'clipboard-manager-card',
                hscrollbar_policy: St.PolicyType.NEVER,
                x_expand: true,
                child: this._list,
            })
  • extension.js:51
    this._text = new St.Label({style_class: 'clipboard-manager-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

  • extension.js:85
    this._backdrop = new St.Widget({reactive: true, visible: false})
  • extension.js:78
            this._box = new St.BoxLayout({
                style_class: 'popup-menu-content clipboard-manager',
                orientation: Clutter.Orientation.VERTICAL,
                reactive: true,
            })
  • extension.js:36
            this._entry = new St.Entry({
                style_class: 'search-entry',
                hint_text: 'Search clipboard…',
                primary_icon: new St.Icon({style_class: 'search-entry-icon', icon_name: 'edit-find-symbolic'}),
            })
  • extension.js:57
    this._image = new St.Widget({style_class: 'clipboard-manager-image', x_expand: true, y_expand: true})
  • extension.js:128
    this._indicator = new PanelMenu.Button(0, this.metadata.name, true)
  • extension.js:44
            this._scroll = new St.ScrollView({
                style_class: 'clipboard-manager-card',
                hscrollbar_policy: St.PolicyType.NEVER,
                x_expand: true,
                child: this._list,
            })
  • extension.js:25
    this._settings = this.getSettings()
  • extension.js:51
    this._text = new St.Label({style_class: 'clipboard-manager-text'})

All Versions

Version Status
1 Unreviewed