From 8290092c083476a68f14c6b22ab278ca895db8a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=E2=96=88=E2=96=88=E2=96=88=E2=96=88=E2=96=88?= Date: Fri, 11 Jul 2025 00:18:11 -0400 Subject: [PATCH] bug: gui freeze when restarting services --- src/SiteMonitor/SiteMonitor.csproj | 2 +- .../ViewModels/MainWindowViewModel.cs | 26 ++++++++++--------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/SiteMonitor/SiteMonitor.csproj b/src/SiteMonitor/SiteMonitor.csproj index 1b4e6f5..9fea17d 100644 --- a/src/SiteMonitor/SiteMonitor.csproj +++ b/src/SiteMonitor/SiteMonitor.csproj @@ -6,7 +6,7 @@ true app.manifest true - 1.0.3 + 1.0.0 https://nullinside.com Assets\icon.png https://github.com/nullinside-development-group/nullinside-site-monitor diff --git a/src/SiteMonitor/ViewModels/MainWindowViewModel.cs b/src/SiteMonitor/ViewModels/MainWindowViewModel.cs index 30943d6..43ee0ee 100644 --- a/src/SiteMonitor/ViewModels/MainWindowViewModel.cs +++ b/src/SiteMonitor/ViewModels/MainWindowViewModel.cs @@ -189,18 +189,20 @@ private async Task OnRestart() { /// Restarts the docker images. /// private async Task OnRestartImages() { - using SshClient client = new(_serverAddress!, _sshUsername!, _sshPassword!); - await client.ConnectAsync(CancellationToken.None); - string[] command = [ - "docker compose -p nullinside-ui restart", - "docker compose -p nullinside-api restart", - "docker compose -p nullinside-api-null restart", - "docker compose -p nullinside-api-twitch-bot restart" - ]; - - foreach (string line in command) { - using SshCommand? ssh = client.RunCommand($"echo {_sshPassword} | sudo -S {line}"); - } + await Task.Run(async () => { + using SshClient client = new(_serverAddress!, _sshUsername!, _sshPassword!); + await client.ConnectAsync(CancellationToken.None); + string[] command = [ + "docker compose -p nullinside-ui restart", + "docker compose -p nullinside-api restart", + "docker compose -p nullinside-api-null restart", + "docker compose -p nullinside-api-twitch-bot restart" + ]; + + foreach (string line in command) { + using SshCommand? ssh = client.RunCommand($"echo {_sshPassword} | sudo -S {line}"); + } + }); } ///