From 5ecdaf863ac04d040d16a175f352c873e4689ab7 Mon Sep 17 00:00:00 2001 From: Codev contributors Date: Fri, 9 Oct 2026 19:14:20 -0400 Subject: [PATCH] Explain Auto MCP approval fallback in tooltips --- Codev.Avalonia.Tests/MainWindowTests.cs | 8 ++++++++ Codev.Avalonia/ViewModels/MainViewModel.cs | 15 ++++++++++++++- Codev.Avalonia/Views/MainWindow.axaml | 2 +- DESIGN.md | 2 +- 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/Codev.Avalonia.Tests/MainWindowTests.cs b/Codev.Avalonia.Tests/MainWindowTests.cs index 4b3e3287..71680ad4 100644 --- a/Codev.Avalonia.Tests/MainWindowTests.cs +++ b/Codev.Avalonia.Tests/MainWindowTests.cs @@ -3547,9 +3547,17 @@ public async Task Auto_mcp_approval_explains_unreadable_permissions_and_keeps_ru await viewModel.SetProjectCommandPermissionModeAsync(ProjectCommandPermissionMode.Auto); Assert.Equal(ProjectCommandPermissionMode.Auto, viewModel.ProjectCommandPermissionMode); Assert.False(viewModel.CanPersistMcpToolPermissions); + Assert.Contains("MCP calls still require approval because saved MCP permission rules are unavailable", viewModel.ProjectCommandPermissionModeTooltip, StringComparison.Ordinal); + Assert.Contains(viewModel.McpToolPermissionLoadError!, viewModel.ProjectCommandPermissionModeTooltip, StringComparison.Ordinal); + Assert.NotNull(viewModel.ActiveConversation); + viewModel.ActiveConversation!.IsCodeTask = true; + Assert.Contains("MCP calls still require approval because saved MCP permission rules are unavailable", viewModel.CodeTaskTooltip, StringComparison.Ordinal); window = new MainWindow { DataContext = viewModel }; window.Show(); + var modeButton = Assert.IsType -