Improved console ui disposing

This commit is contained in:
Marcel Baumgartner 2024-04-17 07:49:48 +02:00
parent 48e2e1eb98
commit 610501ef19
3 changed files with 15 additions and 2 deletions

View file

@ -6,7 +6,7 @@ using Moonlight.Features.Servers.Models.Enums;
namespace Moonlight.Features.Servers.Helpers; namespace Moonlight.Features.Servers.Helpers;
public class ServerConsole public class ServerConsole : IDisposable
{ {
public SmartEventHandler<ServerState> OnStateChange { get; set; } = new(); public SmartEventHandler<ServerState> OnStateChange { get; set; } = new();
public SmartEventHandler<ServerStats> OnStatsChange { get; set; } = new(); public SmartEventHandler<ServerStats> OnStatsChange { get; set; } = new();
@ -127,4 +127,14 @@ public class ServerConsole
lock (MessageCache) lock (MessageCache)
return MessageCache.ToArray(); return MessageCache.ToArray();
} }
public async void Dispose()
{
MessageCache.Clear();
if (WebSocket.State == WebSocketState.Open)
await WebsocketStream.Close();
WebSocket.Dispose();
}
} }

View file

@ -308,7 +308,10 @@
await UpdateTimer.DisposeAsync(); await UpdateTimer.DisposeAsync();
if (Console != null) if (Console != null)
{
await Console.Close(); await Console.Close();
Console.Dispose();
}
} }
private int GetIndex() private int GetIndex()

View file

@ -79,7 +79,7 @@
foreach (var line in ServerConsole.Messages.TakeLast(50)) foreach (var line in ServerConsole.Messages.TakeLast(50))
{ {
var lineModified = line.Replace("\n", "\n\r"); var lineModified = line.Replace("\n", "\n\r");
text += lineModified; text += lineModified + "\n\r";
} }
await Terminal.Write(text); await Terminal.Write(text);