mirror of
https://github.com/JustArchiNET/ArchiSteamFarm.git
synced 2026-01-16 08:25:28 +00:00
Rewrite GitHub releases for ASF-ui
@JustArchiNET/asf-ui-dev Summary of changes:
Old:
- GET GitHub/Releases is rip (rewritten)
- GET GitHub/Releases/{version:required} is rip (renamed)
New:
- GET GitHub/Release, returns the most recent release (can be pre, can be stable)
- GET GitHub/Release/{version:required}, works like before, but also accepts "latest" as version for fetching latest stable release.
Expected usage:
- GET GitHub/Release for fetching most recent release
- If release equals user release, don't do anything more and save requests, display changelog
- Check if the release you fetched is stable, if yes, skip the extra request, otherwise, GET GitHub/Release/latest for latest stable.
- If stable release equals user's release, don't do anything more and save request, show both changelogs (pre and stable)
- Otherwise, decide if you want to also GET GitHub/Release/{userVersion} for that specific release.
Adapt appropriately for usage (I'd recommend to check if user has enabled pre-releases in the first place, because if he's on stable channel then likely you shouldn't display him pre-release changelogs at all, and skip the first request).
If in doubt, check swagger doc.
This commit is contained in:
@@ -58,19 +58,6 @@ namespace ArchiSteamFarm {
|
||||
return await GetReleaseFromURL(SharedInfo.GithubReleaseURL + "/tags/" + version).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
[ItemCanBeNull]
|
||||
internal static async Task<ImmutableList<ReleaseResponse>> GetReleases(byte count) {
|
||||
if (count == 0) {
|
||||
ASF.ArchiLogger.LogNullError(nameof(count));
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
string releaseURL = SharedInfo.GithubReleaseURL + "?per_page=" + count;
|
||||
|
||||
return await GetReleasesFromURL(releaseURL).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
private static MarkdownDocument ExtractChangelogFromBody(string markdownText) {
|
||||
if (string.IsNullOrEmpty(markdownText)) {
|
||||
ASF.ArchiLogger.LogNullError(nameof(markdownText));
|
||||
|
||||
Reference in New Issue
Block a user