[App] Bypass version cache when creating new instances#6681
Open
isXander wants to merge 2 commits into
Open
Conversation
Member
Pull request changelogAppAddedChangedDeprecatedRemovedFixedSecurityWebsiteAddedChangedDeprecatedRemovedFixedSecurityHostingAddedChangedDeprecatedRemovedFixedSecurity |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why?
When a new Minecraft version comes out, whether that's a snapshot or a full release, there is always an influx of users in #modrinth discord asking why it hasn't appeared in the Modrinth app yet. The answer to this is convoluted ways of manually clearing the cache.
What?
This PR makes only the new instance creation modal bypass this cache, allowing users to get up-to-date version information, so they can play new versions straight away.
I also extended this to loader versions too, because why not!
How?
There is already infrastructure in the theseus backend to bypass cache, but the glue code to the frontend did not allow configuring the cache behaviour.
To avoid blocking the UI, the cache is initially served to the modal, while a bypassed read is fired-and-forgotten. This request is so small and fast it is completed on any viable internet connection before the user has a chance to open a drop-down that may close itself on state update.
Tested.
Removed 26.2 from the database; opened Modrinth App; create new instance; 26.2 appears.