Review of "Clipboard History" version 1

Details Page Preview

This extension accesses the clipboard to keep a local history of copied text and images. Clipboard data stays on your device and is restored only when you select an entry; no data is sent to third parties.

Extension Homepage
https://github.com/GianT404/clipmanZ

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) error 1 warning 2 manual_review 1

Shexli found 4 issues that may need reviewer attention.

EGO-X-004 warning

extensions should avoid synchronous file IO in shell code

Shell code should avoid synchronous file IO APIs like `GLib.file_get_contents()` and `Gio.File.load_contents()`.

File Operations

  • clipboardHistory.js:70
    Gio.File.new_for_path(entry.path).load_bytes(null)

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

  • clipboardHistory.js:18
    St.Clipboard.get_default()

EGO-L-004 warning

main loop sources should be removed in disable()

Main loop sources assigned in `enable()` are missing matching removals in `disable()` or its helper methods.

Remove main loop sources

  • extension.js:86
                this._injectSourceId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, REFOCUS_DELAY_MS, () => {
                    this._injectSourceId = 0;
                    if (this._enabled && this._popup === popup)
                        popup.restoreSearchFocus();
                    return GLib.SOURCE_REMOVE;
          
  • extension.js:82
            this._pasteSourceId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, PASTE_DELAY_MS, () => {
                this._pasteSourceId = 0;
                if (this._enabled && targetWindow)
                    this._injectPaste();
                this._injectSourceId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, REFOCUS_DE

EGO-M-004 error

metadata shell-version must only include plausible stable releases and at most one development release

Field `shell-version` contains invalid values, more than one development release, or implausible future releases.

metadata.json must be well-formed

  • metadata.json
    shell-version=['46', '47', '48', '49', '50', '51']

All Versions

Version Status
3 Unreviewed
2 Rejected
1 Rejected

Previous Reviews on this Version

JustPerfection rejected
This code seems to be generated by AI. Please note, we have a rule for that: - [EGO Review Guidelines: AI](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#extensions-must-not-be-ai-generated) - [Extensions Best Practices Guidelines](https://gjs.guide/extensions/review-guidelines/best-practices.html#submissions-require-maintainership)