Review of "Argos" version 4

Details Page Preview

Create GNOME Shell extensions in seconds

Extension Homepage
https://github.com/p-e-w/argos

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
4 Rejected
3 Active
2 Active
1 Active

Previous Reviews on this Version

JustPerfection rejected
1. Rejected because line 28 to 58 (extension.js) has spawn command and `Gio.File` in init function: https://gjs.guide/extensions/review-guidelines/review-guidelines.html#only-use-init-for-initialization 2. If you want to show welcome message use `Main.notify()` instead of using spawn command: https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/84cfab21192dd2c3fa131ed57f788df12f0842bf/js/ui/main.js#L483-494 3. Lang is a deprecated module. Please remove it for the next version: https://gjs.guide/extensions/review-guidelines/review-guidelines.html#general-advice Learn how to remove Lang from your code: https://gjs.guide/guides/gjs/legacy-class-syntax.html 4. What are the possible values for `activeLine.bash` (line 61) and `activeLine.eval` (line 51) in menuitem.js? 5. Multi versioning is supported here, so you can remove old `shell-version`s from metadata.json. If you need any help with your extension you can ask us on: - [GNOME Matrix Channel](https://matrix.to/#/#extensions:gnome.org) - IRC Bridge: irc://irc.gimpnet.org/shell-extensions
pew posted a review
> 1. Rejected because line 28 to 58 (extension.js) has spawn command and `Gio.File` in init function That's in line with https://gjs.guide/extensions/review-guidelines/review-guidelines.html#only-use-init-for-initialization, which states: "As a rule, init() should ONLY be used for operations that can only be done once and can not be undone." The logic in question creates a "greeter" script so that the user has something to work with when the extension is freshly installed. That's a one-time operation and cannot be "undone" (well, other than by deleting the script file, but that might destroy the user's work). What's the solution here? Where should this code go instead? > 2. If you want to show welcome message use `Main.notify()` instead of using spawn command I don't want to show a welcome message, I want to create a "welcome script" which needs to be a file on disk for the reasons described above. > 3. Lang is a deprecated module. Please remove it for the next version Sure, provided that it is possible to do so without breaking compatibility with older Shell versions such as 3.26. > 4. What are the possible values for `activeLine.bash` (line 61) and `activeLine.eval` (line 51) in menuitem.js? See https://github.com/p-e-w/argos#actions. > 5. Multi versioning is supported here, so you can remove old `shell-version`s from metadata.json. But I want users of older Shell versions to get the latest Argos version as well. Or am I misunderstanding what you mean?
JustPerfection posted a review
We had a discussion about this extension on GNOME Matrix channel, # 1 We think it can be approved but I think it's better to create an "executable"`argos.sh` file in your extension package and copy that to config folder when it doesn't exist. It means you don't need to do spawn command for `chmod +x`. # 3 It should be safe to drop 3.30 and lower. # 4 We are still not sure what the eval option guarantees for features. As suggested on GNOME Matrix channel, ` const jsFunc = new Function(jsSource);` is an alternative. # 5 It's just a recommendation. It means you can post two packages. - One with `"3.26", "3.38", ..., "3.38"`. - One with `"40", "41", "42"`. and users will get their own supported versions. Your can read our discussion on: - [GNOME Matrix Channel](https://matrix.to/#/#extensions:gnome.org) - IRC Bridge: irc://irc.gimpnet.org/shell-extensions