Merge pull request #1362 from PepperDash/feature/add-IHasFeedback-to-IEssentialsRoomFusionController

fix: ensure proper disposal of help request timeout timer and improve…
This commit is contained in:
Neil Dorin
2025-11-26 13:28:55 -05:00
committed by GitHub
2 changed files with 12 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,8 @@ 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);
this.LogInformation("Help request timeout reached for room '{0}'. Cancelling help request.", Room.Name);
CancelHelpRequest();
_helpRequestTimeoutTimer.Stop();
_helpRequestTimeoutTimer.Dispose();
_helpRequestTimeoutTimer = null;
}
/// <inheritdoc />
@@ -1964,6 +1960,15 @@ 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;
}