diff --git a/src/Tgstation.Server.Host/Components/Interop/Bridge/BridgeParameters.cs b/src/Tgstation.Server.Host/Components/Interop/Bridge/BridgeParameters.cs index 228c467768..1f0c600890 100644 --- a/src/Tgstation.Server.Host/Components/Interop/Bridge/BridgeParameters.cs +++ b/src/Tgstation.Server.Host/Components/Interop/Bridge/BridgeParameters.cs @@ -52,7 +52,7 @@ namespace Tgstation.Server.Host.Components.Interop.Bridge public ushort? TopicPort { get; set; } /// - /// The being triggered. + /// The being triggered. /// public CustomEventInvocation? EventInvocation { get; set; } diff --git a/src/Tgstation.Server.Host/Components/Session/SessionController.cs b/src/Tgstation.Server.Host/Components/Session/SessionController.cs index 53f8086f07..ac6d3dd6a3 100644 --- a/src/Tgstation.Server.Host/Components/Session/SessionController.cs +++ b/src/Tgstation.Server.Host/Components/Session/SessionController.cs @@ -1171,14 +1171,26 @@ namespace Tgstation.Server.Host.Components.Session { try { - await eventTask.Value; + Exception? exception; + try + { + await eventTask.Value; + exception = null; + } + catch (Exception ex) + { + exception = ex; + } if (notifyCompletion.Value) await SendCommand( new TopicParameters(eventId), cancellationToken); - else + else if (exception == null) Logger.LogTrace("Finished custom event {eventId}, not sending notification.", eventId); + + if (exception != null) + throw exception; } catch (OperationCanceledException ex) {