Review of "Emoji Copy" version 34

Details Page Preview

Emoji copy is a versatile extension designed to simplify emoji selection and clipboard management. It is a fork of Emoji Selector.

Extension Homepage
https://github.com/felipeftn/emoji-copy

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

Shexli found 8 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

  • emojiButton.js:29
    St.Clipboard.get_default()

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

  • handlers/sql.js:17
    f.load_contents(null)

EGO-A-001 manual_review

extension code must not be minified or obfuscated

File appears obfuscated: 100% of identifiers are 1–2 characters (avg length 1.1).

Code must not be obfuscated

  • libs/sql/sql.js
    short identifier ratio: 100%, identifiers scored: 174965

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-P-007 warning

JavaScript files should be reachable from extension.js or prefs.js

Some JavaScript files are not reachable from `extension.js` or `prefs.js` imports.

Don't include unnecessary files

  • handlers/files.js

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:268
        this._buttonMenuItem = new PopupMenu.PopupBaseMenuItem({
          reactive: false,
          can_focus: false,
        })

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:268
        this._buttonMenuItem = new PopupMenu.PopupBaseMenuItem({
          reactive: false,
          can_focus: false,
        })

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:74
        this.super_btn.menu.connect(
          "open-state-changed",
          this._onOpenStateChanged.bind(this),
        )

All Versions

Version Status
34 Active
33 Active
32 Rejected
31 Active
30 Active
29 Active
28 Active
27 Active
26 Active
25 Active
24 Active
23 Active
22 Active
21 Active
20 Active
19 Rejected
18 Rejected
17 Rejected
16 Active
15 Rejected
14 Active
13 Active
12 Active
11 Rejected
10 Rejected
9 Active
8 Active
7 Active
6 Rejected
5 Rejected
4 Rejected
3 Active
2 Rejected
1 Rejected

Previous Reviews on this Version

fmuellner active