From e2a4c87546113c3d11edb9eb31f2793029de8349 Mon Sep 17 00:00:00 2001 From: Dallin Romney Date: Thu, 20 Aug 2026 17:59:16 -0700 Subject: [PATCH] fix(setup): avoid duplicate failure message --- .../Pages/CompletePage.xaml.cs | 5 ++--- .../OpenClaw.Tray.Tests/AppRefactorContractTests.cs | 12 ++++++++++++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/OpenClaw.SetupEngine.UI/Pages/CompletePage.xaml.cs b/src/OpenClaw.SetupEngine.UI/Pages/CompletePage.xaml.cs index f5fbf8a62..cfdbfc0f7 100644 --- a/src/OpenClaw.SetupEngine.UI/Pages/CompletePage.xaml.cs +++ b/src/OpenClaw.SetupEngine.UI/Pages/CompletePage.xaml.cs @@ -34,6 +34,7 @@ protected override void OnNavigatedTo(NavigationEventArgs e) GatewaySummaryText.Text = (args.ReviewSummary ?? SetupReviewSummaryBuilder.Build(new SetupConfig())).CompletionGatewaySummary; TitleText.Text = "All set!"; SubtitleText.Text = "OpenClaw is ready to go"; + SubtitleText.Visibility = Visibility.Visible; ErrorCard.Visibility = Visibility.Collapsed; HelpLink.Visibility = Visibility.Collapsed; FallbackButton.Visibility = Visibility.Collapsed; @@ -47,9 +48,7 @@ protected override void OnNavigatedTo(NavigationEventArgs e) SuccessIcon.Visibility = Visibility.Collapsed; FailureIcon.Visibility = Visibility.Visible; TitleText.Text = "Setup failed"; - SubtitleText.Text = helpUrl is null - ? args.ErrorMessage ?? "An error occurred during setup" - : "Follow the steps below to resolve the setup issue and retry."; + SubtitleText.Visibility = Visibility.Collapsed; NodeModeBanner.Visibility = Visibility.Collapsed; StartupRow.Visibility = Visibility.Collapsed; SummaryPanel.Visibility = Visibility.Collapsed; diff --git a/tests/OpenClaw.Tray.Tests/AppRefactorContractTests.cs b/tests/OpenClaw.Tray.Tests/AppRefactorContractTests.cs index 2dde0ab98..d607d6d56 100644 --- a/tests/OpenClaw.Tray.Tests/AppRefactorContractTests.cs +++ b/tests/OpenClaw.Tray.Tests/AppRefactorContractTests.cs @@ -1230,6 +1230,18 @@ public void CompletePage_UsesCompletionArgsForStartupPreference() Assert.DoesNotContain("StartupToggle.IsOn = true", complete); } + [Fact] + public void CompletePage_ShowsFailureMessageOnlyInErrorCard() + { + var root = TestRepositoryPaths.GetRepositoryRoot(); + var complete = File.ReadAllText(Path.Combine(root, "src", "OpenClaw.SetupEngine.UI", "Pages", "CompletePage.xaml.cs")); + + Assert.Contains("SubtitleText.Visibility = Visibility.Visible", complete); + Assert.Contains("SubtitleText.Visibility = Visibility.Collapsed", complete); + Assert.Contains("ErrorText.Text = errorMessage", complete); + Assert.DoesNotContain("SubtitleText.Text = helpUrl is null", complete); + } + [Fact] public void CompletePage_OffersExactFallbackOnlyThroughTypedCompatibilityPath() {