diff --git a/src/Tgstation.Server.Host.Service/Tgstation.Server.Host.Service.csproj b/src/Tgstation.Server.Host.Service/Tgstation.Server.Host.Service.csproj index 7c5cbc25fd..bd59f9ea73 100644 --- a/src/Tgstation.Server.Host.Service/Tgstation.Server.Host.Service.csproj +++ b/src/Tgstation.Server.Host.Service/Tgstation.Server.Host.Service.csproj @@ -17,7 +17,7 @@ - + diff --git a/src/Tgstation.Server.Host/.config/dotnet-tools.json b/src/Tgstation.Server.Host/.config/dotnet-tools.json index 236008e3ee..c418dc80b9 100644 --- a/src/Tgstation.Server.Host/.config/dotnet-tools.json +++ b/src/Tgstation.Server.Host/.config/dotnet-tools.json @@ -3,7 +3,7 @@ "isRoot": true, "tools": { "dotnet-ef": { - "version": "7.0.10", + "version": "7.0.11", "commands": [ "dotnet-ef" ] diff --git a/src/Tgstation.Server.Host/Controllers/ControlPanelController.cs b/src/Tgstation.Server.Host/Controllers/ControlPanelController.cs index c062420b68..c1f35f87e5 100644 --- a/src/Tgstation.Server.Host/Controllers/ControlPanelController.cs +++ b/src/Tgstation.Server.Host/Controllers/ControlPanelController.cs @@ -8,6 +8,7 @@ using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Filters; using Microsoft.AspNetCore.StaticFiles; +using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Microsoft.Extensions.Primitives; using Microsoft.Net.Http.Headers; @@ -39,6 +40,11 @@ namespace Tgstation.Server.Host.Controllers /// readonly IWebHostEnvironment hostEnvironment; + /// + /// The for the . + /// + readonly ILogger logger; + /// /// The for the . /// @@ -49,10 +55,15 @@ namespace Tgstation.Server.Host.Controllers /// /// The value of . /// The containing the value of . - public ControlPanelController(IWebHostEnvironment hostEnvironment, IOptions controlPanelConfigurationOptions) + /// The value of . + public ControlPanelController( + IWebHostEnvironment hostEnvironment, + IOptions controlPanelConfigurationOptions, + ILogger logger) { this.hostEnvironment = hostEnvironment ?? throw new ArgumentNullException(nameof(hostEnvironment)); controlPanelConfiguration = controlPanelConfigurationOptions?.Value ?? throw new ArgumentNullException(nameof(controlPanelConfigurationOptions)); + this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); } /// @@ -64,9 +75,14 @@ namespace Tgstation.Server.Host.Controllers public IActionResult GetChannelJson() { if (!controlPanelConfiguration.Enable) + { + logger.LogDebug("Not serving channel.json as control panel is disabled."); return NotFound(); + } var controlPanelChannel = controlPanelConfiguration.Channel; + logger.LogTrace("Generating channel.json for channel \"{channel}\"...", controlPanelChannel); + if (controlPanelChannel == "local") controlPanelChannel = ControlPanelRoute; else if (String.IsNullOrWhiteSpace(controlPanelChannel)) @@ -112,7 +128,10 @@ namespace Tgstation.Server.Host.Controllers public IActionResult Get([FromRoute] string appRoute) { if (!controlPanelConfiguration.Enable) + { + logger.LogDebug("Not serving static files as control panel is disabled."); return NotFound(); + } if (Request.Headers.ContainsKey(FetchChannelVaryHeader)) return GetChannelJson(); @@ -120,6 +139,7 @@ namespace Tgstation.Server.Host.Controllers var fileInfo = hostEnvironment.WebRootFileProvider.GetFileInfo(appRoute); if (fileInfo.Exists) { + logger.LogTrace("Serving static file \"{filename}\"...", appRoute); var contentTypeProvider = new FileExtensionContentTypeProvider(); if (!contentTypeProvider.TryGetContentType(fileInfo.Name, out var contentType)) contentType = MediaTypeNames.Application.Octet; @@ -130,6 +150,8 @@ namespace Tgstation.Server.Host.Controllers return File(appRoute, contentType); } + else + logger.LogTrace("Requested static file \"{filename}\" does not exist! Redirecting to index...", appRoute); return File("index.html", MediaTypeNames.Text.Html); } diff --git a/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj b/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj index b7ec6dbd85..e4611d46d0 100644 --- a/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj +++ b/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj @@ -79,23 +79,23 @@ - + - + runtime; build; native; contentfiles; analyzers; buildtransitive - + - + - + - + @@ -121,7 +121,7 @@ - + diff --git a/tools/Tgstation.Server.ReleaseNotes/Program.cs b/tools/Tgstation.Server.ReleaseNotes/Program.cs index 2542c7b78c..21bdbc1bfa 100644 --- a/tools/Tgstation.Server.ReleaseNotes/Program.cs +++ b/tools/Tgstation.Server.ReleaseNotes/Program.cs @@ -730,11 +730,6 @@ namespace Tgstation.Server.ReleaseNotes return Tuple.Create(changelists.ToDictionary(kvp => kvp.Key, kvp => kvp.Value), await componentVersions, isReleasePR); } - class ExtendedReleaseUpdate : ReleaseUpdate - { - public bool? MakeLatest { get; set; } - } - static async Task EnsureRelease(IGitHubClient client) { Console.WriteLine("Ensuring latest release is a GitHub release..."); @@ -753,9 +748,9 @@ namespace Tgstation.Server.ReleaseNotes .First(); // this should set it as latest - await client.Repository.Release.Edit(RepoOwner, RepoName, latestRelease.Id, new ExtendedReleaseUpdate + await client.Repository.Release.Edit(RepoOwner, RepoName, latestRelease.Id, new ReleaseUpdate { - MakeLatest = true + MakeLatest = MakeLatestQualifier.True }); }