Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions assets/i18n/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,8 @@
,"Download manuale": "Manual download"
,"Apre la release più recente su GitHub": "Open the latest release on GitHub"
,"Installazione aggiornamento...": "Installing update..."
,"Aggiornamento completato": "Update complete"
,"Il progetto è pronto.": "Your project is ready."
,"Controlla aggiornamenti": "Check for updates"
,"Controllo aggiornamenti attivo": "Automatic update checks are active"
,"Controllo aggiornamenti non riuscito": "Update check failed"
Expand Down
4 changes: 4 additions & 0 deletions docs/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# AstroProject Forge — note di rilascio

## 1.0.2 — 28 luglio 2026

- Mostra una conferma discreta dopo il riavvio automatico, così è immediatamente visibile che l'aggiornamento è riuscito.

## 1.0.1 — 28 luglio 2026

- Il pulsante **Aggiorna e riavvia** scarica e verifica l'installer, aggiorna l'app in modalità silenziosa e riapre automaticamente la nuova versione.
Expand Down
14 changes: 14 additions & 0 deletions dotnet/AstroForge.App/MainWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -734,5 +734,19 @@
</Grid>
</Border>
</Grid>

<Border x:Name="UpdateCompletedToast" Grid.RowSpan="3" Panel.ZIndex="120"
HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="24"
Background="#F0152B2A" BorderBrush="{StaticResource Accent}" BorderThickness="1"
CornerRadius="12" Padding="16,12" Visibility="Collapsed" IsHitTestVisible="False"
Effect="{StaticResource AccentGlow}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="✓" Foreground="{StaticResource Accent}" FontSize="18" FontWeight="Bold" Margin="0,0,10,0"/>
<StackPanel>
<TextBlock x:Name="UpdateCompletedText" Text="Aggiornamento completato" FontWeight="SemiBold"/>
<TextBlock Text="Il progetto è pronto." Style="{StaticResource MutedText}" FontSize="11" Margin="0,2,0,0"/>
</StackPanel>
</StackPanel>
</Border>
</Grid>
</Window>
17 changes: 17 additions & 0 deletions dotnet/AstroForge.App/MainWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ public partial class MainWindow : Window
private double _qualityPanHorizontal;
private double _qualityPanVertical;
private bool _localizationPending;
private bool _updatedOnLaunch;

public MainWindow()
{
Expand All @@ -59,6 +60,7 @@ private void ApplyCommandLine()
{
if (args[index] == "--source" && index + 1 < args.Length) _viewModel.AddSource(args[++index]);
else if (args[index] == "--library" && index + 1 < args.Length) _viewModel.LibraryPath = args[++index];
else if (args[index] == "--updated") _updatedOnLaunch = true;
}
}

Expand Down Expand Up @@ -307,9 +309,24 @@ private async void MainWindow_Loaded(object sender, RoutedEventArgs e)
if (RootSurface.RenderTransform is System.Windows.Media.TranslateTransform translate)
translate.BeginAnimation(System.Windows.Media.TranslateTransform.YProperty, new DoubleAnimation(8, 0, TimeSpan.FromMilliseconds(420)) { EasingFunction = new CubicEase { EasingMode = EasingMode.EaseOut } });
}
if (_updatedOnLaunch) ShowUpdateCompletedToast();
await CheckUpdatesAsync(false);
}

private async void ShowUpdateCompletedToast()
{
UpdateCompletedText.Text = _viewModel.UiLanguage == UiLocalization.English
? $"Updated to {ReleaseIdentity.Version}"
: $"Aggiornamento {ReleaseIdentity.Version} completato";
UpdateCompletedToast.Visibility = Visibility.Visible;
UpdateCompletedToast.BeginAnimation(OpacityProperty,
new DoubleAnimation(0, 1, TimeSpan.FromMilliseconds(_viewModel.ReducedMotion ? 0 : 220)));
await Task.Delay(TimeSpan.FromSeconds(5));
var fade = new DoubleAnimation(1, 0, TimeSpan.FromMilliseconds(_viewModel.ReducedMotion ? 0 : 260));
fade.Completed += (_, _) => UpdateCompletedToast.Visibility = Visibility.Collapsed;
UpdateCompletedToast.BeginAnimation(OpacityProperty, fade);
}

private void WorkspaceTabs_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
{
if (!IsLoaded) return;
Expand Down
2 changes: 1 addition & 1 deletion version.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"version": "1.0.1",
"version": "1.0.2",
"channel": "Stable",
"releaseDate": "2026-07-28",
"minimumWindowsBuild": 19045
Expand Down
Loading