diff --git a/src/PolyTrader.App.Avalonia/Program.cs b/src/PolyTrader.App.Avalonia/Program.cs index b64c48e..92e39ae 100644 --- a/src/PolyTrader.App.Avalonia/Program.cs +++ b/src/PolyTrader.App.Avalonia/Program.cs @@ -368,6 +368,9 @@ namespace PolyTrader.App.Avalonia services.AddHostedService(sp => sp.GetRequiredService()); services.AddHostedService(sp => sp.GetRequiredService()); + // #587: regelmäßige Update-Prüfung mit Hinweis - installiert nie selbst. + PolyTrader.Web.Updates.UpdateCheckServiceCollectionExtensions.AddPolyTraderUpdateCheck(services); + // Shell-Zustand (Fensterverwaltung). Auch im kopflosen Betrieb harmlos. services.AddSingleton(); }) diff --git a/src/PolyTrader.App.Avalonia/Views/LauncherWindow.axaml.cs b/src/PolyTrader.App.Avalonia/Views/LauncherWindow.axaml.cs index d4f43f1..9b421a2 100644 --- a/src/PolyTrader.App.Avalonia/Views/LauncherWindow.axaml.cs +++ b/src/PolyTrader.App.Avalonia/Views/LauncherWindow.axaml.cs @@ -20,6 +20,7 @@ using PolyTrader.Core.Modularity; using PolyTrader.Core.Persistence; using PolyTrader.Core.Security; using PolyTrader.Modules.Supervisor.Persistence; +using PolyTrader.Web.Updates; using PolyTraderSharp; using PolyTraderSharp.Models; using PolyTraderSharp.Services; @@ -51,8 +52,11 @@ namespace PolyTrader.App.Avalonia.Views private int _statusTicks; - /// Ergebnis der letzten Update-Prüfung – für den Klick auf „Jetzt installieren …". - private UpdateCheckResult? _updateCheck; + /// Fassung aus der letzten Update-Prüfung – für den Klick auf „Jetzt installieren …". + private string? _updateVersion; + + /// Mit „Später" ausgeblendete Fassung – das Banner kommt erst für eine noch neuere wieder. + private string? _dismissedVersion; public LauncherWindow() => AvaloniaXamlLoader.Load(this); @@ -84,16 +88,25 @@ namespace PolyTrader.App.Avalonia.Views this.FindControl