Review of "NoteDock" version 1.0.1 (2)

Details Page Preview

A lightweight scratchpad in the GNOME Shell top panel. Notes are stored locally. NoteDock reads clipboard text only when the user clicks Paste and writes note text to the clipboard only when the user clicks Copy.

Extension Homepage
https://github.com/joquers/NoteDock

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 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:394
    St.Clipboard.get_default()
  • extension.js:410
    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:124
            this._countLabel = new St.Label({
                text: `0 / ${MAX_NOTE_LENGTH}`,
                style_class: 'notedock-count',
                y_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:133
            this._editor = new St.Entry({
                hint_text: 'Write a quick note…',
                style_class: 'notedock-editor',
                can_focus: true,
                track_hover: true,
                x_expand: true,
            })
  • extension.js:79
            this._noteDot = new St.Label({
                text: '•',
                style_class: 'notedock-panel-dot',
                y_align: Clutter.ActorAlign.CENTER,
                visible: false,
            })
  • extension.js:162
            this._statusLabel = new St.Label({
                text: 'Loading…',
                style_class: 'notedock-status',
                x_expand: true,
                y_align: Clutter.ActorAlign.CENTER,
            })

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:90
            this._indicator.menu.connect(
                'open-state-changed',
                (_menu, open) => {
                    if (open)
                        this._focusEditor();
                }
            )

All Versions

Version Status
1.0.1 (2) Active
1.0.0 (1) Rejected

Previous Reviews on this Version

JustPerfection active