fix: ensure proper disposal of help request timeout timer and improve logging

This commit is contained in:
Neil Dorin
2025-11-26 11:02:31 -07:00
parent 5de1e2d7bb
commit 4f5d4ef87a
2 changed files with 13 additions and 7 deletions

View File

@@ -1846,6 +1846,7 @@ namespace PepperDash.Essentials.Core.Fusion
if (_helpRequestTimeoutTimer != null)
{
_helpRequestTimeoutTimer.Stop();
_helpRequestTimeoutTimer.Elapsed -= OnTimedEvent;
_helpRequestTimeoutTimer.Dispose();
_helpRequestTimeoutTimer = null;
}
@@ -1943,13 +1944,7 @@ namespace PepperDash.Essentials.Core.Fusion
private void OnTimedEvent(object source, ElapsedEventArgs e)
{
this.LogInformation("Help request timeout reached for room '{0}'. Cancelling help request.",
Room.Name);
CancelHelpRequest();
_helpRequestTimeoutTimer.Stop();
_helpRequestTimeoutTimer.Dispose();
_helpRequestTimeoutTimer = null;
}
/// <inheritdoc />
@@ -1964,6 +1959,17 @@ namespace PepperDash.Essentials.Core.Fusion
HelpRequestStatusFeedback.FireUpdate();
Debug.LogMessage(LogEventLevel.Information, this, "Help request cancelled for room '{0}'", Room.Name);
}
if(_helpRequestTimeoutTimer != null)
{
_helpRequestTimeoutTimer.Stop();
_helpRequestTimeoutTimer.Elapsed -= OnTimedEvent;
_helpRequestTimeoutTimer.Dispose();
_helpRequestTimeoutTimer = null;
this.LogDebug("Help request timeout timer stopped for room '{0}'.",
Room.Name);
}
}
/// <inheritdoc />

View File

@@ -67,5 +67,5 @@ public class IEssentialsRoomFusionControllerPropertiesConfig
/// Gets or sets the timeout duration for help requests in milliseconds
/// </summary>
[JsonProperty("helpRequestTimeoutMs")]
public int HelpRequestTimeoutMs{ get; set; } = 30000;
public int HelpRequestTimeoutMs { get; set; } = 30000;
}