Merge pull request #139 from Moonlight-Panel/ImproveConsoleStreaming

Improve console streaming
This commit is contained in:
Marcel Baumgartner 2023-06-04 21:42:13 +02:00 committed by GitHub
commit c6cf11626e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -142,18 +142,28 @@ public class WingsConsole : IDisposable
switch (eventData.Event) switch (eventData.Event)
{ {
case "jwt error": case "jwt error":
await WebSocket.CloseAsync(WebSocketCloseStatus.Empty, "Jwt error detected", if (WebSocket != null)
CancellationToken.None); {
if (WebSocket.State == WebSocketState.Connecting || WebSocket.State == WebSocketState.Open)
await WebSocket.CloseAsync(WebSocketCloseStatus.Empty, null, CancellationToken.None);
WebSocket.Dispose();
}
await UpdateServerState(ServerState.Offline); await UpdateServerState(ServerState.Offline);
await UpdateConsoleState(ConsoleState.Disconnected); await UpdateConsoleState(ConsoleState.Disconnected);
await SaveMessage("Received a jwt error", true); await SaveMessage("Received a jwt error. Disconnected", true);
break; break;
case "token expired": case "token expired":
await WebSocket.CloseAsync(WebSocketCloseStatus.Empty, "Jwt error detected", if (WebSocket != null)
CancellationToken.None); {
if (WebSocket.State == WebSocketState.Connecting || WebSocket.State == WebSocketState.Open)
await WebSocket.CloseAsync(WebSocketCloseStatus.Empty, null, CancellationToken.None);
WebSocket.Dispose();
}
await UpdateServerState(ServerState.Offline); await UpdateServerState(ServerState.Offline);
await UpdateConsoleState(ConsoleState.Disconnected); await UpdateConsoleState(ConsoleState.Disconnected);
@ -346,6 +356,7 @@ public class WingsConsole : IDisposable
public async Task Disconnect() public async Task Disconnect()
{ {
Disconnecting = true; Disconnecting = true;
Messages.Clear();
if (WebSocket != null) if (WebSocket != null)
{ {
@ -362,6 +373,7 @@ public class WingsConsole : IDisposable
public void Dispose() public void Dispose()
{ {
Disconnecting = true; Disconnecting = true;
Messages.Clear();
if (WebSocket != null) if (WebSocket != null)
{ {