Review of "My Vision" version 6

Details Page Preview

MyVision is a fork of Display Configuration Switcher that has been thoughtfully and substantially enhanced. It allows users to store profiles that are directly bound to specific display devices. This approach eliminates the need for redundant profiles in scenarios where video outputs are detected or ordered unpredictably.

Extension Homepage
https://github.com/tomasmark79/my-vision

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
11 Active
10 Active
9 Active
8 Rejected
7 Rejected
6 Rejected
5 Rejected
4 Rejected
3 Rejected
2 Rejected
1 Rejected

Previous Reviews on this Version

JustPerfection waiting for author
What's the reason for `DisplayConfigSwitcher._destroyed`?
JustPerfection rejected
Also, you shouldn't remove the copyright notice from the original developer.
DotName posted a review
The _destroyed flag prevents the async _initProxy() method from setting up signal handlers after the extension has been disabled and disconnectSignals() was called, avoiding race conditions.
JustPerfection posted a review
1. The instance should be null out after it is getting destroyed. So, on `DisplayConfigQuickMenuToggle.destroy()` you should do this after line 88 `extension.js`: ```js this._displayConfigSwitcher = null; ``` 2. Each class should be responsible for what it does. You shouldn't connect out side. For example, line 40 `extension.js` is a bad practice which can cause racy conditions. Especially, when you are not disconnecting the signal on destroy. 3. Instead of using using `disconnectSignals` in line 24 `dbus.js`, it's better to use `destroy()`. That way, it is much more visible to the outer class, that is going to destroy the instance and it is not usable anymore.