Fix default channel being overridden

Fix appsettings.json being saved as YAML
This commit is contained in:
Jordan Brown
2021-02-01 10:03:56 -05:00
committed by GitHub
parent 4034073bd2
commit 1b9be162b6
@@ -842,12 +842,25 @@ namespace Tgstation.Server.Host.Setup
{ SwarmConfiguration.Section, swarmConfiguration },
};
var builder = new SerializerBuilder()
.WithTypeConverter(new VersionConverter());
if (userConfigFileName.EndsWith(".json", StringComparison.OrdinalIgnoreCase))
builder.JsonCompatible();
var serializer = new SerializerBuilder()
.WithTypeConverter(new VersionConverter())
.Build();
var serializedYaml = serializer.Serialize(map);
// big hack, but, prevent the default control panel channel from being overridden
serializedYaml = serializedYaml.Replace(
$"\n {nameof(ControlPanelConfiguration.Channel)}: ",
String.Empty,
StringComparison.Ordinal)
.Replace("\r", String.Empty, StringComparison.Ordinal);
var configBytes = Encoding.UTF8.GetBytes(serializedYaml);
reloadTcs = new TaskCompletionSource<object>();