diff --git a/MareSynchronos/WebAPI/ApiController.Connectivity.cs b/MareSynchronos/WebAPI/ApiController.Connectivity.cs index 07b6706..af62a98 100644 --- a/MareSynchronos/WebAPI/ApiController.Connectivity.cs +++ b/MareSynchronos/WebAPI/ApiController.Connectivity.cs @@ -205,6 +205,7 @@ namespace MareSynchronos.WebAPI _mareHub.Closed += MareHubOnClosed; _mareHub.Reconnecting += MareHubOnReconnecting; + _mareHub.Reconnected += MareHubOnReconnected; } } catch (HubException ex) @@ -247,6 +248,12 @@ namespace MareSynchronos.WebAPI } } + private Task MareHubOnReconnected(string? arg) + { + _ = Task.Run(CreateConnections); + return Task.CompletedTask; + } + private async Task InitializeData(CancellationToken token) { if (_mareHub == null) return; @@ -331,7 +338,6 @@ namespace MareSynchronos.WebAPI Logger.Warn(arg?.StackTrace ?? string.Empty); Disconnected?.Invoke(); ServerState = ServerState.Offline; - _ = Task.Run(CreateConnections); return Task.CompletedTask; } @@ -343,6 +349,7 @@ namespace MareSynchronos.WebAPI Logger.Info("Stopping existing connection"); _mareHub.Closed -= MareHubOnClosed; _mareHub.Reconnecting -= MareHubOnReconnecting; + _mareHub.Reconnected -= MareHubOnReconnected; await _mareHub.StopAsync(token); await _mareHub.DisposeAsync(); CurrentUploads.Clear();