diff --git a/.gitignore b/.gitignore
index 0c71765597..770d2a28d4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -27,3 +27,6 @@ changelog.yml
*nupkg
*.sqlite3
packaging/
+/src/Tgstation.Server.Common/node_modules
+/src/Tgstation.Server.Common/package.json
+/src/Tgstation.Server.Common/yarn.lock
diff --git a/build/ControlPanelVersion.props b/build/ControlPanelVersion.props
index ce868e2875..375980c502 100644
--- a/build/ControlPanelVersion.props
+++ b/build/ControlPanelVersion.props
@@ -1,6 +1,6 @@
- 4.24.0
+ 4.25.2
diff --git a/build/NugetCommon.props b/build/NugetCommon.props
index 23e6a4d258..d1c341efd0 100644
--- a/build/NugetCommon.props
+++ b/build/NugetCommon.props
@@ -31,6 +31,6 @@
-
+
diff --git a/build/package/deb/MakeInstall b/build/package/deb/MakeInstall
index f0d34e6963..206d7c1f9a 100755
--- a/build/package/deb/MakeInstall
+++ b/build/package/deb/MakeInstall
@@ -1,6 +1,8 @@
#!/usr/bin/make -f
install:
+ rm artifacts/tgs.png
+ rm artifacts/tgs.ico
build/package/deb/install_artifacts.sh "$(DESTDIR)"
install -D build/package/appsettings.Initial.yml "$(DESTDIR)/etc/tgstation-server/appsettings.Production.yml"
install src/Tgstation.Server.Host/appsettings.yml "$(DESTDIR)/etc/tgstation-server/appsettings.yml"
diff --git a/build/package/winget/Tgstation.Server.Host.Service.Wix.Bundle/Bundle.wxs b/build/package/winget/Tgstation.Server.Host.Service.Wix.Bundle/Bundle.wxs
index a25525c3c1..9caccc81ae 100644
--- a/build/package/winget/Tgstation.Server.Host.Service.Wix.Bundle/Bundle.wxs
+++ b/build/package/winget/Tgstation.Server.Host.Service.Wix.Bundle/Bundle.wxs
@@ -1,7 +1,7 @@
-
+
-
+
diff --git a/build/package/winget/Tgstation.Server.Host.Service.Wix/Package.wxs b/build/package/winget/Tgstation.Server.Host.Service.Wix/Package.wxs
index 95da39d252..240250b62f 100644
--- a/build/package/winget/Tgstation.Server.Host.Service.Wix/Package.wxs
+++ b/build/package/winget/Tgstation.Server.Host.Service.Wix/Package.wxs
@@ -11,7 +11,7 @@
-
+
diff --git a/build/package/winget/Tgstation.Server.Host.Service.Wix/Tgstation.Server.Host.Service.Wix.wixproj b/build/package/winget/Tgstation.Server.Host.Service.Wix/Tgstation.Server.Host.Service.Wix.wixproj
index a3aa164719..f03f8f41b2 100644
--- a/build/package/winget/Tgstation.Server.Host.Service.Wix/Tgstation.Server.Host.Service.Wix.wixproj
+++ b/build/package/winget/Tgstation.Server.Host.Service.Wix/Tgstation.Server.Host.Service.Wix.wixproj
@@ -31,4 +31,4 @@
-
\ No newline at end of file
+
diff --git a/build/package/winget/prepare_installer_input_artifacts.ps1 b/build/package/winget/prepare_installer_input_artifacts.ps1
index d73f0d3001..b2a5c6b4d7 100644
--- a/build/package/winget/prepare_installer_input_artifacts.ps1
+++ b/build/package/winget/prepare_installer_input_artifacts.ps1
@@ -26,7 +26,11 @@ try
$ProgressPreference = $previousProgressPreference
}
- cd src/Tgstation.Server.Host
+ # Generating icons
+ Set-Location src/Tgstation.Server.Common
+ dotnet msbuild -t:IconGeneration
+
+ Set-Location ../Tgstation.Server.Host
dotnet publish -c Release --no-build -o ../../artifacts/Tgstation.Server.Host
if (-Not $?) {
exit $lastexitcode
diff --git a/build/tgs.ico b/build/tgs.ico
deleted file mode 100644
index 6ed69fadfc..0000000000
Binary files a/build/tgs.ico and /dev/null differ
diff --git a/build/tgs.png b/build/tgs.png
deleted file mode 100644
index 1e9e1bbe66..0000000000
Binary files a/build/tgs.png and /dev/null differ
diff --git a/src/Tgstation.Server.Common/Tgstation.Server.Common.csproj b/src/Tgstation.Server.Common/Tgstation.Server.Common.csproj
index 405226e89f..972ee6b33c 100644
--- a/src/Tgstation.Server.Common/Tgstation.Server.Common.csproj
+++ b/src/Tgstation.Server.Common/Tgstation.Server.Common.csproj
@@ -9,4 +9,21 @@
$(TGS_NUGET_RELEASE_NOTES_COMMON)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Tgstation.Server.Common/build_logo.js b/src/Tgstation.Server.Common/build_logo.js
new file mode 100644
index 0000000000..caf3f2eb7b
--- /dev/null
+++ b/src/Tgstation.Server.Common/build_logo.js
@@ -0,0 +1,40 @@
+// Prereq packages: svg-to-ico@1.0.14 svg2img@1.0.0-beta.2
+// Usage: node ./build_logo.js
+// Generates ../../artifacts/tgs.ico and ../../artifacts/tgs.ico
+
+const svg_to_img = require("svg-to-ico");
+const svg2img = require('svg2img');
+const fs = require('fs');
+const { exit } = require("process");
+if (!fs.existsSync("../../artifacts")) {
+ fs.mkdirSync("../../artifacts",'0777', true);
+}
+
+svg_to_img({
+ input_name: "../../build/logo.svg",
+ output_name: "../../artifacts/tgs.ico",
+ sizes: [ 160 ]
+}).then(() => {
+ // this package sucks, path separators are fucked
+ svg2img(
+ "../../build/logo.svg",
+ {
+ resvg: {
+ fitTo: {
+ mode: 'width', // or height
+ value: 64,
+ }
+ }
+ },
+ function(error, buffer) {
+ if(error) {
+ console.error(`PNG conversion failed: ${error}`);
+ exit(2);
+ }
+
+ fs.writeFileSync("../../artifacts/tgs.png", buffer);
+ });
+}).catch((error) => {
+ console.error(`ICO conversion failed: ${error}`);
+ exit(1);
+});
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 cecc519479..7c5cbc25fd 100644
--- a/src/Tgstation.Server.Host.Service/Tgstation.Server.Host.Service.csproj
+++ b/src/Tgstation.Server.Host.Service/Tgstation.Server.Host.Service.csproj
@@ -9,7 +9,7 @@
$(TgsCoreVersion)
false
- ../../build/tgs.ico
+ ../../artifacts/tgs.ico
../../build/uac_elevation_manifest.xml
diff --git a/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs b/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs
index 937105594d..378bead5ab 100644
--- a/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs
+++ b/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs
@@ -341,7 +341,7 @@ namespace Tgstation.Server.Host.Components.Chat.Providers
var author = new EmbedAuthor(assemblyInformationProvider.VersionPrefix)
{
Url = "https://github.com/tgstation/tgstation-server",
- IconUrl = "https://avatars0.githubusercontent.com/u/1363778?s=280&v=4",
+ IconUrl = "https://cdn.discordapp.com/attachments/1114451486374637629/1151650846019432448/tgs.png",
};
var embed = new Embed
{
diff --git a/tgstation-server.sln b/tgstation-server.sln
index 4f98dc2080..6d183435b8 100644
--- a/tgstation-server.sln
+++ b/tgstation-server.sln
@@ -29,14 +29,13 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{6FF654E6
build\ControlPanelVersion.props = build\ControlPanelVersion.props
build\Dockerfile = build\Dockerfile
build\GenerateMigrations.sh = build\GenerateMigrations.sh
+ build\logo.svg = build\logo.svg
build\NugetCommon.props = build\NugetCommon.props
build\OpenApiValidationSettings.json = build\OpenApiValidationSettings.json
build\SrcCommon.props = build\SrcCommon.props
build\stylecop.json = build\stylecop.json
build\TestCommon.props = build\TestCommon.props
build\tgs.docker.sh = build\tgs.docker.sh
- build\tgs.ico = build\tgs.ico
- build\tgs.png = build\tgs.png
build\tgstation-server.service = build\tgstation-server.service
build\uac_elevation_manifest.xml = build\uac_elevation_manifest.xml
build\Version.props = build\Version.props