diff --git a/apps/desktop/src/components/editor/EditorSettingsDialog.vue b/apps/desktop/src/components/editor/EditorSettingsDialog.vue index 7b968df1c..b93f33730 100644 --- a/apps/desktop/src/components/editor/EditorSettingsDialog.vue +++ b/apps/desktop/src/components/editor/EditorSettingsDialog.vue @@ -4924,12 +4924,19 @@ onUnmounted(cleanupPreviewEditor); -
-
+ {{ t("settings.mcpExecutionModeReadOnlyDescription") }} +
++ {{ t("settings.mcpExecutionModeSafeWriteDescription") }} +
+
+
{{ t("settings.mcpCapabilityTitle") }}
diff --git a/apps/desktop/src/lib/__tests__/mcp/mcpPolicySelection.spec.ts b/apps/desktop/src/lib/__tests__/mcp/mcpPolicySelection.spec.ts index 94fb084ff..a72b0249d 100644 --- a/apps/desktop/src/lib/__tests__/mcp/mcpPolicySelection.spec.ts +++ b/apps/desktop/src/lib/__tests__/mcp/mcpPolicySelection.spec.ts @@ -91,6 +91,18 @@ describe("MCP policy settings state", () => { expect(loadingStart).toBeLessThan(policyLoad); expect(loadingEnd).toBeGreaterThan(policyLoad); }); + + it("keeps translated mode descriptions in one responsive layout track", () => { + const descriptionStart = settingsDialogSource.indexOf("data-mcp-execution-mode-description"); + const descriptionEnd = settingsDialogSource.indexOf("settings.mcpCapabilityTitle", descriptionStart); + const descriptionSource = settingsDialogSource.slice(descriptionStart, descriptionEnd); + + expect(descriptionStart).toBeGreaterThan(-1); + expect(descriptionEnd).toBeGreaterThan(descriptionStart); + expect(descriptionSource).toContain('class="grid text-xs"'); + expect(descriptionSource.match(/col-start-1 row-start-1/g)).toHaveLength(3); + expect(descriptionSource.match(/\? 'visible' : 'invisible'/g)).toHaveLength(3); + }); }); describe("MCP connection search", () => {