Control your air conditioner from Quick Settings: power, temperature, mode, fan, air direction, timers and sensors, with a live animation of what the unit is doing. Works with LG ThinQ units (official ThinQ Connect API) and with any brand exposed as a climate entity in Home Assistant (Samsung, Midea, Gree, Daikin, Tuya and others). Access tokens are stored in the GNOME Keyring. The extension talks only to the LG ThinQ cloud or to your Home Assistant server.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
EGO-A-001 manual_review
extension code must not be minified or obfuscated
File appears obfuscated: 82% of identifiers are 1–2 characters (avg length 3.3).
lib/labels.js
short identifier ratio: 82%, identifiers scored: 55
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.
extension.js:68
this._dynamic = new PopupMenu.PopupMenuSection()
extension.js:60
this._message = new PopupMenu.PopupMenuItem('', {reactive: false, style_class: 'brisa-message'})
extension.js:63
this._setupItem = new PopupMenu.PopupMenuItem(_('Set up connection…'))
EGO-L-001 warning
extension must not create GObject instances or modify shell before enable()
Resource creation or signal/source setup was found outside `enable()`.
Only use initialization for static resources
lib/secret.js:8
new Secret.Schema('io.github.lciarallo.Brisa', Secret.SchemaFlags.NONE, {
provider: Secret.SchemaAttributeType.STRING,
})
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`.
extension.js:68
this._dynamic = new PopupMenu.PopupMenuSection()
extension.js:60
this._message = new PopupMenu.PopupMenuItem('', {reactive: false, style_class: 'brisa-message'})
extension.js:63
this._setupItem = new PopupMenu.PopupMenuItem(_('Set up connection…'))
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.
extension.js:410
this._pollId = GLib.timeout_add_seconds(GLib.PRIORITY_DEFAULT,
this._settings.get_uint('poll-interval'), () => {
this.refresh();
return GLib.SOURCE_CONTINUE;
})
| Version | Status |
|---|---|
| 2 | Unreviewed |
| 1 | Rejected |
Didn't review since shexli issues need to be fixed first. Also please note, we have a rule for AI: - [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)