using System; using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.Logging; namespace ModerationClient.Services; public class ClientContainer(ILogger logger, MatrixAuthenticationService authService, CommandLineConfiguration cfg) { private readonly CommandLineConfiguration _cfg = cfg; private bool _isRunning; public void EnsureRunning() { if (_isRunning) return; _isRunning = true; _ = Task.Run(Run).ContinueWith(t => { if (t.IsFaulted) { logger.LogError(t.Exception, "Error in client container task"); } return _isRunning = false; }); } private async Task Run() { Console.WriteLine("Running client view model loop..."); ArgumentNullException.ThrowIfNull(authService.Homeserver, nameof(authService.Homeserver)); } }