From e6003a7c3c90f7f24921ff6bc59c9837fee3cde8 Mon Sep 17 00:00:00 2001 From: Dominion Date: Tue, 23 May 2023 02:55:10 -0400 Subject: [PATCH] Properly handle provider disconnect exceptions --- .../Components/Chat/ChatManager.cs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/Tgstation.Server.Host/Components/Chat/ChatManager.cs b/src/Tgstation.Server.Host/Components/Chat/ChatManager.cs index 8124434888..c17c703ed6 100644 --- a/src/Tgstation.Server.Host/Components/Chat/ChatManager.cs +++ b/src/Tgstation.Server.Host/Components/Chat/ChatManager.cs @@ -523,13 +523,15 @@ namespace Tgstation.Server.Host.Components.Chat { await provider.Disconnect(cancellationToken); } - finally + catch (Exception ex) { - await provider.DisposeAsync(); - var duration = DateTimeOffset.UtcNow - startTime; - if (duration.TotalSeconds > 3) - logger.LogWarning("Disconnecting a {providerType} took {totalSeconds}s!", provider.GetType().Name, duration.TotalSeconds); + logger.LogError(ex, "Error disconnecting connection {connectionId}!", connectionId); } + + await provider.DisposeAsync(); + var duration = DateTimeOffset.UtcNow - startTime; + if (duration.TotalSeconds > 3) + logger.LogWarning("Disconnecting a {providerType} took {totalSeconds}s!", provider.GetType().Name, duration.TotalSeconds); } else logger.LogTrace("DeleteConnection: ID {connectionId} doesn't exist!", connectionId);