From d8df7d0066d5d75b3eac92d38a6983741decea45 Mon Sep 17 00:00:00 2001 From: Roo Code Date: Thu, 23 Oct 2025 15:07:18 +0000 Subject: [PATCH] feat: add concurrent edits toggle to auto-approval dropdown - Add a top-level toggle for the MULTI_FILE_APPLY_DIFF experiment - Display toggle in AutoApproveDropdown above regular auto-approval settings - Connect toggle to experiment state management - Add localization strings for the new toggle - Implement proper TypeScript types and message handling Fixes #8791 --- .../components/chat/AutoApproveDropdown.tsx | 32 ++++++++++++++++++- webview-ui/src/i18n/locales/en/chat.json | 6 +++- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/webview-ui/src/components/chat/AutoApproveDropdown.tsx b/webview-ui/src/components/chat/AutoApproveDropdown.tsx index 08e4a90f6b..67e4d3f79b 100644 --- a/webview-ui/src/components/chat/AutoApproveDropdown.tsx +++ b/webview-ui/src/components/chat/AutoApproveDropdown.tsx @@ -1,5 +1,5 @@ import React from "react" -import { ListChecks, LayoutList, Settings, CheckCheck, X } from "lucide-react" +import { ListChecks, LayoutList, Settings, CheckCheck, X, FileEdit } from "lucide-react" import { vscode } from "@/utils/vscode" import { cn } from "@/lib/utils" @@ -35,6 +35,8 @@ export const AutoApproveDropdown = ({ disabled = false, triggerClassName = "" }: setAlwaysApproveResubmit, setAlwaysAllowFollowupQuestions, setAlwaysAllowUpdateTodoList, + experiments, + setExperimentEnabled, } = useExtensionState() const baseToggles = useAutoApprovalToggles() @@ -215,6 +217,34 @@ export const AutoApproveDropdown = ({ disabled = false, triggerClassName = "" }: {t("chat:autoApprove.description")}

+ + {/* Concurrent Edits Toggle - Always visible as a quick access toggle */} +
+ + + +
{settingsArray.map(({ key, labelKey, descriptionKey, icon }) => { const isEnabled = toggles[key] diff --git a/webview-ui/src/i18n/locales/en/chat.json b/webview-ui/src/i18n/locales/en/chat.json index 9ab37b1149..9ae395ee56 100644 --- a/webview-ui/src/i18n/locales/en/chat.json +++ b/webview-ui/src/i18n/locales/en/chat.json @@ -290,7 +290,11 @@ "triggerLabel_zero": "0 auto-approve", "triggerLabel_one": "1 auto-approved", "triggerLabel_other": "{{count}} auto-approved", - "triggerLabelAll": "YOLO" + "triggerLabelAll": "YOLO", + "concurrentEdits": { + "label": "Concurrent Edits", + "description": "Enable concurrent file edits for faster multi-file operations" + } }, "announcement": { "title": "🎉 Roo Code {{version}} Released",