Review of "Clipboard History" version 1.0 (1)

Details Page Preview

Clipboard access: this extension reads the system clipboard every time its contents change, and records what it reads in a history stored locally under ~/.cache/clipboard-history@manouchehr/. Nothing is sent over the network, and clipboard data is never shared with any third party. Content marked as sensitive by password managers such as KeePassXC, Bitwarden and KWallet is not recorded. A Windows-style clipboard history panel for GNOME Shell. Open it from the panel icon, or assign a keyboard shortcut of your own in the extension preferences — no shortcut is set by default. Super+V is the binding this panel is modelled on; note that GNOME assigns it to the message tray out of the box, so you would need to free it there first. Features: • Keeps a scrollable history of everything you copy — text, links, and images • Image entries show inline thumbnail previews • Pin frequently used entries so they are never evicted from history • Search your text history as you type • Auto-paste: pick an entry and it is inserted straight into the focused application • Emoji, Kaomoji, and Symbols tabs for inserting characters that are awkward to type • Full RTL support — Persian and Arabic text renders and aligns correctly • Configurable history size, and one-click clearing of the current tab that keeps pinned entries

Extension Homepage
https://github.com/M-ghalevand/gnome-shell-extension-clipboard-history

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

Shexli found 4 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:215
    St.Clipboard.get_default()

EGO-A-004 warning

extension files should not contain excessive ungated console logging

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

No excessive logging

  • extension.js:320
    console.error(`Clipboard History: could not create ${this._imagesDir}: ${e.message}`)
  • extension.js:346
    console.error(`Clipboard History: could not save the history: ${e.message}`)
  • extension.js:360
    console.error(`Clipboard History: could not save the image: ${e.message}`)
  • extension.js:373
    console.error(`Clipboard History: could not read ${entry.imagePath}: ${e.message}`)
  • extension.js:386
    console.error(`Clipboard History: could not delete ${path}: ${e.message}`)
  • extension.js:797
    console.error(`Clipboard History: could not decode the copied image: ${e.message}`)

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-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:559
            this.menu.connect('open-state-changed', (menu, isOpen) => {
                if (isOpen) {
                    this._searchEntry.set_text('');
                    this._applyFilter();
                }
            })

All Versions

Version Status
1.0 (2) Unreviewed
1.0 (1) Rejected

Previous Reviews on this Version

m.ghalevand auto- rejected
Auto-rejected because of new version 1.0 (2) was uploaded