From 1eb7f13a0598d9909ad7c16e77be5a55088ca6c6 Mon Sep 17 00:00:00 2001 From: Codex CLI Date: Mon, 1 Sep 2025 03:37:45 -0500 Subject: [PATCH] fix(ui): show short semver (major.minor.patch) in version footer\n\n- Parse AssemblyInformationalVersion and display only first 3 segments\n- Bind Text to AppVersionShort to hide '+sha' build metadata --- src/AdvancedCalculator/ViewModels/MainViewModel.cs | 13 +++++++++++-- src/AdvancedCalculator/Views/MainView.axaml | 2 +- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/AdvancedCalculator/ViewModels/MainViewModel.cs b/src/AdvancedCalculator/ViewModels/MainViewModel.cs index 2d1a128..28d3d9a 100644 --- a/src/AdvancedCalculator/ViewModels/MainViewModel.cs +++ b/src/AdvancedCalculator/ViewModels/MainViewModel.cs @@ -7,6 +7,7 @@ using AdvancedCalculator.Services; using CSMic; using System; using System.Reflection; +using System.Text.RegularExpressions; namespace AdvancedCalculator.ViewModels; @@ -43,12 +44,20 @@ public partial class MainViewModel : ViewModelBase public ObservableCollection History { get; } public ObservableCollection Variables { get; } - // App version string, sourced from AssemblyInformationalVersion - public string AppVersion { get; } = + // App version strings + private static readonly string s_appVersion = typeof(MainViewModel).Assembly .GetCustomAttribute()? .InformationalVersion ?? "0.0.0"; + private static readonly string s_appVersionShort = + Regex.Match(s_appVersion, @"^(\d+)\.(\d+)\.(\d+)").Success + ? Regex.Match(s_appVersion, @"^(\d+)\.(\d+)\.(\d+)").Value + : s_appVersion; + + public string AppVersion => s_appVersion; + public string AppVersionShort => s_appVersionShort; + [RelayCommand] private void ToggleFunctions() { diff --git a/src/AdvancedCalculator/Views/MainView.axaml b/src/AdvancedCalculator/Views/MainView.axaml index 9a2812e..7c652f8 100644 --- a/src/AdvancedCalculator/Views/MainView.axaml +++ b/src/AdvancedCalculator/Views/MainView.axaml @@ -68,7 +68,7 @@ -