Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Discussion] Increment mod sub-version #79

Open
Oricul opened this issue Jul 13, 2023 · 2 comments
Open

[Discussion] Increment mod sub-version #79

Oricul opened this issue Jul 13, 2023 · 2 comments

Comments

@Oricul
Copy link
Contributor

Oricul commented Jul 13, 2023

It was noted by @blobcat@kbin.social here that version increments cause updates for users despite no update coming from the primary script. From looking at the commits, it appears this was done when a mod was updated.

My guess is that this is done to force re-cache of modified mods. Is there perhaps another way to go about this so that it's more visible to users from their respective user script managers? Perhaps require a version number in the mod name that also gets incremented? In this manner, KES.user.js would also show a mod version increase.

@Oricul Oricul added the bug Something isn't working label Jul 13, 2023
@aclist
Copy link
Owner

aclist commented Jul 13, 2023

I think there was some misunderstanding about this. Your surmises are correct. My reply follows:

This is done to force re-cache of the new version of a userscript when it gets added as a feature. MINOR version bumps indicate addition of a mod (userscript) or internal feature, while PATCH version bumps indicate a hotfix. By design in GM, when the version number of the main script is bumped, it will redownload the requisite remote resources. We leverage this functionality to serve new files.

This should partially be rectified by the addition of the changelog link (flask icon) in 1.2.0.

When new mods are added to KES, they are integration tested, so bumping the MINOR version does imply some change to the KES interaction itself, albeit not necessarily at the code level.

The userscripts are not updated separately, they are cached once per KES version download. Hope this makes sense.

I added the requested changelog feature in 1.2.0 that links back to the changelog and shows what was added.

We can increment version numbers in the mods in the manifest internally and display them as a line item in the settings, but by design, users wouldn't have multiple userscripts "in their manager" per se, they would just have KES. Downloading new mods doesn't atomically add them to the GM extension at a user-facing level unless you dig through the "externals" or "requires" tabs buried deep within those apps.

Does this seem like it would be useful to users?

Author: you
Version: 0.1.0
Description: foo

Can users reasonably be expected to keep track of these version numbers in their heads?

If we wanted to be utterly insane about it, we could label which pages/items are "NEW", but I think respecting the KISS principle is reasonable here, and presumably you wouldn't have constant hotfixes after a certain point of stability. We can also use the regular thread channels for notifications.

@aclist aclist added framework and removed bug Something isn't working labels Jul 13, 2023
@aclist aclist changed the title [Discussion] Version Increments [Discussion] Increment mod sub-version Jul 14, 2023
@aclist
Copy link
Owner

aclist commented Jul 22, 2023

Currently the mod sub-version is difficult to update at the manifest level due to the small security changes and rolling updates that authors incorporate into their mods. Possibly this could be automated to populate the manifest with the version listed in the mod.user.js file, but a more underlying issue is that atomic mods may not adhere to a discrete versioning scheme, or dropped altogether.

@aclist aclist modified the milestones: 2.2.0, 2.3.0 Jul 28, 2023
@aclist aclist removed this from the 2.3.0 milestone Dec 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants