Review of "GNOME Speech2Text" version 1.0.0 (4)

Details Page Preview

This extension adds speech to text (dictation) to the GNOME Shell using OpenAI’s Whisper automatic speech recognition model. The extension captures audio, runs transcription locally, and copies the transcribed text into your clipboard. It requires installing a companion D-Bus service (installer included). This extension accesses the clipboard to copy transcribed text.

Extension Homepage
https://github.com/kavehtehrani/gnome-speech2text/

No comments.

Diff Against

Files

Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.

All Versions

Version Status
1.1 (8) Unreviewed
1.0.4 (7) Active
1.0.0 (6) Active
1.0.0 (5) Rejected
1.0.0 (4) Rejected
1.0.0 (3) Rejected
2 Rejected
1 Rejected

Previous Reviews on this Version

kwar13 posted a review
Thanks a lot for the great feedback again. I believe I addressed all the issues. The most extensive change is the removal of the python code and now including a install-service.sh file that would run the first time the user activates the extension. Per the guidelines, the service has been moved to a pypi package and will be installed from https://pypi.org/project/gnome-speech2text-service/ if the user would like and agrees to the automatic installation. There is also a manual installation script provided on github should the user choose to do that instead. There was also a small issue that was crashing the extension on GNOME 48 because of the Cursor theme. So there's a little bit of code to make sure the extension does not crash on v48. I've tested the extension extensively on x11 and wayland, on Ubuntu 24.04 and 25.04 on both GNOME 46 and 48. Happy to incorporate any further comment! Thanks, Kaveh
JustPerfection rejected
1. Simply null out instead (line 773 `extension.js`). 2. That's a bad practice (line 162 and 243 `extension.js`). Your extension is either enabled or disabled. On disable it should clean up like it was never loaded. 3. Making the default class you are exporting in `extension.js` that large is making the clean up and review process really hard. 4. You should remove the timeout before creating a new one: - line 57 `lib/shortcutCapture.js` - line 544 `lib/setupDialog.js` - line 46 `lib/settingsDialog.js` - line 429, 478, 735 `lib/recordingDialog.js` 5. Need to call `cleanup()` on disable (line 265 `extension.js`). 6. Please follow our rules for clipboard: [EGO Review Guidelines: Clipboard](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#clipboard-access-must-be-declared) 7. Don't use `chmod` (line 493 `lib/setupDialog.js`). Just post the executable `.sh` file in the package. 8. The installation script file contains `sudo` and we really try to avoid that in extensions. Also, that's just for Ubuntu. We have many distros with different package managers.