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

Make use of incompatibilities specified for versions and files #399

Open
crusher42 opened this issue Jan 28, 2024 · 6 comments
Open

Make use of incompatibilities specified for versions and files #399

crusher42 opened this issue Jan 28, 2024 · 6 comments
Labels
enhancement Improvements to the project

Comments

@crusher42
Copy link

The Problem

Doesn't check if ithe required mod version safe to update

Your Solution(s)

Check mod A required mod B with a specific version not great then a specific version! If so don't upgrade or do downgrade

@crusher42 crusher42 added the enhancement Improvements to the project label Jan 28, 2024
@theRookieCoder
Copy link
Collaborator

theRookieCoder commented Jan 28, 2024

Sorry I didn't really understand, could you provide an example?

@crusher42
Copy link
Author

"For instance, Sodium Extra 0.5.4 for Minecraft 1.20.1 mandates Sodium version not exceeding 0.5.6. If Sodium is upgraded beyond 0.5.6 or if there is no update, loading Sodium Extra 0.5.4 will result in the game not loading."

@theRookieCoder
Copy link
Collaborator

Ah I get it. The problem is this type of information is usually included in the mod's manifest files (e.g. fabric.mod.json) which is only available after downloading the mod file. This is not feasible since it would require downloading mod files (which can be very large) for every version checked.

@crusher42
Copy link
Author

crusher42 commented Jan 30, 2024

Some times it can be fetched from the site,
Maybe a database or json file with that info generated over time As you said don't know until it's downloaded

Maybe a part of your GitHub so the client software that reports that info on a op-in

@theRookieCoder
Copy link
Collaborator

Some times it can be fetched from the site

Hmm yes, sometimes incompatibilities are listed alongside dependencies on the website, but these are rarely maintained properly. I will keep this issues to track implementation of that, but it won't be a high priority of mine because of the reason I mentioned above.
The other two solution are too ambitious in my opinion.

@theRookieCoder theRookieCoder changed the title More dependency version check before updating Make use of incompatibilities specifications on versions/files Feb 1, 2024
@theRookieCoder theRookieCoder changed the title Make use of incompatibilities specifications on versions/files Make use of incompatibilities specified for versions and files Feb 1, 2024
@FrankR-7
Copy link

FrankR-7 commented Feb 6, 2024

Sodium has my Fabric install broken atm too. I have two suggestions for a solution:
First (easy): Add a ferium revert command that pulls any mods replaced in the last ferium upgrade call from the .old folder back into the mods folder.
Second (harder): is for ferium to still download the latest compatible version of a mod, check for dependencies and mod incompatibilities and if it's incompatible with any mods already in the profile, install the latest (really) compatible version (if not installed already) and then prompt the user to a) keep the latest (incompatible) version of the mod until the incompatible mods update to support it (essentially creating a cache so that the new mod doesn't need to be downloaded again in the next update) or b) deleting the incompatible version and in both cases exit with a warning. Bindings in the config file could be added to default error, default cache or default delete.
Might get my coding skills a wipe and see if I can implement any of these myself.
Edit: I don't know Rust lmao

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improvements to the project
Development

No branches or pull requests

3 participants