From 361a3ff92c8fe0f500f5a88506aed84b681c85d0 Mon Sep 17 00:00:00 2001 From: Cyberboss Date: Mon, 20 Aug 2018 12:23:23 -0400 Subject: [PATCH] Fix for badly configured upstream repo ID --- .../Controllers/AdministrationController.cs | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/Tgstation.Server.Host/Controllers/AdministrationController.cs b/src/Tgstation.Server.Host/Controllers/AdministrationController.cs index 3c438ca6d1..a9c21a8d08 100644 --- a/src/Tgstation.Server.Host/Controllers/AdministrationController.cs +++ b/src/Tgstation.Server.Host/Controllers/AdministrationController.cs @@ -92,19 +92,28 @@ namespace Tgstation.Server.Host.Controllers { try { - var repositoryTask = gitHubClient.Repository.Get(updatesConfiguration.GitHubRepositoryId); - var releases = (await gitHubClient.Repository.Release.GetAll(updatesConfiguration.GitHubRepositoryId).ConfigureAwait(false)).Where(x => x.TagName.StartsWith(updatesConfiguration.GitTagPrefix, StringComparison.InvariantCulture)); - Version greatestVersion = null; - foreach (var I in releases) - if (Version.TryParse(I.TagName.Replace(updatesConfiguration.GitTagPrefix, String.Empty, StringComparison.Ordinal), out var version) - && version.Major == application.Version.Major - && (greatestVersion == null || version > greatestVersion)) - greatestVersion = version; + Uri repoUrl = null; + try + { + var repositoryTask = gitHubClient.Repository.Get(updatesConfiguration.GitHubRepositoryId); + var releases = (await gitHubClient.Repository.Release.GetAll(updatesConfiguration.GitHubRepositoryId).ConfigureAwait(false)).Where(x => x.TagName.StartsWith(updatesConfiguration.GitTagPrefix, StringComparison.InvariantCulture)); + + foreach (var I in releases) + if (Version.TryParse(I.TagName.Replace(updatesConfiguration.GitTagPrefix, String.Empty, StringComparison.Ordinal), out var version) + && version.Major == application.Version.Major + && (greatestVersion == null || version > greatestVersion)) + greatestVersion = version; + repoUrl = new Uri((await repositoryTask.ConfigureAwait(false)).HtmlUrl); + } + catch (NotFoundException e) + { + Logger.LogWarning("Not found exception while retrieving upstream repository info: {0}", e); + } return Json(new Administration { LatestVersion = greatestVersion, - TrackedRepositoryUrl = new Uri((await repositoryTask.ConfigureAwait(false)).HtmlUrl), + TrackedRepositoryUrl = repoUrl, WindowsHost = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) }); }