Bluetooth battery indicator
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
| Version | Status |
|---|---|
| 43 | Active |
| 42 | Active |
| 41 | Active |
| 40 | Rejected |
| 39 | Active |
| 38 | Active |
| 37 | Inactive |
| 36 | Rejected |
| 35 | Rejected |
| 34 | Active |
| 33 | Active |
| 32 | Active |
| 31 | Active |
| 30 | Active |
| 29 | Active |
| 28 | Active |
| 27 | Active |
| 26 | Active |
| 25 | Active |
| 24 | Active |
| 23 | Active |
| 22 | Active |
| 21 | Active |
| 20 | Rejected |
| 19 | Active |
| 18 | Active |
| 17 | Active |
| 16 | Active |
| 15 | Rejected |
| 14 | Active |
| 13 | Active |
| 12 | Rejected |
| 11 | Active |
| 10 | Active |
| 9 | Inactive |
| 8 | Inactive |
| 7 | Rejected |
| 6 | Inactive |
| 5 | Rejected |
| 4 | Rejected |
| 3 | Rejected |
| 2 | Rejected |
| 1 | Rejected |
On line #36 of extension.js you add an idle source which in turn adds a timeout source at line #53. Since `_runLoop()` returns `undefined` the source id assigned to `this._loop` at line #36 is already removed, while at each iteration a new source is added at line #53 and the source id is leaked. You should either re-assign the `this._loop` variable at line #53, or ensure the source is removed some other way when your extension is disabled. On line #107 of extension.js you are leaking file descriptors. You must take ownership of all returned file descriptors and close them if you're using `GLib.spawn_async_with_pipes()`. It much safer and preferrable to use GSubprocess for use-cases like this (See: https://www.andyholmes.ca/articles/subprocesses-in-gjs.html for examples). Additionally you should probably just be calling `GLib.find_program_in_path()` (https://gjs-docs.gnome.org/glib20/glib.find_program_in_path) rather than spawning a process to see if it exists. Please fix these problems so your extension can be approved.