Review of "Glance" version 1

Details Page Preview

Google Calendar events and Meet notifications in the GNOME top bar


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 4

Shexli found 5 issues that may need reviewer attention.

EGO011 error

GSettings schema XML must be present in package

Extension appears to use GSettings but no `.gschema.xml` file is included in the package.

GSettings Schemas

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:268
    btn.connect('clicked',   () => { _openUrl(url); this.menu.close(); })
  • extension.js:159
            refreshBtn.connect('clicked', () =>
                this._refreshEvents(true).catch(e => console.error('[Glance]', e.message))
            )

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

  • extension.js:467
            this._calTimerId = GLib.timeout_add_seconds(
                GLib.PRIORITY_DEFAULT, POLL_CALENDAR_S, () => {
                    this._refreshEvents().catch(e => console.error('[Glance]', e.message));
                    return GLib.SOURCE_CONTINUE;
                }
            )
  • extension.js:473
            this._meetTimerId = GLib.timeout_add_seconds(
                GLib.PRIORITY_DEFAULT, CHECK_MEETINGS_S, () => {
                    const { events } = Storage.getEventsCache();
                    this._checkMeetings(events).catch(e => console.error('[Glance]', e.message));
                    return GLib.SO
  • prefs.js:279
            GLib.timeout_add(GLib.PRIORITY_DEFAULT, 1500, () => {
                btn.label = 'Salva';
                return GLib.SOURCE_REMOVE;
            })
  • prefs.js:294
            GLib.timeout_add(GLib.PRIORITY_DEFAULT, 1500, () => {
                btn.label = 'Salva';
                return GLib.SOURCE_REMOVE;
            })

EGO030 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

  • lib/storage.js:25
    file.load_contents(null)

EGO033 warning

preferences classes should not retain window-scoped objects on instance fields without close-request cleanup

Preferences code stores window-scoped objects on the exported prefs class without `close-request` cleanup.

Destroy all objects

  • prefs.js:58
    this._statusLabel = new Gtk.Label({ label: '', xalign: 0, wrap: true })
  • prefs.js:88
    this._leadSpin = _spin(1, 120, settings.lead_minutes)
  • prefs.js:96
    this._countSpin = _spin(1, 10, settings.count)
  • prefs.js:104
    this._intervalSpin = _spin(1, 60, settings.interval_minutes)

All Versions

Version Status
3 Unreviewed
2 Rejected
1 Rejected

Previous Reviews on this Version

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