Review of "StatusDot" version 1

Details Page Preview

Know when your services break — without opening a dashboard. A colored dot in your panel is all you need.

Extension Homepage
https://github.com/enrialonso/statusdot

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)

Shexli did not find any issues.

All Versions

Version Status
2 Unreviewed
1 Rejected

Previous Reviews on this Version

proclamer posted a review
a review pls!
JustPerfection rejected
1. Timeout should be removed before creating a new one (line 1065 `extension.js`). 2. Use icons instead of emjoi: [Extension Best Practices Guidelines: Icons vs. Emojis](https://gjs.guide/extensions/review-guidelines/best-practices.html#ui-elements-icons-vs-emojis) 3. Please note, we have rules for AI generated extensions: - [EGO Review Guidelines: AI](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#extensions-must-not-be-ai-generated) - [Extensions Best Practices Guidelines](https://gjs.guide/extensions/review-guidelines/best-practices.html#submissions-require-maintainership) 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
proclamer posted a review
Hi, thanks for the review. 1. Timeouts: fixed. Every `GLib.timeout_add*` now removes the previous source first if one is still set. Both timers (polling and the spinner) are also removed in `disable()`. 2. Icons: fixed. All the Unicode glyphs are now `St.Icon` (system icons or my own SVGs), the status dots are `St.Widget` + CSS, and loading uses `Animation.Spinner`. 3. AI: I used AI tools to help write parts of the code, but I designed the extension and know how it works. For example: - The panel is a custom `St.BoxLayout` in `uiGroup`, closed by a full-stage overlay or by Escape. I didn't use `pushModal` because the `PanelMenu.Button` already holds a grab. - All network access goes through one `fetchStatus()` with a shared `Soup.Session`, aborted in `disable()`. The UI only gets normalized data. - `providers-data.js` has no GI imports, so `prefs.js` can import it safely. The code is at https://github.com/enrialonso/statusdot, with lint, tests and shexli in CI. I'll maintain it there. Let me know if anything else needs changing.