Review of "GNOME Widget Center" version 1

Details Page Preview

GNOME Widget Center is a simple and flexible way to add useful widgets to your GNOME desktop.It lets you easily manage, arrange, and customize different widgets in one place.You can add tools such as clocks, system information, media controls, shortcuts, and more.Each widget is designed to be lightweight, clean, and easy to configure. Make your desktop more useful and personal without changing the way GNOME works.

Extension Homepage
https://github.com/xenlism/gnome-widget-center

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 3 warning 6 manual_review 1

Shexli found 10 issues that may need reviewer attention.

EGO-A-004 warning

extension files should not contain excessive ungated console logging

File contains 28 ungated console.log/warn/error calls (threshold: 5).

No excessive logging

  • extension.js:66
    console.error("[widget-center] GlobalShadowHelper setup failed", e)
  • extension.js:73
    console.error("[widget-center] SettingsService.init() failed", e)
  • extension.js:141
    console.error(`[widget-center] failed to apply theme pack "${id}"`, e)
  • extension.js:160
    console.error("[widget-center] loadAll() failed", e)
  • extension.js:174
    console.error("[widget-center] could not set up the global screenshot keybinding", e)
  • extension.js:237
    console.error("[widget-center] could not read layout settings, using defaults", e)
  • extension.js:250
    console.error(`[widget-center] Failed to nudge shadow angle for "${entry.id}"`, e)
  • extension.js:260
    console.error(`[widget-center] Failed to apply opacity for "${entry.id}"`, e)
  • extension.js:265
    console.error(`[widget-center] Failed to apply blur for "${entry.id}"`, e)
  • extension.js:277
    console.error(`[widget-center] Failed to apply block size for "${entry.id}"`, e)

EGO-I-003 error

Clutter, Meta, St and Shell must not be imported in prefs process files

GNOME Shell library `St` must not be imported in preferences files.

Do not import GNOME Shell libraries in Preferences

  • lib/cardLayers.js:1
    import St from "gi://St";

EGO-I-003 error

Clutter, Meta, St and Shell must not be imported in prefs process files

GNOME Shell library `Clutter` must not be imported in preferences files.

Do not import GNOME Shell libraries in Preferences

  • lib/cardLayers.js:3
    import Clutter from "gi://Clutter";

EGO-I-003 error

Clutter, Meta, St and Shell must not be imported in prefs process files

GNOME Shell library `Shell` must not be imported in preferences files.

Do not import GNOME Shell libraries in Preferences

  • lib/cardLayers.js:5
    import Shell from "gi://Shell";

EGO-A-001 manual_review

extension code must not be minified or obfuscated

File appears obfuscated: 59% of identifiers are 1–2 characters (avg length 3.3).

Code must not be obfuscated

  • lib/crypto/sha256.js
    short identifier ratio: 59%, identifiers scored: 138

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

  • lib/fsUtils.js:59
    file.load_contents(null)
  • lib/fsUtils.js:73
    file.load_contents(null)
  • lib/themePackRegistry.js:153
    file.load_contents(null)
  • lib/widgetCenterOverlay.js:906
    metadataFile.load_contents(null)
  • lib/widgetLoader.js:125
    metadataFile.load_contents(null)

EGO-A-004 warning

extension files should not contain excessive ungated console logging

File contains 7 ungated console.log/warn/error calls (threshold: 5).

No excessive logging

  • lib/globalScreenshotKeybinding.js:45
    console.error("[widget-center] global-screenshot: addKeybinding failed", e)
  • lib/globalScreenshotKeybinding.js:53
    console.error("[widget-center] global-screenshot: removeKeybinding failed", e)
  • lib/globalScreenshotKeybinding.js:61
    console.error("[widget-center] global-screenshot: could not list windows to minimize", e)
  • lib/globalScreenshotKeybinding.js:71
    console.error("[widget-center] global-screenshot: failed to minimize a window", e)
  • lib/globalScreenshotKeybinding.js:81
    console.error("[widget-center] global-screenshot: failed to restore a window", e)
  • lib/globalScreenshotKeybinding.js:95
    console.error("[widget-center] global-screenshot: capture flow failed", e)
  • lib/globalScreenshotKeybinding.js:112
    console.error("[widget-center] global-screenshot: could not launch the prefs app", e)

EGO-A-004 warning

extension files should not contain excessive ungated console logging

File contains 15 ungated console.log/warn/error calls (threshold: 5).

No excessive logging

  • lib/widgetCenterOverlay.js:80
    console.error("[widget-center] overlay: could not resolve settings schema", e)
  • lib/widgetCenterOverlay.js:115
    console.error("[widget-center] overlay: pushModal failed, continuing non-modal", e)
  • lib/widgetCenterOverlay.js:132
    console.error("[widget-center] overlay: popModal failed", e)
  • lib/widgetCenterOverlay.js:148
    console.error("[widget-center] overlay: addKeybinding failed", e)
  • lib/widgetCenterOverlay.js:156
    console.error("[widget-center] overlay: removeKeybinding failed", e)
  • lib/widgetCenterOverlay.js:167
    console.error("[widget-center] overlay: D-Bus export failed (.desktop launch won't work, shortcut still will)", e)
  • lib/widgetCenterOverlay.js:356
    console.error("[widget-center] overlay: injected widgetLoader.discover() failed, falling back", e)
  • lib/widgetCenterOverlay.js:512
    console.error("[widget-center] overlay: could not save active theme pack", e)
  • lib/widgetCenterOverlay.js:521
    console.error("[widget-center] overlay: could not clear active theme pack", e)
  • lib/widgetCenterOverlay.js:547
    console.error(`[widget-center] overlay: could not remove theme pack "${entry.id}"`, e)

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

  • i18n/de.js
  • i18n/en.js
  • i18n/es.js
  • i18n/ja.js
  • i18n/th.js
  • i18n/zh.js
  • lib/architectWidgetKit.js
  • lib/calendarGridKit.js
  • lib/halfCircleGaugeKit.js
  • lib/iconAccentColor.js
  • lib/mediaApi.js
  • lib/systemCalendarEvents.js
  • lib/systemMetricsApi.js
  • lib/utils.js
  • lib/widgetConfigDefaults.js
  • lib/widgetTooltip.js
  • widget-center-prefs-app.js
  • widgets/_architect_template_/child/widget.js
  • widgets/_architect_template_/widget.js
  • widgets/_template/widget.js

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:80
    this._monitors.connect((monitors, primaryIndex) => this._layer.reconcileMonitors(monitors, primaryIndex))

All Versions

Version Status
4 Unreviewed
3 Rejected
2 Rejected
1 Rejected

Previous Reviews on this Version

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