From f91ae04936d8b2eb95dea646fc213c0eee231b4d Mon Sep 17 00:00:00 2001 From: astropuzzo Date: Tue, 28 Jul 2026 09:51:12 +0200 Subject: [PATCH] fix(updater): show installation progress --- docs/CHANGELOG.md | 7 +++++++ docs/PIANO_READY_TO_SELL.md | 1 + dotnet/AstroForge.App/MainWindow.xaml.cs | 5 +++-- scripts/check-ui-contract.ps1 | 1 + version.json | 2 +- 5 files changed, 13 insertions(+), 3 deletions(-) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index cd8cafa..4bd98ce 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -1,5 +1,12 @@ # AstroProject Forge — note di rilascio +## 1.1.1 — 28 luglio 2026 + +- Durante l'aggiornamento automatico Windows l'installer mostra ora una finestra con + avanzamento reale invece di lavorare in modo completamente invisibile. +- Download, verifica, installazione e riavvio sono riconoscibili come fasi distinte. +- Gli errori dell'installer non vengono più nascosti. + ## 1.1.0 — 28 luglio 2026 - Completata la traduzione inglese delle interfacce Windows, Linux e macOS. diff --git a/docs/PIANO_READY_TO_SELL.md b/docs/PIANO_READY_TO_SELL.md index 7a88e34..908bb5a 100644 --- a/docs/PIANO_READY_TO_SELL.md +++ b/docs/PIANO_READY_TO_SELL.md @@ -19,6 +19,7 @@ La stessa logica Core è usata dall'interfaccia Avalonia per Linux e macOS. - [x] Salvataggio diretto del progetto già aperto; `Salva con nome` resta esplicito. - [x] Nomi e descrizioni per screen reader sui controlli principali. - [x] Focus tastiera ad alto contrasto. +- [x] Avanzamento visibile per download e installazione degli aggiornamenti Windows. - [ ] Test manuale completo con Narrator su Windows. - [ ] Test manuale tastiera, VoiceOver e Orca sui pacchetti nativi. diff --git a/dotnet/AstroForge.App/MainWindow.xaml.cs b/dotnet/AstroForge.App/MainWindow.xaml.cs index fd5da65..5288d65 100644 --- a/dotnet/AstroForge.App/MainWindow.xaml.cs +++ b/dotnet/AstroForge.App/MainWindow.xaml.cs @@ -287,8 +287,9 @@ private async void DownloadUpdate_Click(object sender, RoutedEventArgs e) var logPath = Path.Combine(updatesDirectory, "installer.log"); var startInfo = new ProcessStartInfo(path) { UseShellExecute = true }; startInfo.ArgumentList.Add("/SP-"); - startInfo.ArgumentList.Add("/VERYSILENT"); - startInfo.ArgumentList.Add("/SUPPRESSMSGBOXES"); + // /SILENT keeps the native installer progress window visible. The application + // closes only after the installer has started, then Inno Setup relaunches it. + startInfo.ArgumentList.Add("/SILENT"); startInfo.ArgumentList.Add("/NORESTART"); startInfo.ArgumentList.Add("/CLOSEAPPLICATIONS"); startInfo.ArgumentList.Add("/FORCECLOSEAPPLICATIONS"); diff --git a/scripts/check-ui-contract.ps1 b/scripts/check-ui-contract.ps1 index e4afaf0..bcf1ef2 100644 --- a/scripts/check-ui-contract.ps1 +++ b/scripts/check-ui-contract.ps1 @@ -53,6 +53,7 @@ $contracts = @{ 'Avalonia accessible names' = $avaloniaAdapter.Contains('AutomationProperties.SetName') 'Save and Save As behavior (WPF)' = $wpfCode.Contains('SaveProject(bool saveAs)') 'Save and Save As behavior (Avalonia)' = $avaloniaCode.Contains('SaveProjectAsync(bool saveAs)') + 'Visible Windows update progress' = $wpfCode.Contains('startInfo.ArgumentList.Add("/SILENT")') -and -not $wpfCode.Contains('startInfo.ArgumentList.Add("/VERYSILENT")') } $failed = @($contracts.GetEnumerator() | Where-Object { -not $_.Value } | ForEach-Object Key) diff --git a/version.json b/version.json index 490f99d..8b62a0e 100644 --- a/version.json +++ b/version.json @@ -1,5 +1,5 @@ { - "version": "1.1.0", + "version": "1.1.1", "channel": "Stable", "releaseDate": "2026-07-28", "minimumWindowsBuild": 19045