diff --git a/.github/workflows/ci-suite.yml b/.github/workflows/ci-suite.yml
index 59438c1b3a..4d047c37ec 100644
--- a/.github/workflows/ci-suite.yml
+++ b/.github/workflows/ci-suite.yml
@@ -173,7 +173,7 @@ jobs:
run: dotnet build -c ${{ matrix.configuration }}NoService
- name: Run Unit Tests
- run: sudo dotnet test tgstation-server.sln --no-build --filter FullyQualifiedName!~IntegrationTest -l "console;verbosity=detailed;noprogress=true" -c ${{ matrix.configuration }}NoService --collect:"XPlat Code Coverage" --settings build/coverlet.runsettings -r ./TestResults
+ run: sudo dotnet test --no-build --filter FullyQualifiedName!~IntegrationTest -c ${{ matrix.configuration }}NoService --collect:"XPlat Code Coverage" --settings build/coverlet.runsettings --results-directory ./TestResults tgstation-server.sln
- name: Store Code Coverage
uses: actions/upload-artifact@v3
@@ -204,7 +204,7 @@ jobs:
run: dotnet build -c ${{ matrix.configuration }}
- name: Run Unit Tests
- run: dotnet test tgstation-server.sln --no-build --filter FullyQualifiedName!~IntegrationTest -l "console;verbosity=detailed;noprogress=true" -c ${{ matrix.configuration }} --collect:"XPlat Code Coverage" --settings build/coverlet.runsettings -r ./TestResults
+ run: dotnet test --no-build --filter FullyQualifiedName!~IntegrationTest -c ${{ matrix.configuration }} --collect:"XPlat Code Coverage" --settings build/coverlet.runsettings --results-directory ./TestResults tgstation-server.sln
- name: Store Code Coverage
uses: actions/upload-artifact@v3
@@ -265,7 +265,7 @@ jobs:
run: |
cd tests/Tgstation.Server.Tests
Start-Sleep -Seconds 10
- dotnet test -c ${{ matrix.configuration }} -l "console;verbosity=detailed;noprogress=true" --collect:"XPlat Code Coverage" --settings ../../build/coverlet.runsettings -r ../../TestResults
+ dotnet test -c ${{ matrix.configuration }} -l "console;verbosity=detailed;noprogress=true" --collect:"XPlat Code Coverage" --settings ../../build/coverlet.runsettings --results-directory ../../TestResults
- name: Store Code Coverage
uses: actions/upload-artifact@v3
@@ -414,7 +414,7 @@ jobs:
run: |
cd tests/Tgstation.Server.Tests
sleep 10
- dotnet test -c ${{ matrix.configuration }}NoService -l "console;verbosity=detailed;noprogress=true" --collect:"XPlat Code Coverage" --settings ../../build/coverlet.runsettings -r ../../TestResults
+ dotnet test -c ${{ matrix.configuration }}NoService -l "console;verbosity=detailed;noprogress=true" --collect:"XPlat Code Coverage" --settings ../../build/coverlet.runsettings --results-directory ../../TestResults
- name: Store Code Coverage
uses: actions/upload-artifact@v3
diff --git a/build/Dockerfile b/build/Dockerfile
index 48113a8414..a48a345099 100644
--- a/build/Dockerfile
+++ b/build/Dockerfile
@@ -33,9 +33,7 @@ WORKDIR /repo/src/Tgstation.Server.Host
COPY src/Tgstation.Server.Host/Tgstation.Server.Host.csproj ./
# I cant figure out how to run npm as non root so eh
-RUN npm set unsafe-perm true
RUN dotnet msbuild -target:NpmBuild
-RUN npm set unsafe-perm fals
WORKDIR /repo
diff --git a/build/Version.props b/build/Version.props
index 7e85b6b140..ba7d174e52 100644
--- a/build/Version.props
+++ b/build/Version.props
@@ -3,7 +3,7 @@
- 5.2.3
+ 5.2.4
4.4.0
9.7.0
10.1.0
diff --git a/src/Tgstation.Server.Api/Tgstation.Server.Api.csproj b/src/Tgstation.Server.Api/Tgstation.Server.Api.csproj
index 7f275db48d..0840359482 100644
--- a/src/Tgstation.Server.Api/Tgstation.Server.Api.csproj
+++ b/src/Tgstation.Server.Api/Tgstation.Server.Api.csproj
@@ -47,7 +47,7 @@
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/src/Tgstation.Server.Host/Controllers/HomeController.cs b/src/Tgstation.Server.Host/Controllers/HomeController.cs
index 3b5a2b3d9a..2bf911a446 100644
--- a/src/Tgstation.Server.Host/Controllers/HomeController.cs
+++ b/src/Tgstation.Server.Host/Controllers/HomeController.cs
@@ -165,7 +165,12 @@ namespace Tgstation.Server.Host.Controllers
if (controlPanelConfiguration.Enable && !Request.Headers.TryGetValue(ApiHeaders.ApiVersionHeader, out _))
{
Logger.LogDebug("No API headers on request, redirecting to control panel...");
- return Redirect(controlPanelConfiguration.PublicPath ?? ControlPanelController.ControlPanelRoute);
+
+ var controlPanelRoute = controlPanelConfiguration.PublicPath;
+ if (String.IsNullOrWhiteSpace(controlPanelRoute))
+ controlPanelRoute = ControlPanelController.ControlPanelRoute;
+
+ return Redirect(controlPanelRoute);
}
try