Review of "Dynamic Music Pill" version 12

Details Page Preview

An elegant, pill-shaped music player for your desktop. Features a smooth audio visualizer, scrolling text, and seamless integration with Dash-to-Dock and the Top Panel. Comes with a Pop-Up menu as well.

Extension Homepage
https://github.com/Andbal23/dynamic-music-pill

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

Previous Reviews on this Version

JustPerfection rejected
1. Don't need to use any parameters for `this.getSettings()` since you already have that in `metadata.json`. 2. No need to use `this.initTranslation()` (line 3595 `extension.js`): > Consider this method deprecated. > Only specify gettext-domain in metadata.json. > GNOME Shell can automatically initiate the translation for you > when it sees the gettext-domain key in metadata.json. [Port Guide 45: Extension Utils](https://gjs.guide/extensions/upgrading/gnome-shell-45.html#extensionutils) 3. The default class you are exporting in `extension.js` is too large and that makes reviewing for the cleanup really hard. Please only hold the main logic there and move everything else to another class. 4. Please use `connectObject()` and `disconnectObject()` so it is easier to track for cleanup. 5. You don't have `this._tickId` in that class (line 720 `extension.js`). 6. You cannot call functions in global scope (line 48-49 `extension.js`): [EGO Review Guidelines: Initialization](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#only-use-initialization-for-static-resources) 7. `this._isDestroyed` is a bad practice. Please remove that. 8. Timeout should be removed on destroy and before creating a new one (line 330, 393, 1209, 1364, 2016 `extension.js`): [EGO Review Guidelines: Timeout](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#remove-main-loop-sources) 9. I recommend to use `onStopped` instead of `onComplete` for `ease`. 10. Remove all the unnecessary `=== 'function'` checks. 11. Remove all the unnecessary try-catch wrappers. You shouldn't use try-catch when nothing throws.