Review of "Text Clock" version 1.1.2 (10)

Details Page Preview

A simple text clock for the GNOME Shell

Extension Homepage
https://github.com/wtbenica/text-clock

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 2

Shexli found 2 issues that may need reviewer attention.

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

  • constants/dates/extension.js
  • constants/dates/prefs.js
  • constants/times/extension.js
  • constants/times/prefs.js

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:110
    this.#settings = this.getSettings()
  • extension.js:152
            this.#topBox = new St.BoxLayout({
                style_class: CLOCK_STYLE_CLASS_NAME,
            })

All Versions

Version Status
1.1.2 (10) Active
1.1.2 (9) Rejected
1.1.2 (8) Rejected
1.1.1 (7) Active
1.1.0 (6) Rejected
1.0.5 (5) Inactive
1.0.4 (4) Inactive
1.0.3 (3) Inactive
1.0.2 (2) Inactive
1.0.1 (1) Rejected

Previous Reviews on this Version

benica.dev posted a review
Shexli warnings: - Destroy all objects Both are released in disable(): Line 110 (this.#settings): this is wrapped by SettingsManager which manages all signal handlers. In disable() → #cleanup() → SettingsManager.destroy() disconnects all signals before #settings is set to undefined in #resetProperties(). Line 152 (this.#topBox): this is destroyed with this.#topBox.destroy() in #cleanup() (line 285), then set to undefined in #resetProperties() (line 135) - Don't include unnecessary files These files are reachable through DI: - constants/dates/core.ts exports createDateConstants(gettextFns) - constants/dates/extension.js imports core.ts and injects extension gettext - constants/dates/prefs.js imports core.ts and injects prefs gettext This avoids code duplication for the extension and prefs runtimes, and their different gettext implementations. The import chain is: extension.js → translate_pack_utils.js → dates/extension.js → dates/core.js
dlandau active