-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Allow rulesets to specify a SimpleUpdateManager so they could announce updates #24485
base: master
Are you sure you want to change the base?
Conversation
The first step in allowing rulesets to use the same GitHub update mechanism as an interim remedy to providing timely updates to players.
The idea is nice but the more rulesets implementing this you have - the faster you will be rate-limited by the github. I encountered this issue while trying to implement somewhat similar functionality for my Sandbox ruleset. |
Good point about rate limit consideration. I haven't looked into the rate limits, but I didn't think it was that low (assuming a reasonable number of rulesets) I can't exactly find any numbers in relation to rest api limit, but I may have been looking in the wrong place. |
Something something 50 per hour per user |
I don't think it would be a significant problem for most users in a practical sense. (though I do acknowledge a little bit of margin is nice) We could cut out a fair bit of calls by using a "last-check time" comparison. On debug/non-deploy builds of lazer, it doesn't check for updates, so devs in theory shouldnt hit the limit either. In the event that the limit is reached, it'll resolve itself within an hour, and the user wouldn't even notice(unless they are expecting updates on n start of lazer) |
Yeah, I'm not saying the idea is bad, just something to be aware of. |
Why does the example implementation of a ruleset updater provided in the OP "incorrectly" inherit from |
Oof that is a mistake from being not reading intellisense properly |
Nice idea! But i'm wondering:
|
|
Depends on #24484
The updating process is handled via
RulesetUpdater
which loads all of the updaters specified by non-legacy rulesets (if they do specify any)Ideally the rulesets should create their own implementation of a
SimpleUpdateManager
, however atm there is nothing stopping rulesets from incorrectly usingSimpleGameUpdateManager
(they should possibly be internal instead).There is currently no mechanism to check if the ruleset itself is targeting a later version of lazer.
An example of a ruleset side implementation of the UpdateManager: https://github.com/LumpBloom7/sentakki/blob/UpdateManager-test/osu.Game.Rulesets.Sentakki/SentakkiUpdateManager.cs