Review of "Prayer Times" version 16

Details Page Preview

Highly customizable and efficient prayer time and athan reminder extension for Gnome.

Extension Homepage
https://github.com/Mocab/Prayer-times-gnome-extension

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 3

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

  • mawaqit-client.js:21
    file.load_contents(null)

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

  • setting-manager.js:137
            this._gSettingListener.calcMethod = this._gSettings.connect("changed::preset-methods", () => {
                chooseCalcMethod();
                this._reloadExtensionMain();
            })

EGO-L-006 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:240
    this._settingsSignalId = gSettings.connect("changed::mawaqit-slug", () => updateMosqueTitle(getBaseMosqueTitle()))

All Versions

Version Status
16 Rejected
15 Active
14 Inactive
13 Inactive
12 Inactive
11 Inactive
10 Inactive
9 Inactive
8 Inactive
7 Inactive
6 Inactive
5 Inactive
4 Inactive
3 Rejected
2 Rejected
1 Rejected

Previous Reviews on this Version

JustPerfection rejected
1. Timeout should be removed before creating a new one (line 208 `extension.js`). 2. Please use aysnc for reading file content since you are in shell process (line 21 `mawaqit-client.js`): [Gio.File.load_contents_async](https://gjs-docs.gnome.org/gio20~2.0/gio.file#method-load_contents_async) Please avoid sending large diff. It's hard to review.