Review of "ClipSafe" version 1.0 (2)

Details Page Preview

Security-first clipboard history for text and images. This extension reads and writes the clipboard to keep a history of copied items. Text is memory-only; images use a session-only 0600 disk cache wiped on logout. Honors password-manager secret hints, masks sensitive entries, with search, regex/app exclusion rules, auto-expire and a keyboard shortcut.

Extension Homepage
https://github.com/piharpi/clipsafe

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

Shexli found 1 issue 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:285
    St.Clipboard.get_default()

All Versions

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

Previous Reviews on this Version

harpi posted a review
Changes in this version: - Fixed a GNOME Shell crash: St.Clipboard.get_content() drops one GBytes reference too many for in-shell clipboard sources (GNOME screenshots, our own paste-back), which later caused a double free. Images are now read with Meta.Selection.transfer_async() into a Gio.MemoryOutputStream, capped at the configured maximum image size. - Image cache file IO is now fully asynchronous. - The menu open-state-changed signal is disconnected in destroy(). - Clipboard access is declared in the description. Notes for review: - Clipboard access: this is a clipboard history manager, so it reads the clipboard on Meta.Selection owner-changed and writes it back when the user picks an entry. Copies flagged with x-kde-passwordManagerHint (password managers) are skipped before any content is read. - unlock-dialog: used only so the history survives a screen lock instead of being wiped by disable(). While locked, the indicator is hidden, the menu is closed and nothing is captured. The history is wiped on lock if the user enables "Clear history on screen lock". The reason is also documented above disable(). - Storage: text is kept in memory only. Images are cached in ~/.cache/clipsafe/ with 0600 permissions, and the cache is wiped on enable() and disable(). - No network access. Checked with shexli 0.2.1: no errors or warnings, only EGO-A-005 (manual review for clipboard access, explained above).
harpi auto- rejected
Auto-rejected because of new version 1.0 (3) was uploaded