Review of "IP Indicator" version 1

Details Page Preview

A sleek, lightweight GNOME Shell extension to monitor and display your public IP address in the panel (using icanhazip.com). Features auto-refresh, customizable color themes, and manual updates. Crafted by VJECTS (vjects.com).

Extension Homepage
https://github.com/vjects/ip-indicator

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) warning 3

Shexli found 3 issues that may need reviewer attention.

EGO-P-006 warning

unnecessary build and translation artifacts should not be shipped

Compiled GSettings schemas should not be shipped for 45+ packages.

Don't include unnecessary files

  • schemas/gschemas.compiled
    schemas/gschemas.compiled

EGO-L-002 warning

objects created by extension should be destroyed in disable()

Objects assigned in `enable()` are missing matching `.destroy()` calls in `disable()` or its helper methods.

Destroy all objects

  • extension.js:16
            this._box = new St.BoxLayout({
                style_class: 'panel-status-menu-box',
            })
  • extension.js:21
            this._icon = new St.Icon({
                icon_name: 'network-wired-symbolic',
                style_class: 'system-status-icon',
                y_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:28
            this._label = new St.Label({
                text: 'Loading...',
                y_align: Clutter.ActorAlign.CENTER,
                style: 'font-weight: bold; margin-left: 6px; margin-right: 6px;'
            })
  • extension.js:35
            this._refreshButton = new St.Button({
                child: new St.Icon({
                    icon_name: 'view-refresh-symbolic',
                    style_class: 'system-status-icon',
                }),
                y_align: Clutter.ActorAlign.CENTER,
                style: 'margin-left: 2px;'
            })

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:44
    this._refreshButton.connect('clicked', () => this._updateIP())

All Versions

Version Status
2 Active
1 Rejected

Previous Reviews on this Version

JustPerfection rejected
1. Please add GitHub or GitLab repo url to the `metadata.json`: [EGO Review Guidelines: url](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#metadata-json-must-be-well-formed) 2. Please remove `schemas/gschemas.compiled`. Not needed for 45+ packages. 3. Use `connectObject()` and `disconnectObject()` so it is easier to track for cleanup. 4. Add to the description that this extension is using `icanhazip.com` services. 5. You cannot use `curl` and spawn command for getting the page content. Use `Soup` instead: [Port Guide 43: Soup](https://gjs.guide/extensions/upgrading/gnome-shell-43.html#soup3) You can also add `donations` to the `metadata.json`, so people can donate to you if they want: [Extension Anatomy: donations](https://gjs.guide/extensions/overview/anatomy.html#donations) If you need any help with your extension you can ask us on: - [GNOME Extensions Matrix Channel](https://matrix.to/#/#extensions:gnome.org) - IRC Bridge: irc://irc.gimpnet.org/shell-extensions
vjects posted a review
i don't know how to upload the fixed version but as you said i have made a new Repo for it on my Github. https://github.com/vjects/ip-indicator all changes you asked except donations and i don't need this one to have it.
JustPerfection posted a review
You can upload the same way you've uploaded the first one.