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",