Review of "Fresh Web Wallpaper" version 1.0 (2)

Details Page Preview

Fresh, real-world photo wallpapers from Bing, NASA or Peapix, updated automatically — pick a fixed daily source or let it draw randomly from thousands of archived images of these sources, with anti-repetition built in, favourites and banned lists, and a "Today" tab to look back at everything shown since midnight.Fresh, real-world photo wallpapers from Bing, NASA or Peapix, updated automatically, pick a fixed daily source or let it draw randomly from thousands of archived images of these sources, with anti-repetition built in (an image already shown won't be able to come back until thousands of others have been shown).

Extension Homepage
https://framagit.org/Fred6681/fresh-web-wallpaper

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

  • extension.js:969
    GLib.file_get_contents(this._seenHistoryPath())
  • extension.js:1022
    GLib.file_get_contents(this._discoveredCachePath())

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:1341
    notification.connect('destroy', () => notification.disconnect(activatedId))
  • extension.js:332
            this._menuStateChangedId = this.menu.connect('open-state-changed', (menu, open) => {
                if (open)
                    this._rebuildMenu();
            })
  • extension.js:337
            this._settingsChangedId = extension._settings.connect('changed', () => {
                if (!this.menu.isOpen || this._idleSourceId)
                    return;
                this._idleSourceId = GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
                    this._idleSourceId = null;
                    i

EGO-L-004 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:340
                this._idleSourceId = GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
                    this._idleSourceId = null;
                    if (this.menu.isOpen)
                        this._rebuildMenu();
                    return GLib.SOURCE_REMOVE;
                })

All Versions

Version Status
2.0 (7) Unreviewed
1.3 (6) Active
1.2 (5) Inactive
1.1 (4) Inactive
1.0 (3) Inactive
1.0 (2) Rejected
1.0 (1) Rejected

Previous Reviews on this Version

JustPerfection rejected
1. Please avoid using non-English comments in the code. It makes it hard for the contributors to join. If it is generated by AI, please note, we have a rule for that: [EGO Review Guidelines: AI](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#extensions-must-not-be-ai-generated) 2. Better to use `destroy` function instead of connecting destroy signal. Don't forget to do `super.destroy()` at the end of that `destroy()` function. 3. Use `console.*` instead of `log()`. Logs should be only available on debug mode. For debug use `console.debug()` instead of `console.log()`: [Port Guide 45: Logging](https://gjs.guide/extensions/upgrading/gnome-shell-45.html#logging) 4. Please use aysnc for reading file content since you are in shell process (line 969, 1022 `extension.js`): [Gio.File.load_contents_async](https://gjs-docs.gnome.org/gio20~2.0/gio.file#method-load_contents_async)