From 3b82187824ee69834a27fee850a6591f63f1b1dd Mon Sep 17 00:00:00 2001 From: JustArchi Date: Fri, 21 Sep 2018 03:29:54 +0200 Subject: [PATCH] Add changelog during update Thanks @Abrynos --- ArchiSteamFarm/ASF.cs | 8 ++++++++ ArchiSteamFarm/IPC/Controllers/Api/WWWController.cs | 2 +- ArchiSteamFarm/Json/GitHub.cs | 3 +++ ArchiSteamFarm/Localization/Strings.Designer.cs | 10 ++++++++++ ArchiSteamFarm/Localization/Strings.resx | 5 +++++ ArchiSteamFarm/Utilities.cs | 3 ++- 6 files changed, 29 insertions(+), 2 deletions(-) diff --git a/ArchiSteamFarm/ASF.cs b/ArchiSteamFarm/ASF.cs index 9168ff7e5..eebe05a30 100644 --- a/ArchiSteamFarm/ASF.cs +++ b/ArchiSteamFarm/ASF.cs @@ -197,6 +197,14 @@ namespace ArchiSteamFarm { return null; } + if (!string.IsNullOrEmpty(releaseResponse.ReleaseNotesInMarkdown)) { + string plainText = Utilities.MarkdownToText(releaseResponse.ReleaseNotesInMarkdown); + + if (!string.IsNullOrEmpty(plainText)) { + ArchiLogger.LogGenericInfo(string.Format(Strings.UpdateChangelog, plainText)); + } + } + ArchiLogger.LogGenericInfo(string.Format(Strings.UpdateDownloadingNewVersion, newVersion, binaryAsset.Size / 1024 / 1024)); WebBrowser.BinaryResponse response = await Program.WebBrowser.UrlGetToBinaryWithProgress(binaryAsset.DownloadURL).ConfigureAwait(false); diff --git a/ArchiSteamFarm/IPC/Controllers/Api/WWWController.cs b/ArchiSteamFarm/IPC/Controllers/Api/WWWController.cs index dd392ece9..c265e6982 100644 --- a/ArchiSteamFarm/IPC/Controllers/Api/WWWController.cs +++ b/ArchiSteamFarm/IPC/Controllers/Api/WWWController.cs @@ -63,7 +63,7 @@ namespace ArchiSteamFarm.IPC.Controllers.Api { return BadRequest(new GenericResponse(false, string.Format(Strings.ErrorIsEmpty, nameof(text)))); } - return Ok(new GenericResponse(ArchiSteamFarm.Utilities.MarkdownToText(text))); + return Ok(new GenericResponse(Utilities.MarkdownToText(text))); } [HttpPost("Send")] diff --git a/ArchiSteamFarm/Json/GitHub.cs b/ArchiSteamFarm/Json/GitHub.cs index bfdbd6ac1..b5d121efe 100644 --- a/ArchiSteamFarm/Json/GitHub.cs +++ b/ArchiSteamFarm/Json/GitHub.cs @@ -30,6 +30,9 @@ namespace ArchiSteamFarm.JSON { [JsonProperty(PropertyName = "assets", Required = Required.Always)] internal readonly HashSet Assets; + [JsonProperty(PropertyName = "body", Required = Required.Always)] + internal readonly string ReleaseNotesInMarkdown; + [JsonProperty(PropertyName = "tag_name", Required = Required.Always)] internal readonly string Tag; diff --git a/ArchiSteamFarm/Localization/Strings.Designer.cs b/ArchiSteamFarm/Localization/Strings.Designer.cs index f5d5e4cf2..eba9a490a 100644 --- a/ArchiSteamFarm/Localization/Strings.Designer.cs +++ b/ArchiSteamFarm/Localization/Strings.Designer.cs @@ -1251,6 +1251,16 @@ namespace ArchiSteamFarm.Localization { } } + /// + /// Wyszukuje zlokalizowany ciąg podobny do ciągu Changelog: + ///{0}. + /// + internal static string UpdateChangelog { + get { + return ResourceManager.GetString("UpdateChangelog", resourceCulture); + } + } + /// /// Wyszukuje zlokalizowany ciąg podobny do ciągu Checking for new version.... /// diff --git a/ArchiSteamFarm/Localization/Strings.resx b/ArchiSteamFarm/Localization/Strings.resx index 463ceb8f4..13fbb008f 100644 --- a/ArchiSteamFarm/Localization/Strings.resx +++ b/ArchiSteamFarm/Localization/Strings.resx @@ -658,4 +658,9 @@ StackTrace: Workaround for {0} bug has been triggered. {0} will be replaced by the bug's name provided by ASF + + Changelog: +{0} + {0} will be replaced by complete changelog text from GitHub (in english). Please note that this string should include newlines for formatting. + \ No newline at end of file diff --git a/ArchiSteamFarm/Utilities.cs b/ArchiSteamFarm/Utilities.cs index 8b81081d7..e86d8bbb1 100644 --- a/ArchiSteamFarm/Utilities.cs +++ b/ArchiSteamFarm/Utilities.cs @@ -30,6 +30,7 @@ using System.Threading; using System.Threading.Tasks; using Humanizer; using Humanizer.Localisation; +using Markdig; namespace ArchiSteamFarm { internal static class Utilities { @@ -183,7 +184,7 @@ namespace ArchiSteamFarm { return null; } - string plainText = Markdig.Markdown.ToPlainText(markdownText); + string plainText = Markdown.ToPlainText(markdownText); if (plainText == null) { ASF.ArchiLogger.LogNullError(nameof(plainText)); return null;