diff --git a/src/Tgstation.Server.Host/Components/Byond/ByondManager.cs b/src/Tgstation.Server.Host/Components/Byond/ByondManager.cs
index 65606da711..eab96c95d8 100644
--- a/src/Tgstation.Server.Host/Components/Byond/ByondManager.cs
+++ b/src/Tgstation.Server.Host/Components/Byond/ByondManager.cs
@@ -150,15 +150,13 @@ namespace Tgstation.Server.Host.Components.Byond
///
public async Task UseExecutables(Version requiredVersion, CancellationToken cancellationToken)
{
- var versionToUse = requiredVersion ?? ActiveVersion;
- if (versionToUse == null)
- throw new JobException(ErrorCode.ByondNoVersionsInstalled);
+ var versionToUse = requiredVersion ?? ActiveVersion ?? throw new JobException(ErrorCode.ByondNoVersionsInstalled);
await InstallVersion(versionToUse, null, cancellationToken);
var versionKey = VersionKey(versionToUse, true);
var binPathForVersion = ioManager.ConcatPath(versionKey, BinPath);
- logger.LogTrace("Creating ByondExecutableLock lock for version {0}", versionToUse);
+ logger.LogTrace("Creating ByondExecutableLock lock for version {versionToUse}", versionToUse);
return new ByondExecutableLock(
ioManager,
semaphore,
@@ -203,7 +201,7 @@ namespace Tgstation.Server.Host.Components.Byond
ioManager.ConcatPath(
localCfgDirectory,
TrustedDmbFileName);
- logger.LogTrace("Deleting trusted .dmbs file {0}", trustedFilePath);
+ logger.LogTrace("Deleting trusted .dmbs file {trustedFilePath}", trustedFilePath);
await ioManager.DeleteFile(
trustedFilePath,
cancellationToken);
@@ -219,7 +217,7 @@ namespace Tgstation.Server.Host.Components.Byond
var versionFile = ioManager.ConcatPath(path, VersionFileName);
if (!await ioManager.FileExists(versionFile, cancellationToken))
{
- logger.LogInformation("Cleaning unparsable version path: {0}", ioManager.ResolvePath(path));
+ logger.LogInformation("Cleaning unparsable version path: {versionPath}", ioManager.ResolvePath(path));
await ioManager.DeleteDirectory(path, cancellationToken); // cleanup
return;
}
@@ -232,7 +230,7 @@ namespace Tgstation.Server.Host.Components.Byond
lock (installedVersions)
if (!installedVersions.ContainsKey(key))
{
- logger.LogDebug("Adding detected BYOND version {0}...", key);
+ logger.LogDebug("Adding detected BYOND version {versionKey}...", key);
installedVersions.Add(key, Task.CompletedTask);
installedVersionPaths.Add(ioManager.ResolvePath(key), version);
return;
@@ -308,11 +306,11 @@ namespace Tgstation.Server.Host.Components.Byond
}
if (customVersionStream != null)
- logger.LogInformation("Installing custom BYOND version as {0}...", versionKey);
+ logger.LogInformation("Installing custom BYOND version as {versionKey}...", versionKey);
else if (version.Build > 0)
throw new JobException(ErrorCode.ByondNonExistentCustomVersion);
else
- logger.LogDebug("Requested BYOND version {0} not currently installed. Doing so now...", versionKey);
+ logger.LogDebug("Requested BYOND version {versionKey} not currently installed. Doing so now...", versionKey);
// okay up to us to install it then
try
@@ -342,7 +340,7 @@ namespace Tgstation.Server.Host.Components.Byond
using (downloadedStream)
{
await directoryCleanupTask;
- logger.LogTrace("Extracting downloaded BYOND zip to {0}...", extractPath);
+ logger.LogTrace("Extracting downloaded BYOND zip to {extractPath}...", extractPath);
await ioManager.ZipToDirectory(extractPath, versionZipStream, cancellationToken);
}
@@ -374,7 +372,7 @@ namespace Tgstation.Server.Host.Components.Byond
}
catch (Exception e)
{
- if (!(e is OperationCanceledException))
+ if (e is not OperationCanceledException)
await eventConsumer.HandleEvent(EventType.ByondInstallFail, new List { e.Message }, cancellationToken);
lock (installedVersions)
installedVersions.Remove(versionKey);
diff --git a/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs b/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs
index 336d52df48..bd29609528 100644
--- a/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs
+++ b/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs
@@ -145,14 +145,14 @@ namespace Tgstation.Server.Host.Components.Chat.Providers
new EmbedField(
"Local Commit",
localCommitPushed && gitHub
- ? $"[{revisionInformation.CommitSha.Substring(0, 7)}](https://github.com/{gitHubOwner}/{gitHubRepo}/commit/{revisionInformation.CommitSha})"
- : revisionInformation.CommitSha.Substring(0, 7),
+ ? $"[{revisionInformation.CommitSha[..7]}](https://github.com/{gitHubOwner}/{gitHubRepo}/commit/{revisionInformation.CommitSha})"
+ : revisionInformation.CommitSha[..7],
true),
new EmbedField(
"Branch Commit",
gitHub
- ? $"[{revisionInformation.OriginCommitSha.Substring(0, 7)}](https://github.com/{gitHubOwner}/{gitHubRepo}/commit/{revisionInformation.OriginCommitSha})"
- : revisionInformation.OriginCommitSha.Substring(0, 7),
+ ? $"[{revisionInformation.OriginCommitSha[..7]}](https://github.com/{gitHubOwner}/{gitHubRepo}/commit/{revisionInformation.OriginCommitSha})"
+ : revisionInformation.OriginCommitSha[..7],
true),
};
@@ -160,7 +160,7 @@ namespace Tgstation.Server.Host.Components.Chat.Providers
.Select(x => x.TestMerge)
.Select(x => new EmbedField(
$"#{x.Number}",
- $"[{x.TitleAtMerge}]({x.Url}) by _[@{x.Author}](https://github.com/{x.Author})_{Environment.NewLine}Commit: [{x.TargetCommitSha.Substring(0, 7)}](https://github.com/{gitHubOwner}/{gitHubRepo}/commit/{x.TargetCommitSha}){(String.IsNullOrWhiteSpace(x.Comment) ? String.Empty : $"{Environment.NewLine}_**{x.Comment}**_")}",
+ $"[{x.TitleAtMerge}]({x.Url}) by _[@{x.Author}](https://github.com/{x.Author})_{Environment.NewLine}Commit: [{x.TargetCommitSha[..7]}](https://github.com/{gitHubOwner}/{gitHubRepo}/commit/{x.TargetCommitSha}){(String.IsNullOrWhiteSpace(x.Comment) ? String.Empty : $"{Environment.NewLine}_**{x.Comment}**_")}",
false)));
return fields;
@@ -253,7 +253,7 @@ namespace Tgstation.Server.Host.Components.Chat.Providers
if (!result.IsSuccess)
Logger.LogWarning(
- "Failed to send to channel {0}: {1}",
+ "Failed to send to channel {channelId}: {error}",
channelId,
result.Error);
}
@@ -267,7 +267,7 @@ namespace Tgstation.Server.Host.Components.Chat.Providers
if (!currentGuildsResponse.IsSuccess)
{
Logger.LogWarning(
- "Error retrieving current discord guilds: {0}",
+ "Error retrieving current discord guilds: {error}",
currentGuildsResponse.Error.Message);
return;
}
@@ -758,10 +758,10 @@ namespace Tgstation.Server.Host.Components.Chat.Providers
if (embed == null)
return default;
- List embedErrors = new List();
+ var embedErrors = new List();
Optional colour = default;
if (embed.Colour != null)
- if (Int32.TryParse(embed.Colour.Substring(1), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out var argb))
+ if (Int32.TryParse(embed.Colour[1..], NumberStyles.HexNumber, CultureInfo.InvariantCulture, out var argb))
colour = Color.FromArgb(argb);
else
embedErrors.Add(
diff --git a/src/Tgstation.Server.Host/Components/Chat/Providers/IrcProvider.cs b/src/Tgstation.Server.Host/Components/Chat/Providers/IrcProvider.cs
index 01badafabf..5d08910ed9 100644
--- a/src/Tgstation.Server.Host/Components/Chat/Providers/IrcProvider.cs
+++ b/src/Tgstation.Server.Host/Components/Chat/Providers/IrcProvider.cs
@@ -168,8 +168,7 @@ namespace Tgstation.Server.Host.Components.Chat.Providers
// IRC doesn't allow newlines
// Explicitly ignore embeds
var messageText = message.Text;
- if (messageText == null)
- messageText = $"Embed Only: {JsonConvert.SerializeObject(message.Embed)}";
+ messageText ??= $"Embed Only: {JsonConvert.SerializeObject(message.Embed)}";
messageText = String.Concat(
messageText
diff --git a/src/Tgstation.Server.Host/Extensions/TaskExtensions.cs b/src/Tgstation.Server.Host/Extensions/TaskExtensions.cs
index c00389ba89..a8ee467d1e 100644
--- a/src/Tgstation.Server.Host/Extensions/TaskExtensions.cs
+++ b/src/Tgstation.Server.Host/Extensions/TaskExtensions.cs
@@ -12,7 +12,7 @@ namespace Tgstation.Server.Host.Extensions
///
/// A that never completes.
///
- private static readonly TaskCompletionSource InfiniteTaskCompletionSource = new TaskCompletionSource();
+ static readonly TaskCompletionSource InfiniteTaskCompletionSource = new ();
///
/// Create a that can be awaited while respecting a given .
diff --git a/src/Tgstation.Server.Host/Setup/SetupWizard.cs b/src/Tgstation.Server.Host/Setup/SetupWizard.cs
index b446cd81b2..8cad54e41c 100644
--- a/src/Tgstation.Server.Host/Setup/SetupWizard.cs
+++ b/src/Tgstation.Server.Host/Setup/SetupWizard.cs
@@ -240,9 +240,7 @@ namespace Tgstation.Server.Host.Setup
using (var command = testConnection.CreateCommand())
{
// I really don't care about user sanitization here, they want to fuck their own DB? so be it
-#pragma warning disable CA2100 // Review SQL queries for security vulnerabilities
command.CommandText = $"CREATE DATABASE {databaseName}";
-#pragma warning restore CA2100 // Review SQL queries for security vulnerabilities
await command.ExecuteNonQueryAsync(cancellationToken);
}
@@ -250,9 +248,7 @@ namespace Tgstation.Server.Host.Setup
await console.WriteAsync("Dropping test database...", true, cancellationToken);
using (var command = testConnection.CreateCommand())
{
-#pragma warning disable CA2100 // Review SQL queries for security vulnerabilities
command.CommandText = $"DROP DATABASE {databaseName}";
-#pragma warning restore CA2100 // Review SQL queries for security vulnerabilities
try
{
await command.ExecuteNonQueryAsync(cancellationToken);
diff --git a/src/Tgstation.Server.Host/Swarm/SwarmService.cs b/src/Tgstation.Server.Host/Swarm/SwarmService.cs
index f8da1e612f..ca584b9cfb 100644
--- a/src/Tgstation.Server.Host/Swarm/SwarmService.cs
+++ b/src/Tgstation.Server.Host/Swarm/SwarmService.cs
@@ -51,7 +51,7 @@ namespace Tgstation.Server.Host.Swarm
///
/// See for the swarm system.
///
- static readonly JsonSerializerSettings SerializerSettings = new JsonSerializerSettings
+ static readonly JsonSerializerSettings SerializerSettings = new ()
{
ContractResolver = new DefaultContractResolver
{
@@ -917,7 +917,7 @@ namespace Tgstation.Server.Host.Swarm
response.EnsureSuccessStatusCode();
return;
}
- catch (Exception ex) when (!(ex is OperationCanceledException))
+ catch (Exception ex) when (ex is not OperationCanceledException)
{
logger.LogWarning(
ex,
@@ -1068,7 +1068,7 @@ namespace Tgstation.Server.Host.Swarm
logger.LogWarning("Error registering with swarm controller: HTTP {0}", response.StatusCode);
try
{
- var responseData = await response.Content.ReadAsStringAsync();
+ var responseData = await response.Content.ReadAsStringAsync(cancellationToken);
if (!String.IsNullOrWhiteSpace(responseData))
logger.LogDebug("Response:{0}{1}", Environment.NewLine, responseData);
}
@@ -1114,7 +1114,7 @@ namespace Tgstation.Server.Host.Swarm
using var response = await httpClient.SendAsync(request, cancellationToken);
response.EnsureSuccessStatusCode();
}
- catch (Exception ex) when (!(ex is OperationCanceledException))
+ catch (Exception ex) when (ex is not OperationCanceledException)
{
logger.LogWarning(ex, "Error during swarm server list update for node '{0}'! Unregistering...", swarmServer.Identifier);
@@ -1268,7 +1268,7 @@ namespace Tgstation.Server.Host.Swarm
else
await HealthCheckController(cancellationToken);
}
- catch (Exception ex) when (!(ex is OperationCanceledException))
+ catch (Exception ex) when (ex is not OperationCanceledException)
{
logger.LogError(ex, "Health check error!");
}