Review of "Extensions Sync" version 1

Details Page Preview

Sync all extensions and their configurations across all gnome instances

Extension Homepage
https://github.com/richardnpaul/gnome-shell-extensions-sync

No comments.

FAQ

Files

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

Shexli (experimental) error 1 warning 2

Shexli found 3 issues that may need reviewer attention.

EGO-P-006 warning

unnecessary build and translation artifacts should not be shipped

Compiled GSettings schemas should not be shipped for 45+ packages.

Don't include unnecessary files

  • schemas/gschemas.compiled
    schemas/gschemas.compiled

EGO-L-001 warning

extension must not create GObject instances or modify shell before enable()

Resource creation or signal/source setup was found outside `enable()`.

Only use initialization for static resources

  • extension.js:378
    new Secret.Schema('org.gnome.shell.extensions.extensions-sync.Credentials', Secret.SchemaFlags.NONE, {
        provider: Secret.SchemaAttributeType.STRING,
        type: Secret.SchemaAttributeType.STRING,
    })

EGO-M-004 error

metadata shell-version must only include plausible stable releases and at most one development release

Field `shell-version` contains invalid values, more than one development release, or implausible future releases.

metadata.json must be well-formed

  • metadata.json
    shell-version=['47', '48', '49', '50', '51']

All Versions

Version Status
2 Unreviewed
1 Unreviewed

Previous Reviews on this Version

richardnpaul posted a review
This should be auto-rejected because there's a second version for review and then there's the shexli issues and the manifest issues. This is a revival of the extension of the same name which is no longer supported on more recent/modern versions of Gnome and where the original author has archived the Github repository. I have (using AI, though if I had really wanted to I could have spent far longer, and to a far worse quality because my JS/TS programming is limited to a year or so of hands on time) significantly updated the extension. I have improved the security posture, not storing the tokens in gsettings, I've added a lot of language support, update dependencies and I introduced testing and drove test coverage up to 100% with 100% mutation coverage. I have also tried to meet the requirements in the gjs guide and pass the shexli (I have a CI/CD job for checking this and future submissions will be going through that process.)