Review of "OTP keys" version 1.1.1 (32)

Details Page Preview

Show and copy otp keys

Extension Homepage
https://github.com/osmank3/otp-keys

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 4

Shexli found 4 issues that may need reviewer attention.

EGO025 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

EGO015 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:149
            this._changedId =
                this._settings.connect(`changed::${SETTINGS_OTP_LIST}`,
                    () => this._fillList())
  • prefs.js:143
            this.changedId =
                this.otpRoot.settings.connect(`changed::${SETTINGS_OTP_LIST}`,
                    () => this._sync())
  • prefs.js:335
            dropTarget.connect('drop', (target, value, x, y) => {
                let sourcePos = value;
                let targetRow = this._list.get_row_at_y(y);
    
                if (!targetRow) return false;
    
                let targetPos = targetRow.get_index();
    
                let nOtpItems = this.otpRoot.list.get_n
  • prefs.js:484
            dropTarget.connect('drop', (target, value, x, y) => {
                const sourcePos = value;
                const targetChild = this.flowbox.get_child_at_pos(x, y);
    
                if (!targetChild) return false;
    
                const targetPos = targetChild.get_index();
    
                if (sourcePos < 0 
  • prefs.js:546
            motion.connect("enter", () => {
                let cursor = Gdk.Cursor.new_from_name("grab", null);
                this.otpRoot.window.set_cursor(cursor);
            })
  • prefs.js:551
            motion.connect("leave", () => {
                this.otpRoot.window.set_cursor(null);
            })
  • prefs.js:563
            dragSource.connect('prepare', (source, x, y) => {
                const value = child.get_index();
                return Gdk.ContentProvider.new_for_value(value);
            })
  • prefs.js:532
            gtkSwitch.connect('state-set', (widget, state) => {
                const switchItem = this.flowboxSwitches.find(s => s.id === item.id);
                if (switchItem) {
                    switchItem.status = state;
                }
    
                this._saveMenuOrder();
    
                return Gdk.EVENT_PROPAG
  • prefs.js:457
            this.changedId = otpRoot.settings.connect(`changed::${SETTINGS_MENU_LABEL_ORDER}`,
                () => this._populateFlowbox())
  • prefs.js:767
                motion.connect("enter", () => {
                    let cursor = Gdk.Cursor.new_from_name("grab", null);
                    this.otpRoot.window.set_cursor(cursor);
                })
  • prefs.js:772
                motion.connect("leave", () => {
                    this.otpRoot.window.set_cursor(null);
                })
  • prefs.js:718
                dragSource.connect('prepare', (source, x, y) => {
                    let value = this.get_index();
                    return Gdk.ContentProvider.new_for_value(value);
                })

EGO027 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

  • prefs.js:28
    this.settings = extension.getSettings()

EGO016 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

  • prefs.js:630
                this._delay = GLib.timeout_add(
                    GLib.PRIORITY_DEFAULT,
                    interval,
                    () => {
                        this.refreshCode();
                        if (this._repeater == null) {
                            this._repeater = GLib.timeout_add(
                      
  • prefs.js:636
                            this._repeater = GLib.timeout_add(
                                GLib.PRIORITY_DEFAULT,
                                30000,
                                () => {
                                    this.refreshCode();
                                    return true;
                          

All Versions

Version Status
1.1.1 (32) Unreviewed
1.1.0 (31) Rejected
1.1.0 (30) Rejected
1.0.2 (29) Active
1.0.1 (28) Active
1.0.0 (27) Active
26 Active
25 Active
24 Active
23 Active
22 Active
21 Active
20 Active
19 Active
18 Active
17 Rejected
16 Active
15 Rejected
14 Rejected
13 Active
12 Active
11 Active
10 Active
9 Active
8 Active
7 Inactive
6 Active
5 Active
4 Active
3 Active
2 Active
1 Rejected