Review of "Guigna - World Clocks Carousel" version 1

Details Page Preview

Shows your GNOME Clocks world clocks in the top-left of the top bar as a carousel: country flag, local time and the difference to your time. Click or scroll to browse.

Extension Homepage
https://github.com/enBonnet/guigna

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 5

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

  • extension.js:210
    GLib.file_get_contents(path)

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-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:77
    this._label = new St.Label({ y_align: Clutter.ActorAlign.CENTER })

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:72
    this._clocksSettings = new Gio.Settings({ schema_id: 'org.gnome.clocks' })
  • extension.js:73
    this._interfaceSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.interface' })

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:89
            this._clickedId = this._button.connect('clicked', () => {
                this._hideTooltip();
                this._menu.toggle();
            })
  • extension.js:104
    this._enterId = this._button.connect('enter-event', () => this._showTooltip())
  • extension.js:105
    this._leaveId = this._button.connect('leave-event', () => this._hideTooltip())
  • extension.js:93
            this._scrollId = this._button.connect('scroll-event', (a, event) => {
                const dir = event.get_scroll_direction();
                if (dir === Clutter.ScrollDirection.DOWN)
                    this._step(1);
                else if (dir === Clutter.ScrollDirection.UP)
                    this._step

All Versions

Version Status
3 Unreviewed
2 Rejected
1 Rejected

Previous Reviews on this Version

enbonnet auto- rejected
Auto-rejected because of new version 2 was uploaded