Review of "ClipMaster" version 7

Details Page Preview

ClipMaster is a clipboard manager with history, image support, favorites, and optional themes. Follows system dark/light preference by default. Clipboard history (text, images, files, URLs) Follows system dark/light theme by default Optional themes: Adwaita, Catppuccin, Dracula, Nord, Gruvbox, etc. Search, favorites, custom lists Encrypted local storage Works on Wayland and X11

Extension Homepage
https://github.com/sfnemis/ClipMaster

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.2.2 (11) Active
1.2.2 (10) Rejected
1.2.1 (9) Rejected
8 Rejected
7 Rejected
6 Rejected
5 Rejected
4 Rejected
3 Rejected
2 Rejected
1 Rejected

Previous Reviews on this Version

JustPerfection rejected
1. Please remove `schemas/gschemas.compiled`. Not needed for 45+ packages. 2. Move `assets/stylesheet.css` to the root folder of the extension. 3. Remove line 154-173 `extension.js`. Not needed. 4. You are using many try-catch wrappers while the code inside won't throw. Please remove all of the unnecessary try-catch wrappers. 5. That can be faulty if you don't send any value for `id` and the timeout never gets removed (line 77 `src/Util/Utils.js`). 6. Please use aysnc for reading file content since you are in shell process: - line 84 `src/Util/Utils.js` - line 412, 515, 694, 735 `src/Manager/ClipboardMonitor.js` [Gio.File.load_contents_async](https://gjs-docs.gnome.org/gio20~2.0/gio.file#method-load_contents_async) 7. Use `console.*` instead of `log()`. Logs should be only available on debug mode. For debug use `console.debug()` instead of `console.log()`: [Port Guide 45: Logging](https://gjs.guide/extensions/upgrading/gnome-shell-45.html#logging) 8. What's the reason for checking with `isDestroyed`? The instance is should be fully destroyed after you destroy it and don't access it anymore. 9. What's the reason for spawn command (line 477-483, 837 `src/Manager/ClipboardMonitor.js`)? Extensions shouldn't use spawn command for clipboard. 10. You should never expose the user's clipboard to the log (line 233-234, 267-268 `src/Manager/ClipboardMonitor.js`). 11. Avoid making the default class you are exporting in `extension.js` and `prefs.js` large. Those classes 12. Remove line 358-367 `extension.js`. You have `this.openPreferences()` and shouldn't use spawn command to open the prefs. 13. Timeout should be removed on destroy and before creating a new one (line 998, 1006 `extension.js`): [EGO Review Guidelines: Timeout](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#remove-main-loop-sources) 14. Avoid sending large diff package. It takes so much time to review and it is really hard to review. 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