diff --git a/packages/types/src/global-settings.ts b/packages/types/src/global-settings.ts index 9b93f0076de..a11fae1e117 100644 --- a/packages/types/src/global-settings.ts +++ b/packages/types/src/global-settings.ts @@ -74,7 +74,6 @@ export const globalSettingsSchema = z.object({ alwaysAllowWriteProtected: z.boolean().optional(), writeDelayMs: z.number().min(0).optional(), alwaysAllowBrowser: z.boolean().optional(), - alwaysApproveResubmit: z.boolean().optional(), requestDelaySeconds: z.number().optional(), alwaysAllowMcp: z.boolean().optional(), alwaysAllowModeSwitch: z.boolean().optional(), @@ -82,7 +81,6 @@ export const globalSettingsSchema = z.object({ alwaysAllowExecute: z.boolean().optional(), alwaysAllowFollowupQuestions: z.boolean().optional(), followupAutoApproveTimeoutMs: z.number().optional(), - alwaysAllowUpdateTodoList: z.boolean().optional(), allowedCommands: z.array(z.string()).optional(), deniedCommands: z.array(z.string()).optional(), commandExecutionTimeout: z.number().optional(), @@ -307,14 +305,12 @@ export const EVALS_SETTINGS: RooCodeSettings = { alwaysAllowWriteProtected: false, writeDelayMs: 1000, alwaysAllowBrowser: true, - alwaysApproveResubmit: true, requestDelaySeconds: 10, alwaysAllowMcp: true, alwaysAllowModeSwitch: true, alwaysAllowSubtasks: true, alwaysAllowExecute: true, alwaysAllowFollowupQuestions: true, - alwaysAllowUpdateTodoList: true, followupAutoApproveTimeoutMs: 0, allowedCommands: ["*"], commandExecutionTimeout: 20, diff --git a/src/core/auto-approval/index.ts b/src/core/auto-approval/index.ts index 52677932cec..da099d6aebf 100644 --- a/src/core/auto-approval/index.ts +++ b/src/core/auto-approval/index.ts @@ -12,13 +12,11 @@ export type AutoApprovalState = | "alwaysAllowReadOnly" | "alwaysAllowWrite" | "alwaysAllowBrowser" - | "alwaysApproveResubmit" | "alwaysAllowMcp" | "alwaysAllowModeSwitch" | "alwaysAllowSubtasks" | "alwaysAllowExecute" | "alwaysAllowFollowupQuestions" - | "alwaysAllowUpdateTodoList" // Some of these actions have additional settings associated with them. export type AutoApprovalStateOptions = @@ -144,7 +142,7 @@ export async function checkAutoApproval({ } if (tool.tool === "updateTodoList") { - return state.alwaysAllowUpdateTodoList === true ? { decision: "approve" } : { decision: "ask" } + return { decision: "approve" } } if (tool?.tool === "fetchInstructions") { diff --git a/src/core/task/Task.ts b/src/core/task/Task.ts index b6c31c0b850..b515e608554 100644 --- a/src/core/task/Task.ts +++ b/src/core/task/Task.ts @@ -2959,7 +2959,7 @@ export class Task extends EventEmitter implements TaskLike { // Apply exponential backoff similar to first-chunk errors when auto-resubmit is enabled const stateForBackoff = await this.providerRef.deref()?.getState() - if (stateForBackoff?.autoApprovalEnabled && stateForBackoff?.alwaysApproveResubmit) { + if (stateForBackoff?.autoApprovalEnabled) { await this.backoffAndAnnounce( currentItem.retryAttempt ?? 0, error, @@ -3216,7 +3216,7 @@ export class Task extends EventEmitter implements TaskLike { // Check if we should auto-retry or prompt the user // Reuse the state variable from above - if (state?.autoApprovalEnabled && state?.alwaysApproveResubmit) { + if (state?.autoApprovalEnabled) { // Auto-retry with backoff - don't persist failure message when retrying const errorMsg = "Unexpected API Response: The language model did not provide any assistant messages. This may indicate an issue with the API or the model's output." @@ -3509,7 +3509,6 @@ export class Task extends EventEmitter implements TaskLike { const { apiConfiguration, autoApprovalEnabled, - alwaysApproveResubmit, requestDelaySeconds, mode, autoCondenseContext = true, @@ -3811,7 +3810,7 @@ export class Task extends EventEmitter implements TaskLike { } // note that this api_req_failed ask is unique in that we only present this option if the api hasn't streamed any content yet (ie it fails on the first chunk due), as it would allow them to hit a retry button. However if the api failed mid-stream, it could be in any arbitrary state where some tools may have executed, so that error is handled differently and requires cancelling the task entirely. - if (autoApprovalEnabled && alwaysApproveResubmit) { + if (autoApprovalEnabled) { let errorMsg if (error.error?.metadata?.raw) { diff --git a/src/core/task/__tests__/Task.spec.ts b/src/core/task/__tests__/Task.spec.ts index 4bae9c49d09..b74a43590e7 100644 --- a/src/core/task/__tests__/Task.spec.ts +++ b/src/core/task/__tests__/Task.spec.ts @@ -697,11 +697,8 @@ describe("Cline", () => { return mockSuccessStream }) - // Set alwaysApproveResubmit and requestDelaySeconds - mockProvider.getState = vi.fn().mockResolvedValue({ - alwaysApproveResubmit: true, - requestDelaySeconds: 3, - }) + // Set up mock state + mockProvider.getState = vi.fn().mockResolvedValue({}) // Mock previous API request message cline.clineMessages = [ @@ -723,7 +720,7 @@ describe("Cline", () => { await iterator.next() // Calculate expected delay for first retry - const baseDelay = 3 // from requestDelaySeconds + const baseDelay = 3 // test retry delay // Verify countdown messages for (let i = baseDelay; i > 0; i--) { @@ -821,11 +818,8 @@ describe("Cline", () => { return mockSuccessStream }) - // Set alwaysApproveResubmit and requestDelaySeconds - mockProvider.getState = vi.fn().mockResolvedValue({ - alwaysApproveResubmit: true, - requestDelaySeconds: 3, - }) + // Set up mock state + mockProvider.getState = vi.fn().mockResolvedValue({}) // Mock previous API request message cline.clineMessages = [ @@ -847,7 +841,7 @@ describe("Cline", () => { await iterator.next() // Verify delay is only applied for the countdown - const baseDelay = 3 // from requestDelaySeconds + const baseDelay = 3 // test retry delay const expectedDelayCount = baseDelay // One delay per second for countdown expect(mockDelay).toHaveBeenCalledTimes(expectedDelayCount) expect(mockDelay).toHaveBeenCalledWith(1000) // Each delay should be 1 second diff --git a/src/core/webview/ClineProvider.ts b/src/core/webview/ClineProvider.ts index 0beb218969c..715a830fb69 100644 --- a/src/core/webview/ClineProvider.ts +++ b/src/core/webview/ClineProvider.ts @@ -1816,7 +1816,6 @@ export class ClineProvider alwaysAllowMcp, alwaysAllowModeSwitch, alwaysAllowSubtasks, - alwaysAllowUpdateTodoList, allowedMaxRequests, allowedMaxCost, autoCondenseContext, @@ -1848,8 +1847,6 @@ export class ClineProvider fuzzyMatchThreshold, mcpEnabled, enableMcpServerCreation, - alwaysApproveResubmit, - requestDelaySeconds, currentApiConfigName, listApiConfigMeta, pinnedApiConfigs, @@ -1948,7 +1945,6 @@ export class ClineProvider alwaysAllowMcp: alwaysAllowMcp ?? false, alwaysAllowModeSwitch: alwaysAllowModeSwitch ?? false, alwaysAllowSubtasks: alwaysAllowSubtasks ?? false, - alwaysAllowUpdateTodoList: alwaysAllowUpdateTodoList ?? false, isBrowserSessionActive, allowedMaxRequests, allowedMaxCost, @@ -1994,8 +1990,6 @@ export class ClineProvider fuzzyMatchThreshold: fuzzyMatchThreshold ?? 1.0, mcpEnabled: mcpEnabled ?? true, enableMcpServerCreation: enableMcpServerCreation ?? true, - alwaysApproveResubmit: alwaysApproveResubmit ?? false, - requestDelaySeconds: requestDelaySeconds ?? 10, currentApiConfigName: currentApiConfigName ?? "default", listApiConfigMeta: listApiConfigMeta ?? [], pinnedApiConfigs: pinnedApiConfigs ?? {}, @@ -2189,7 +2183,6 @@ export class ClineProvider alwaysAllowModeSwitch: stateValues.alwaysAllowModeSwitch ?? false, alwaysAllowSubtasks: stateValues.alwaysAllowSubtasks ?? false, alwaysAllowFollowupQuestions: stateValues.alwaysAllowFollowupQuestions ?? false, - alwaysAllowUpdateTodoList: stateValues.alwaysAllowUpdateTodoList ?? false, isBrowserSessionActive, followupAutoApproveTimeoutMs: stateValues.followupAutoApproveTimeoutMs ?? 60000, diagnosticsEnabled: stateValues.diagnosticsEnabled ?? true, @@ -2232,8 +2225,6 @@ export class ClineProvider mcpEnabled: stateValues.mcpEnabled ?? true, enableMcpServerCreation: stateValues.enableMcpServerCreation ?? true, mcpServers: this.mcpHub?.getAllServers() ?? [], - alwaysApproveResubmit: stateValues.alwaysApproveResubmit ?? false, - requestDelaySeconds: Math.max(5, stateValues.requestDelaySeconds ?? 10), currentApiConfigName: stateValues.currentApiConfigName ?? "default", listApiConfigMeta: stateValues.listApiConfigMeta ?? [], pinnedApiConfigs: stateValues.pinnedApiConfigs ?? {}, diff --git a/src/core/webview/__tests__/ClineProvider.spec.ts b/src/core/webview/__tests__/ClineProvider.spec.ts index 99a1632300f..f8bde177dd1 100644 --- a/src/core/webview/__tests__/ClineProvider.spec.ts +++ b/src/core/webview/__tests__/ClineProvider.spec.ts @@ -558,7 +558,6 @@ describe("ClineProvider", () => { fuzzyMatchThreshold: 1.0, mcpEnabled: true, enableMcpServerCreation: false, - requestDelaySeconds: 5, mode: defaultModeSlug, customModes: [], experiments: experimentDefault, @@ -835,27 +834,6 @@ describe("ClineProvider", () => { expect(mockPostMessage).toHaveBeenCalled() }) - test("requestDelaySeconds defaults to 10 seconds", async () => { - // Mock globalState.get to return undefined for requestDelaySeconds - ;(mockContext.globalState.get as any).mockImplementation((key: string) => { - if (key === "requestDelaySeconds") { - return undefined - } - return null - }) - - const state = await provider.getState() - expect(state.requestDelaySeconds).toBe(10) - }) - - test("alwaysApproveResubmit defaults to false", async () => { - // Mock globalState.get to return undefined for alwaysApproveResubmit - ;(mockContext.globalState.get as any).mockReturnValue(undefined) - - const state = await provider.getState() - expect(state.alwaysApproveResubmit).toBe(false) - }) - test("autoCondenseContext defaults to true", async () => { // Mock globalState.get to return undefined for autoCondenseContext ;(mockContext.globalState.get as any).mockImplementation((key: string) => @@ -1026,22 +1004,6 @@ describe("ClineProvider", () => { expect((await provider.getState()).showRooIgnoredFiles).toBe(false) }) - test("handles request delay settings messages", async () => { - await provider.resolveWebviewView(mockWebviewView) - const messageHandler = (mockWebviewView.webview.onDidReceiveMessage as any).mock.calls[0][0] - - // Test alwaysApproveResubmit - await messageHandler({ type: "updateSettings", updatedSettings: { alwaysApproveResubmit: true } }) - expect(updateGlobalStateSpy).toHaveBeenCalledWith("alwaysApproveResubmit", true) - expect(mockContext.globalState.update).toHaveBeenCalledWith("alwaysApproveResubmit", true) - expect(mockPostMessage).toHaveBeenCalled() - - // Test requestDelaySeconds - await messageHandler({ type: "updateSettings", updatedSettings: { requestDelaySeconds: 10 } }) - expect(mockContext.globalState.update).toHaveBeenCalledWith("requestDelaySeconds", 10) - expect(mockPostMessage).toHaveBeenCalled() - }) - test("handles updatePrompt message correctly", async () => { await provider.resolveWebviewView(mockWebviewView) const messageHandler = (mockWebviewView.webview.onDidReceiveMessage as any).mock.calls[0][0] diff --git a/src/shared/ExtensionMessage.ts b/src/shared/ExtensionMessage.ts index 5d40f2ef09d..f5d4078e48f 100644 --- a/src/shared/ExtensionMessage.ts +++ b/src/shared/ExtensionMessage.ts @@ -233,13 +233,11 @@ export type ExtensionState = Pick< | "alwaysAllowWriteOutsideWorkspace" | "alwaysAllowWriteProtected" | "alwaysAllowBrowser" - | "alwaysApproveResubmit" | "alwaysAllowMcp" | "alwaysAllowModeSwitch" | "alwaysAllowSubtasks" | "alwaysAllowFollowupQuestions" | "alwaysAllowExecute" - | "alwaysAllowUpdateTodoList" | "followupAutoApproveTimeoutMs" | "allowedCommands" | "deniedCommands" @@ -290,6 +288,7 @@ export type ExtensionState = Pick< | "includeCurrentTime" | "includeCurrentCost" | "maxGitStatusFiles" + | "requestDelaySeconds" > & { version: string clineMessages: ClineMessage[] @@ -302,7 +301,6 @@ export type ExtensionState = Pick< taskHistory: HistoryItem[] writeDelayMs: number - requestDelaySeconds: number enableCheckpoints: boolean checkpointTimeout: number // Timeout for checkpoint initialization in seconds (default: 15) diff --git a/webview-ui/src/components/chat/AutoApproveDropdown.tsx b/webview-ui/src/components/chat/AutoApproveDropdown.tsx index cdf6ad97aa6..857eb5cfb1f 100644 --- a/webview-ui/src/components/chat/AutoApproveDropdown.tsx +++ b/webview-ui/src/components/chat/AutoApproveDropdown.tsx @@ -31,7 +31,6 @@ export const AutoApproveDropdown = ({ disabled = false, triggerClassName = "" }: const { autoApprovalEnabled, setAutoApprovalEnabled, - alwaysApproveResubmit, setAlwaysAllowReadOnly, setAlwaysAllowWrite, setAlwaysAllowExecute, @@ -39,21 +38,10 @@ export const AutoApproveDropdown = ({ disabled = false, triggerClassName = "" }: setAlwaysAllowMcp, setAlwaysAllowModeSwitch, setAlwaysAllowSubtasks, - setAlwaysApproveResubmit, setAlwaysAllowFollowupQuestions, - setAlwaysAllowUpdateTodoList, } = useExtensionState() - const baseToggles = useAutoApprovalToggles() - - // Include alwaysApproveResubmit in addition to the base toggles. - const toggles = React.useMemo( - () => ({ - ...baseToggles, - alwaysApproveResubmit: alwaysApproveResubmit, - }), - [baseToggles, alwaysApproveResubmit], - ) + const toggles = useAutoApprovalToggles() const onAutoApproveToggle = React.useCallback( (key: AutoApproveSetting, value: boolean) => { @@ -81,15 +69,9 @@ export const AutoApproveDropdown = ({ disabled = false, triggerClassName = "" }: case "alwaysAllowSubtasks": setAlwaysAllowSubtasks(value) break - case "alwaysApproveResubmit": - setAlwaysApproveResubmit(value) - break case "alwaysAllowFollowupQuestions": setAlwaysAllowFollowupQuestions(value) break - case "alwaysAllowUpdateTodoList": - setAlwaysAllowUpdateTodoList(value) - break } // If enabling any option, ensure autoApprovalEnabled is true. @@ -107,9 +89,7 @@ export const AutoApproveDropdown = ({ disabled = false, triggerClassName = "" }: setAlwaysAllowMcp, setAlwaysAllowModeSwitch, setAlwaysAllowSubtasks, - setAlwaysApproveResubmit, setAlwaysAllowFollowupQuestions, - setAlwaysAllowUpdateTodoList, setAutoApprovalEnabled, ], ) diff --git a/webview-ui/src/components/chat/ChatView.tsx b/webview-ui/src/components/chat/ChatView.tsx index 97d49e396b8..a002abf8cfb 100644 --- a/webview-ui/src/components/chat/ChatView.tsx +++ b/webview-ui/src/components/chat/ChatView.tsx @@ -88,7 +88,6 @@ const ChatViewComponent: React.ForwardRefRenderFunction & { alwaysAllowWriteOutsideWorkspace?: boolean alwaysAllowWriteProtected?: boolean alwaysAllowBrowser?: boolean - alwaysApproveResubmit?: boolean - requestDelaySeconds: number alwaysAllowMcp?: boolean alwaysAllowModeSwitch?: boolean alwaysAllowSubtasks?: boolean alwaysAllowExecute?: boolean alwaysAllowFollowupQuestions?: boolean - alwaysAllowUpdateTodoList?: boolean followupAutoApproveTimeoutMs?: number allowedCommands?: string[] allowedMaxRequests?: number | undefined @@ -44,8 +41,6 @@ type AutoApproveSettingsProps = HTMLAttributes & { | "alwaysAllowWriteOutsideWorkspace" | "alwaysAllowWriteProtected" | "alwaysAllowBrowser" - | "alwaysApproveResubmit" - | "requestDelaySeconds" | "alwaysAllowMcp" | "alwaysAllowModeSwitch" | "alwaysAllowSubtasks" @@ -56,7 +51,6 @@ type AutoApproveSettingsProps = HTMLAttributes & { | "allowedMaxRequests" | "allowedMaxCost" | "deniedCommands" - | "alwaysAllowUpdateTodoList" > } @@ -67,15 +61,12 @@ export const AutoApproveSettings = ({ alwaysAllowWriteOutsideWorkspace, alwaysAllowWriteProtected, alwaysAllowBrowser, - alwaysApproveResubmit, - requestDelaySeconds, alwaysAllowMcp, alwaysAllowModeSwitch, alwaysAllowSubtasks, alwaysAllowExecute, alwaysAllowFollowupQuestions, followupAutoApproveTimeoutMs = 60000, - alwaysAllowUpdateTodoList, allowedCommands, allowedMaxRequests, allowedMaxCost, @@ -164,13 +155,11 @@ export const AutoApproveSettings = ({ alwaysAllowReadOnly={alwaysAllowReadOnly} alwaysAllowWrite={alwaysAllowWrite} alwaysAllowBrowser={alwaysAllowBrowser} - alwaysApproveResubmit={alwaysApproveResubmit} alwaysAllowMcp={alwaysAllowMcp} alwaysAllowModeSwitch={alwaysAllowModeSwitch} alwaysAllowSubtasks={alwaysAllowSubtasks} alwaysAllowExecute={alwaysAllowExecute} alwaysAllowFollowupQuestions={alwaysAllowFollowupQuestions} - alwaysAllowUpdateTodoList={alwaysAllowUpdateTodoList} onToggle={(key, value) => setCachedStateField(key, value)} /> @@ -245,31 +234,6 @@ export const AutoApproveSettings = ({ )} - {alwaysApproveResubmit && ( -
-
- -
{t("settings:autoApprove.retry.label")}
-
-
-
- setCachedStateField("requestDelaySeconds", value)} - data-testid="request-delay-slider" - /> - {requestDelaySeconds}s -
-
- {t("settings:autoApprove.retry.delayLabel")} -
-
-
- )} - {alwaysAllowFollowupQuestions && (
diff --git a/webview-ui/src/components/settings/AutoApproveToggle.tsx b/webview-ui/src/components/settings/AutoApproveToggle.tsx index 982494eb2af..2ddfdfd9721 100644 --- a/webview-ui/src/components/settings/AutoApproveToggle.tsx +++ b/webview-ui/src/components/settings/AutoApproveToggle.tsx @@ -9,13 +9,11 @@ type AutoApproveToggles = Pick< | "alwaysAllowReadOnly" | "alwaysAllowWrite" | "alwaysAllowBrowser" - | "alwaysApproveResubmit" | "alwaysAllowMcp" | "alwaysAllowModeSwitch" | "alwaysAllowSubtasks" | "alwaysAllowExecute" | "alwaysAllowFollowupQuestions" - | "alwaysAllowUpdateTodoList" > export type AutoApproveSetting = keyof AutoApproveToggles @@ -50,13 +48,6 @@ export const autoApproveSettingsConfig: Record(({ onDone, t alwaysAllowWrite, alwaysAllowWriteOutsideWorkspace, alwaysAllowWriteProtected, - alwaysApproveResubmit, autoCondenseContext, autoCondenseContextPercent, browserToolEnabled, @@ -170,7 +169,6 @@ const SettingsView = forwardRef(({ onDone, t maxOpenTabsContext, maxWorkspaceFiles, mcpEnabled, - requestDelaySeconds, remoteBrowserHost, screenshotQuality, soundEnabled, @@ -201,7 +199,6 @@ const SettingsView = forwardRef(({ onDone, t customSupportPrompts, profileThresholds, alwaysAllowFollowupQuestions, - alwaysAllowUpdateTodoList, followupAutoApproveTimeoutMs, includeDiagnosticMessages, maxDiagnosticMessages, @@ -395,8 +392,6 @@ const SettingsView = forwardRef(({ onDone, t terminalZdotdir, terminalCompressProgressBar, mcpEnabled, - alwaysApproveResubmit: alwaysApproveResubmit ?? false, - requestDelaySeconds: requestDelaySeconds ?? 5, maxOpenTabsContext: Math.min(Math.max(0, maxOpenTabsContext ?? 20), 500), maxWorkspaceFiles: Math.min(Math.max(0, maxWorkspaceFiles ?? 200), 500), showRooIgnoredFiles: showRooIgnoredFiles ?? true, @@ -408,7 +403,6 @@ const SettingsView = forwardRef(({ onDone, t includeDiagnosticMessages !== undefined ? includeDiagnosticMessages : true, maxDiagnosticMessages: maxDiagnosticMessages ?? 50, alwaysAllowSubtasks, - alwaysAllowUpdateTodoList, alwaysAllowFollowupQuestions: alwaysAllowFollowupQuestions ?? false, followupAutoApproveTimeoutMs, condensingApiConfigId: condensingApiConfigId || "", @@ -719,14 +713,11 @@ const SettingsView = forwardRef(({ onDone, t alwaysAllowWriteOutsideWorkspace={alwaysAllowWriteOutsideWorkspace} alwaysAllowWriteProtected={alwaysAllowWriteProtected} alwaysAllowBrowser={alwaysAllowBrowser} - alwaysApproveResubmit={alwaysApproveResubmit} - requestDelaySeconds={requestDelaySeconds} alwaysAllowMcp={alwaysAllowMcp} alwaysAllowModeSwitch={alwaysAllowModeSwitch} alwaysAllowSubtasks={alwaysAllowSubtasks} alwaysAllowExecute={alwaysAllowExecute} alwaysAllowFollowupQuestions={alwaysAllowFollowupQuestions} - alwaysAllowUpdateTodoList={alwaysAllowUpdateTodoList} followupAutoApproveTimeoutMs={followupAutoApproveTimeoutMs} allowedCommands={allowedCommands} allowedMaxRequests={allowedMaxRequests ?? undefined} diff --git a/webview-ui/src/components/settings/__tests__/AutoApproveToggle.spec.tsx b/webview-ui/src/components/settings/__tests__/AutoApproveToggle.spec.tsx index 270ed305eab..b67781f8da3 100644 --- a/webview-ui/src/components/settings/__tests__/AutoApproveToggle.spec.tsx +++ b/webview-ui/src/components/settings/__tests__/AutoApproveToggle.spec.tsx @@ -20,13 +20,11 @@ describe("AutoApproveToggle", () => { alwaysAllowReadOnly: true, alwaysAllowWrite: false, alwaysAllowBrowser: false, - alwaysApproveResubmit: true, alwaysAllowMcp: false, alwaysAllowModeSwitch: true, alwaysAllowSubtasks: false, alwaysAllowExecute: true, alwaysAllowFollowupQuestions: false, - alwaysAllowUpdateTodoList: true, onToggle: mockOnToggle, } diff --git a/webview-ui/src/components/settings/__tests__/SettingsView.change-detection.spec.tsx b/webview-ui/src/components/settings/__tests__/SettingsView.change-detection.spec.tsx index 67bd068db58..494070a1350 100644 --- a/webview-ui/src/components/settings/__tests__/SettingsView.change-detection.spec.tsx +++ b/webview-ui/src/components/settings/__tests__/SettingsView.change-detection.spec.tsx @@ -136,7 +136,6 @@ describe("SettingsView - Change Detection Fix", () => { alwaysAllowWrite: false, alwaysAllowWriteOutsideWorkspace: false, alwaysAllowWriteProtected: false, - alwaysApproveResubmit: false, autoCondenseContext: false, autoCondenseContextPercent: 50, browserToolEnabled: false, @@ -148,7 +147,6 @@ describe("SettingsView - Change Detection Fix", () => { maxOpenTabsContext: 10, maxWorkspaceFiles: 200, mcpEnabled: false, - requestDelaySeconds: 0, remoteBrowserHost: "", screenshotQuality: 75, soundEnabled: false, @@ -179,7 +177,6 @@ describe("SettingsView - Change Detection Fix", () => { customSupportPrompts: {}, profileThresholds: {}, alwaysAllowFollowupQuestions: false, - alwaysAllowUpdateTodoList: false, followupAutoApproveTimeoutMs: undefined, includeDiagnosticMessages: false, maxDiagnosticMessages: 50, diff --git a/webview-ui/src/components/settings/__tests__/SettingsView.unsaved-changes.spec.tsx b/webview-ui/src/components/settings/__tests__/SettingsView.unsaved-changes.spec.tsx index 6f7d01ee86b..b40e908f642 100644 --- a/webview-ui/src/components/settings/__tests__/SettingsView.unsaved-changes.spec.tsx +++ b/webview-ui/src/components/settings/__tests__/SettingsView.unsaved-changes.spec.tsx @@ -146,7 +146,6 @@ describe("SettingsView - Unsaved Changes Detection", () => { alwaysAllowWrite: false, alwaysAllowWriteOutsideWorkspace: false, alwaysAllowWriteProtected: false, - alwaysApproveResubmit: false, autoCondenseContext: false, autoCondenseContextPercent: 50, browserToolEnabled: false, @@ -158,7 +157,6 @@ describe("SettingsView - Unsaved Changes Detection", () => { maxOpenTabsContext: 10, maxWorkspaceFiles: 200, mcpEnabled: false, - requestDelaySeconds: 0, remoteBrowserHost: "", screenshotQuality: 75, soundEnabled: false, @@ -189,7 +187,6 @@ describe("SettingsView - Unsaved Changes Detection", () => { customSupportPrompts: {}, profileThresholds: {}, alwaysAllowFollowupQuestions: false, - alwaysAllowUpdateTodoList: false, followupAutoApproveTimeoutMs: undefined, includeDiagnosticMessages: false, maxDiagnosticMessages: 50, diff --git a/webview-ui/src/context/ExtensionStateContext.tsx b/webview-ui/src/context/ExtensionStateContext.tsx index 48d1f0e99a4..8215f0dd03b 100644 --- a/webview-ui/src/context/ExtensionStateContext.tsx +++ b/webview-ui/src/context/ExtensionStateContext.tsx @@ -110,10 +110,6 @@ export interface ExtensionStateContextType extends ExtensionState { setTaskSyncEnabled: (value: boolean) => void featureRoomoteControlEnabled: boolean setFeatureRoomoteControlEnabled: (value: boolean) => void - alwaysApproveResubmit?: boolean - setAlwaysApproveResubmit: (value: boolean) => void - requestDelaySeconds: number - setRequestDelaySeconds: (value: number) => void setCurrentApiConfigName: (value: string) => void setListApiConfigMeta: (value: ProviderSettingsEntry[]) => void mode: Mode @@ -155,8 +151,6 @@ export interface ExtensionStateContextType extends ExtensionState { autoCondenseContextPercent: number setAutoCondenseContextPercent: (value: number) => void routerModels?: RouterModels - alwaysAllowUpdateTodoList?: boolean - setAlwaysAllowUpdateTodoList: (value: boolean) => void includeDiagnosticMessages?: boolean setIncludeDiagnosticMessages: (value: boolean) => void maxDiagnosticMessages?: number @@ -221,8 +215,6 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode remoteControlEnabled: false, taskSyncEnabled: false, featureRoomoteControlEnabled: false, - alwaysApproveResubmit: false, - requestDelaySeconds: 5, currentApiConfigName: "default", listApiConfigMeta: [], mode: defaultModeSlug, @@ -273,7 +265,6 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode codebaseIndexSearchMinScore: undefined, }, codebaseIndexModels: { ollama: {}, openai: {} }, - alwaysAllowUpdateTodoList: true, includeDiagnosticMessages: true, maxDiagnosticMessages: 50, openRouterImageApiKey: "", @@ -531,8 +522,6 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode setTaskSyncEnabled: (value) => setState((prevState) => ({ ...prevState, taskSyncEnabled: value }) as any), setFeatureRoomoteControlEnabled: (value) => setState((prevState) => ({ ...prevState, featureRoomoteControlEnabled: value })), - setAlwaysApproveResubmit: (value) => setState((prevState) => ({ ...prevState, alwaysApproveResubmit: value })), - setRequestDelaySeconds: (value) => setState((prevState) => ({ ...prevState, requestDelaySeconds: value })), setCurrentApiConfigName: (value) => setState((prevState) => ({ ...prevState, currentApiConfigName: value })), setListApiConfigMeta, setMode: (value: Mode) => setState((prevState) => ({ ...prevState, mode: value })), @@ -584,10 +573,6 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode setCustomCondensingPrompt: (value) => setState((prevState) => ({ ...prevState, customCondensingPrompt: value })), setProfileThresholds: (value) => setState((prevState) => ({ ...prevState, profileThresholds: value })), - alwaysAllowUpdateTodoList: state.alwaysAllowUpdateTodoList, - setAlwaysAllowUpdateTodoList: (value) => { - setState((prevState) => ({ ...prevState, alwaysAllowUpdateTodoList: value })) - }, includeDiagnosticMessages: state.includeDiagnosticMessages, setIncludeDiagnosticMessages: (value) => { setState((prevState) => ({ ...prevState, includeDiagnosticMessages: value })) diff --git a/webview-ui/src/context/__tests__/ExtensionStateContext.spec.tsx b/webview-ui/src/context/__tests__/ExtensionStateContext.spec.tsx index dca353d1086..4cf104f81d5 100644 --- a/webview-ui/src/context/__tests__/ExtensionStateContext.spec.tsx +++ b/webview-ui/src/context/__tests__/ExtensionStateContext.spec.tsx @@ -190,7 +190,6 @@ describe("mergeExtensionState", () => { shouldShowAnnouncement: false, enableCheckpoints: true, writeDelayMs: 1000, - requestDelaySeconds: 5, mode: "default", experiments: {} as Record, customModes: [], diff --git a/webview-ui/src/hooks/__tests__/useAutoApprovalState.spec.ts b/webview-ui/src/hooks/__tests__/useAutoApprovalState.spec.ts index 18aed4964ed..b7fde38b700 100644 --- a/webview-ui/src/hooks/__tests__/useAutoApprovalState.spec.ts +++ b/webview-ui/src/hooks/__tests__/useAutoApprovalState.spec.ts @@ -12,9 +12,7 @@ describe("useAutoApprovalState", () => { alwaysAllowMcp: false, alwaysAllowModeSwitch: false, alwaysAllowSubtasks: false, - alwaysApproveResubmit: false, alwaysAllowFollowupQuestions: false, - alwaysAllowUpdateTodoList: false, } const { result } = renderHook(() => useAutoApprovalState(toggles, true)) @@ -31,9 +29,7 @@ describe("useAutoApprovalState", () => { alwaysAllowMcp: undefined, alwaysAllowModeSwitch: undefined, alwaysAllowSubtasks: undefined, - alwaysApproveResubmit: undefined, alwaysAllowFollowupQuestions: undefined, - alwaysAllowUpdateTodoList: undefined, } const { result } = renderHook(() => useAutoApprovalState(toggles, true)) @@ -50,9 +46,7 @@ describe("useAutoApprovalState", () => { alwaysAllowMcp: false, alwaysAllowModeSwitch: false, alwaysAllowSubtasks: false, - alwaysApproveResubmit: false, alwaysAllowFollowupQuestions: false, - alwaysAllowUpdateTodoList: false, } const { result } = renderHook(() => useAutoApprovalState(toggles, true)) @@ -69,9 +63,7 @@ describe("useAutoApprovalState", () => { alwaysAllowMcp: false, alwaysAllowModeSwitch: false, alwaysAllowSubtasks: false, - alwaysApproveResubmit: false, alwaysAllowFollowupQuestions: false, - alwaysAllowUpdateTodoList: false, } const { result } = renderHook(() => useAutoApprovalState(toggles, true)) @@ -88,9 +80,7 @@ describe("useAutoApprovalState", () => { alwaysAllowMcp: true, alwaysAllowModeSwitch: true, alwaysAllowSubtasks: true, - alwaysApproveResubmit: true, alwaysAllowFollowupQuestions: true, - alwaysAllowUpdateTodoList: true, } const { result } = renderHook(() => useAutoApprovalState(toggles, true)) @@ -133,9 +123,7 @@ describe("useAutoApprovalState", () => { alwaysAllowMcp: false, alwaysAllowModeSwitch: false, alwaysAllowSubtasks: false, - alwaysApproveResubmit: false, alwaysAllowFollowupQuestions: false, - alwaysAllowUpdateTodoList: false, } const { result } = renderHook(() => useAutoApprovalState(toggles, true)) diff --git a/webview-ui/src/hooks/useAutoApprovalState.ts b/webview-ui/src/hooks/useAutoApprovalState.ts index dd1d6d27f84..067a4a45e0e 100644 --- a/webview-ui/src/hooks/useAutoApprovalState.ts +++ b/webview-ui/src/hooks/useAutoApprovalState.ts @@ -8,9 +8,7 @@ interface AutoApprovalToggles { alwaysAllowMcp?: boolean alwaysAllowModeSwitch?: boolean alwaysAllowSubtasks?: boolean - alwaysApproveResubmit?: boolean alwaysAllowFollowupQuestions?: boolean - alwaysAllowUpdateTodoList?: boolean } export function useAutoApprovalState(toggles: AutoApprovalToggles, autoApprovalEnabled?: boolean) { diff --git a/webview-ui/src/hooks/useAutoApprovalToggles.ts b/webview-ui/src/hooks/useAutoApprovalToggles.ts index 9fe0858c93e..9c3e1c689ae 100644 --- a/webview-ui/src/hooks/useAutoApprovalToggles.ts +++ b/webview-ui/src/hooks/useAutoApprovalToggles.ts @@ -14,9 +14,7 @@ export function useAutoApprovalToggles() { alwaysAllowMcp, alwaysAllowModeSwitch, alwaysAllowSubtasks, - alwaysApproveResubmit, alwaysAllowFollowupQuestions, - alwaysAllowUpdateTodoList, } = useExtensionState() const toggles = useMemo( @@ -28,9 +26,7 @@ export function useAutoApprovalToggles() { alwaysAllowMcp, alwaysAllowModeSwitch, alwaysAllowSubtasks, - alwaysApproveResubmit, alwaysAllowFollowupQuestions, - alwaysAllowUpdateTodoList, }), [ alwaysAllowReadOnly, @@ -40,9 +36,7 @@ export function useAutoApprovalToggles() { alwaysAllowMcp, alwaysAllowModeSwitch, alwaysAllowSubtasks, - alwaysApproveResubmit, alwaysAllowFollowupQuestions, - alwaysAllowUpdateTodoList, ], ) diff --git a/webview-ui/src/i18n/locales/ca/settings.json b/webview-ui/src/i18n/locales/ca/settings.json index ec4fdfa1a73..5f801a5a532 100644 --- a/webview-ui/src/i18n/locales/ca/settings.json +++ b/webview-ui/src/i18n/locales/ca/settings.json @@ -202,11 +202,6 @@ "label": "Navegador", "description": "Realitzar accions del navegador automàticament sense requerir aprovació. Nota: Només s'aplica quan el model admet l'ús de l'ordinador" }, - "retry": { - "label": "Reintentar", - "description": "Tornar a intentar sol·licituds d'API fallides automàticament quan el servidor retorna una resposta d'error", - "delayLabel": "Retard abans de tornar a intentar la sol·licitud" - }, "mcp": { "label": "MCP", "description": "Habilitar l'aprovació automàtica d'eines MCP individuals a la vista de Servidors MCP (requereix tant aquesta configuració com la casella \"Permetre sempre\" de l'eina)" @@ -236,10 +231,6 @@ "addButton": "Afegir", "autoDenied": "Les comandes amb el prefix `{{prefix}}` han estat prohibides per l'usuari. No eludeixis aquesta restricció executant una altra comanda." }, - "updateTodoList": { - "label": "Todo", - "description": "La llista de tasques es actualitza automàticament sense aprovació" - }, "apiRequestLimit": { "title": "Màximes Sol·licituds", "description": "Fes aquesta quantitat de sol·licituds API automàticament abans de demanar aprovació per continuar amb la tasca.", diff --git a/webview-ui/src/i18n/locales/de/settings.json b/webview-ui/src/i18n/locales/de/settings.json index b0cd1e988e3..fc0707f6c31 100644 --- a/webview-ui/src/i18n/locales/de/settings.json +++ b/webview-ui/src/i18n/locales/de/settings.json @@ -202,11 +202,6 @@ "label": "Browser", "description": "Browser-Aktionen automatisch ohne Genehmigung durchführen. Hinweis: Gilt nur, wenn das Modell Computer-Nutzung unterstützt" }, - "retry": { - "label": "Wiederholung", - "description": "Fehlgeschlagene API-Anfragen automatisch wiederholen, wenn der Server eine Fehlerantwort zurückgibt", - "delayLabel": "Verzögerung vor dem Wiederholen der Anfrage" - }, "mcp": { "label": "MCP", "description": "Automatische Genehmigung einzelner MCP-Tools in der MCP-Server-Ansicht aktivieren (erfordert sowohl diese Einstellung als auch das 'Immer erlauben'-Kontrollkästchen des Tools)" @@ -236,10 +231,6 @@ "addButton": "Hinzufügen", "autoDenied": "Befehle mit dem Präfix `{{prefix}}` wurden vom Benutzer verboten. Umgehe diese Beschränkung nicht durch das Ausführen eines anderen Befehls." }, - "updateTodoList": { - "label": "Todo", - "description": "To-Do-Liste wird automatisch aktualisiert, ohne dass du zustimmen musst" - }, "apiRequestLimit": { "title": "Maximale Anfragen", "description": "Automatisch so viele API-Anfragen stellen, bevor du um die Erlaubnis gebeten wirst, mit der Aufgabe fortzufahren.", diff --git a/webview-ui/src/i18n/locales/en/settings.json b/webview-ui/src/i18n/locales/en/settings.json index 99a52b644da..5bed0117a92 100644 --- a/webview-ui/src/i18n/locales/en/settings.json +++ b/webview-ui/src/i18n/locales/en/settings.json @@ -210,11 +210,6 @@ "label": "Browser", "description": "Automatically perform browser actions without requiring approval. Note: Only applies when the model supports computer use" }, - "retry": { - "label": "Retry", - "description": "Automatically retry failed API requests when server returns an error response", - "delayLabel": "Delay before retrying the request" - }, "mcp": { "label": "MCP", "description": "Enable auto-approval of individual MCP tools in the MCP Servers view (requires both this setting and the tool's individual \"Always allow\" checkbox)" @@ -244,10 +239,6 @@ "addButton": "Add", "autoDenied": "Commands with the prefix `{{prefix}}` have been forbidden by the user. Do not bypass this restriction by running another command." }, - "updateTodoList": { - "label": "Todo", - "description": "Automatically update the to-do list without requiring approval" - }, "apiRequestLimit": { "title": "Max Count", "unlimited": "Unlimited" diff --git a/webview-ui/src/i18n/locales/es/settings.json b/webview-ui/src/i18n/locales/es/settings.json index 132790b0960..9a867986882 100644 --- a/webview-ui/src/i18n/locales/es/settings.json +++ b/webview-ui/src/i18n/locales/es/settings.json @@ -202,11 +202,6 @@ "label": "Navegador", "description": "Realizar acciones del navegador automáticamente sin requerir aprobación. Nota: Solo se aplica cuando el modelo admite el uso del ordenador" }, - "retry": { - "label": "Reintentar", - "description": "Reintentar automáticamente solicitudes de API fallidas cuando el servidor devuelve una respuesta de error", - "delayLabel": "Retraso antes de reintentar la solicitud" - }, "mcp": { "label": "MCP", "description": "Habilitar la aprobación automática de herramientas MCP individuales en la vista de Servidores MCP (requiere tanto esta configuración como la casilla \"Permitir siempre\" de la herramienta)" @@ -236,10 +231,6 @@ "addButton": "Añadir", "autoDenied": "Los comandos con el prefijo `{{prefix}}` han sido prohibidos por el usuario. No eludes esta restricción ejecutando otro comando." }, - "updateTodoList": { - "label": "Todo", - "description": "La lista de tareas se actualiza automáticamente sin aprobación" - }, "apiRequestLimit": { "title": "Solicitudes máximas", "description": "Realizar automáticamente esta cantidad de solicitudes a la API antes de pedir aprobación para continuar con la tarea.", diff --git a/webview-ui/src/i18n/locales/fr/settings.json b/webview-ui/src/i18n/locales/fr/settings.json index 4742e84b244..fdd947d2745 100644 --- a/webview-ui/src/i18n/locales/fr/settings.json +++ b/webview-ui/src/i18n/locales/fr/settings.json @@ -203,11 +203,6 @@ "label": "Navigateur", "description": "Effectuer automatiquement des actions du navigateur sans nécessiter d'approbation. Remarque : S'applique uniquement lorsque le modèle prend en charge l'utilisation de l'ordinateur" }, - "retry": { - "label": "Réessayer", - "description": "Réessayer automatiquement les requêtes API échouées lorsque le serveur renvoie une réponse d'erreur", - "delayLabel": "Délai avant de réessayer la requête" - }, "mcp": { "label": "MCP", "description": "Activer l'approbation automatique des outils MCP individuels dans la vue des serveurs MCP (nécessite à la fois ce paramètre et la case à cocher \"Toujours autoriser\" de l'outil)" @@ -237,10 +232,6 @@ "addButton": "Ajouter", "autoDenied": "Les commandes avec le préfixe `{{prefix}}` ont été interdites par l'utilisateur. Ne contourne pas cette restriction en exécutant une autre commande." }, - "updateTodoList": { - "label": "Todo", - "description": "La liste de tâches est mise à jour automatiquement sans approbation" - }, "apiRequestLimit": { "title": "Requêtes maximales", "description": "Effectuer automatiquement ce nombre de requêtes API avant de demander l'approbation pour continuer la tâche.", diff --git a/webview-ui/src/i18n/locales/hi/settings.json b/webview-ui/src/i18n/locales/hi/settings.json index 01d6208475f..416fa62d1c5 100644 --- a/webview-ui/src/i18n/locales/hi/settings.json +++ b/webview-ui/src/i18n/locales/hi/settings.json @@ -202,11 +202,6 @@ "label": "ब्राउज़र", "description": "अनुमोदन की आवश्यकता के बिना स्वचालित रूप से ब्राउज़र क्रियाएँ करें — नोट: केवल तभी लागू होता है जब मॉडल कंप्यूटर उपयोग का समर्थन करता है" }, - "retry": { - "label": "पुनः प्रयास", - "description": "जब सर्वर त्रुटि प्रतिक्रिया देता है तो स्वचालित रूप से विफल API अनुरोधों को पुनः प्रयास करें", - "delayLabel": "अनुरोध को पुनः प्रयास करने से पहले विलंब" - }, "mcp": { "label": "MCP", "description": "MCP सर्वर व्यू में व्यक्तिगत MCP टूल्स के स्वतः अनुमोदन को सक्षम करें (इस सेटिंग और टूल के \"हमेशा अनुमति दें\" चेकबॉक्स दोनों की आवश्यकता है)" @@ -236,10 +231,6 @@ "addButton": "जोड़ें", "autoDenied": "प्रीफिक्स `{{prefix}}` वाले कमांड उपयोगकर्ता द्वारा प्रतिबंधित किए गए हैं। दूसरा कमांड चलाकर इस प्रतिबंध को दरकिनार न करें।" }, - "updateTodoList": { - "label": "टूडू", - "description": "अनुमोदन की आवश्यकता के बिना स्वचालित रूप से टूडू सूची अपडेट करें" - }, "apiRequestLimit": { "title": "अधिकतम अनुरोध", "description": "कार्य जारी रखने के लिए अनुमति मांगने से पहले स्वचालित रूप से इतने API अनुरोध करें।", diff --git a/webview-ui/src/i18n/locales/id/settings.json b/webview-ui/src/i18n/locales/id/settings.json index 052c4684687..5146cde42d3 100644 --- a/webview-ui/src/i18n/locales/id/settings.json +++ b/webview-ui/src/i18n/locales/id/settings.json @@ -202,11 +202,6 @@ "label": "Browser", "description": "Secara otomatis melakukan aksi browser tanpa memerlukan persetujuan. Catatan: Hanya berlaku ketika model mendukung computer use" }, - "retry": { - "label": "Coba Lagi", - "description": "Secara otomatis mencoba ulang permintaan API yang gagal ketika server mengembalikan respons error", - "delayLabel": "Delay sebelum mencoba ulang permintaan" - }, "mcp": { "label": "MCP", "description": "Aktifkan auto-approval tool MCP individual di tampilan Server MCP (memerlukan pengaturan ini dan checkbox \"Selalu izinkan\" tool tersebut)" @@ -240,10 +235,6 @@ "label": "Tampilkan menu auto-approve di tampilan chat", "description": "Ketika diaktifkan, menu auto-approve akan ditampilkan di bagian bawah tampilan chat, memungkinkan akses cepat ke pengaturan auto-approve" }, - "updateTodoList": { - "label": "Todo", - "description": "Daftar tugas diperbarui secara otomatis tanpa persetujuan" - }, "apiRequestLimit": { "title": "Permintaan Maks", "description": "Secara otomatis membuat sejumlah permintaan API ini sebelum meminta persetujuan untuk melanjutkan tugas.", diff --git a/webview-ui/src/i18n/locales/it/settings.json b/webview-ui/src/i18n/locales/it/settings.json index fcc6d900a39..b30b3826e23 100644 --- a/webview-ui/src/i18n/locales/it/settings.json +++ b/webview-ui/src/i18n/locales/it/settings.json @@ -202,11 +202,6 @@ "label": "Browser", "description": "Esegui automaticamente azioni del browser senza richiedere approvazione. Nota: Si applica solo quando il modello supporta l'uso del computer" }, - "retry": { - "label": "Riprova", - "description": "Riprova automaticamente le richieste API fallite quando il server restituisce una risposta di errore", - "delayLabel": "Ritardo prima di riprovare la richiesta" - }, "mcp": { "label": "MCP", "description": "Abilita l'approvazione automatica dei singoli strumenti MCP nella vista Server MCP (richiede sia questa impostazione che la casella \"Consenti sempre\" dello strumento)" @@ -236,10 +231,6 @@ "addButton": "Aggiungi", "autoDenied": "I comandi con il prefisso `{{prefix}}` sono stati vietati dall'utente. Non aggirare questa restrizione eseguendo un altro comando." }, - "updateTodoList": { - "label": "Todo", - "description": "La lista delle cose da fare viene aggiornata automaticamente senza approvazione" - }, "apiRequestLimit": { "title": "Richieste massime", "description": "Esegui automaticamente questo numero di richieste API prima di chiedere l'approvazione per continuare con l'attività.", diff --git a/webview-ui/src/i18n/locales/ja/settings.json b/webview-ui/src/i18n/locales/ja/settings.json index 62d2a4b8a53..6172b090658 100644 --- a/webview-ui/src/i18n/locales/ja/settings.json +++ b/webview-ui/src/i18n/locales/ja/settings.json @@ -202,11 +202,6 @@ "label": "ブラウザ", "description": "承認なしで自動的にブラウザアクションを実行 — 注意:コンピューター使用をサポートするモデルを使用している場合のみ適用されます" }, - "retry": { - "label": "再試行", - "description": "サーバーがエラーレスポンスを返した場合、自動的に失敗したAPIリクエストを再試行", - "delayLabel": "リクエスト再試行前の遅延" - }, "mcp": { "label": "MCP", "description": "MCPサーバービューで個々のMCPツールの自動承認を有効にします(この設定とツールの「常に許可」チェックボックスの両方が必要)" @@ -236,10 +231,6 @@ "addButton": "追加", "autoDenied": "プレフィックス `{{prefix}}` を持つコマンドはユーザーによって禁止されています。別のコマンドを実行してこの制限を回避しないでください。" }, - "updateTodoList": { - "label": "Todo", - "description": "承認なしで自動的にToDoリストを更新" - }, "apiRequestLimit": { "title": "最大リクエスト数", "description": "タスクを続行するための承認を求める前に、自動的にこの数のAPIリクエストを行います。", diff --git a/webview-ui/src/i18n/locales/ko/settings.json b/webview-ui/src/i18n/locales/ko/settings.json index bbc5ce8d007..3c1e64f0bc0 100644 --- a/webview-ui/src/i18n/locales/ko/settings.json +++ b/webview-ui/src/i18n/locales/ko/settings.json @@ -202,11 +202,6 @@ "label": "브라우저", "description": "승인 없이 자동으로 브라우저 작업 수행 — 참고: 모델이 컴퓨터 사용을 지원할 때만 적용됩니다" }, - "retry": { - "label": "재시도", - "description": "서버가 오류 응답을 반환할 때 자동으로 실패한 API 요청 재시도", - "delayLabel": "요청 재시도 전 지연" - }, "mcp": { "label": "MCP", "description": "MCP 서버 보기에서 개별 MCP 도구의 자동 승인 활성화(이 설정과 도구의 \"항상 허용\" 체크박스 모두 필요)" @@ -236,10 +231,6 @@ "addButton": "추가", "autoDenied": "접두사 `{{prefix}}`를 가진 명령어는 사용자에 의해 금지되었습니다. 다른 명령어를 실행하여 이 제한을 우회하지 마세요." }, - "updateTodoList": { - "label": "Todo", - "description": "승인 없이 자동으로 할 일 목록이 업데이트됩니다" - }, "apiRequestLimit": { "title": "최대 요청 수", "description": "작업을 계속하기 위한 승인을 요청하기 전에 자동으로 이 수의 API 요청을 수행합니다.", diff --git a/webview-ui/src/i18n/locales/nl/settings.json b/webview-ui/src/i18n/locales/nl/settings.json index b056872d150..7276e68273c 100644 --- a/webview-ui/src/i18n/locales/nl/settings.json +++ b/webview-ui/src/i18n/locales/nl/settings.json @@ -202,11 +202,6 @@ "label": "Browser", "description": "Automatisch browseracties uitvoeren zonder goedkeuring. Let op: geldt alleen als het model computergebruik ondersteunt." }, - "retry": { - "label": "Opnieuw proberen", - "description": "Automatisch mislukte API-verzoeken opnieuw proberen wanneer de server een foutmelding geeft", - "delayLabel": "Vertraging voordat het verzoek opnieuw wordt geprobeerd" - }, "mcp": { "label": "MCP", "description": "Automatische goedkeuring van individuele MCP-tools in het MCP-serversoverzicht inschakelen (vereist zowel deze instelling als het selectievakje 'Altijd toestaan' bij de tool)" @@ -236,10 +231,6 @@ "addButton": "Toevoegen", "autoDenied": "Commando's met het prefix `{{prefix}}` zijn verboden door de gebruiker. Omzeil deze beperking niet door een ander commando uit te voeren." }, - "updateTodoList": { - "label": "Todo", - "description": "De takenlijst wordt automatisch bijgewerkt zonder goedkeuring" - }, "apiRequestLimit": { "title": "Maximale verzoeken", "description": "Voer automatisch dit aantal API-verzoeken uit voordat om goedkeuring wordt gevraagd om door te gaan met de taak.", diff --git a/webview-ui/src/i18n/locales/pl/settings.json b/webview-ui/src/i18n/locales/pl/settings.json index f777d5bcc9f..cb06e8fa82c 100644 --- a/webview-ui/src/i18n/locales/pl/settings.json +++ b/webview-ui/src/i18n/locales/pl/settings.json @@ -202,11 +202,6 @@ "label": "Przeglądarka", "description": "Automatycznie wykonuj akcje przeglądarki bez konieczności zatwierdzania. Uwaga: Dotyczy tylko gdy model obsługuje używanie komputera" }, - "retry": { - "label": "Ponów", - "description": "Automatycznie ponawiaj nieudane żądania API, gdy serwer zwraca odpowiedź z błędem", - "delayLabel": "Opóźnienie przed ponowieniem żądania" - }, "mcp": { "label": "MCP", "description": "Włącz automatyczne zatwierdzanie poszczególnych narzędzi MCP w widoku Serwerów MCP (wymaga zarówno tego ustawienia, jak i pola wyboru \"Zawsze zezwalaj\" narzędzia)" @@ -236,10 +231,6 @@ "addButton": "Dodaj", "autoDenied": "Polecenia z prefiksem `{{prefix}}` zostały zabronione przez użytkownika. Nie obchodź tego ograniczenia uruchamiając inne polecenie." }, - "updateTodoList": { - "label": "Todo", - "description": "Lista zadań jest automatycznie aktualizowana bez zatwierdzenia" - }, "apiRequestLimit": { "title": "Maksymalna liczba żądań", "description": "Automatycznie wykonaj tyle żądań API przed poproszeniem o zgodę na kontynuowanie zadania.", diff --git a/webview-ui/src/i18n/locales/pt-BR/settings.json b/webview-ui/src/i18n/locales/pt-BR/settings.json index de80fbd3806..0ef75807760 100644 --- a/webview-ui/src/i18n/locales/pt-BR/settings.json +++ b/webview-ui/src/i18n/locales/pt-BR/settings.json @@ -202,11 +202,6 @@ "label": "Navegador", "description": "Realizar ações do navegador automaticamente sem exigir aprovação. Nota: Aplica-se apenas quando o modelo suporta uso do computador" }, - "retry": { - "label": "Tentar novamente", - "description": "Tentar novamente automaticamente requisições de API com falha quando o servidor retorna uma resposta de erro", - "delayLabel": "Atraso antes de tentar novamente a requisição" - }, "mcp": { "label": "MCP", "description": "Ativar aprovação automática de ferramentas MCP individuais na visualização de Servidores MCP (requer tanto esta configuração quanto a caixa de seleção \"Permitir sempre\" da ferramenta)" @@ -236,10 +231,6 @@ "addButton": "Adicionar", "autoDenied": "Comandos com o prefixo `{{prefix}}` foram proibidos pelo usuário. Não contorne esta restrição executando outro comando." }, - "updateTodoList": { - "label": "Todo", - "description": "A lista de tarefas é atualizada automaticamente sem aprovação" - }, "apiRequestLimit": { "title": "Máximo de Solicitações", "description": "Fazer automaticamente este número de requisições à API antes de pedir aprovação para continuar com a tarefa.", diff --git a/webview-ui/src/i18n/locales/ru/settings.json b/webview-ui/src/i18n/locales/ru/settings.json index 9aff6f4d68f..1adcf4ca806 100644 --- a/webview-ui/src/i18n/locales/ru/settings.json +++ b/webview-ui/src/i18n/locales/ru/settings.json @@ -202,11 +202,6 @@ "label": "Браузер", "description": "Автоматически выполнять действия в браузере без необходимости одобрения. Применяется только, если модель поддерживает использование компьютера" }, - "retry": { - "label": "Повтор", - "description": "Автоматически повторять неудачные запросы к API при ошибке сервера", - "delayLabel": "Задержка перед повтором запроса" - }, "mcp": { "label": "MCP", "description": "Включить автоодобрение отдельных инструментов MCP в представлении MCP Servers (требуется включить как этот параметр, так и индивидуальный чекбокс инструмента \"Всегда разрешать\")" @@ -236,10 +231,6 @@ "addButton": "Добавить", "autoDenied": "Команды с префиксом `{{prefix}}` были запрещены пользователем. Не обходи это ограничение, выполняя другую команду." }, - "updateTodoList": { - "label": "Todo", - "description": "Список дел обновляется автоматически без подтверждения" - }, "apiRequestLimit": { "title": "Максимум запросов", "description": "Автоматически выполнять это количество API-запросов перед запросом разрешения на продолжение задачи.", diff --git a/webview-ui/src/i18n/locales/tr/settings.json b/webview-ui/src/i18n/locales/tr/settings.json index ff4bdae83d3..4c0d3cc0f49 100644 --- a/webview-ui/src/i18n/locales/tr/settings.json +++ b/webview-ui/src/i18n/locales/tr/settings.json @@ -202,11 +202,6 @@ "label": "Tarayıcı", "description": "Onay gerektirmeden otomatik olarak tarayıcı eylemleri gerçekleştir. Not: Yalnızca model bilgisayar kullanımını desteklediğinde geçerlidir" }, - "retry": { - "label": "Yeniden Dene", - "description": "Sunucu bir hata yanıtı döndürdüğünde başarısız API isteklerini otomatik olarak yeniden dene", - "delayLabel": "İsteği yeniden denemeden önce gecikme" - }, "mcp": { "label": "MCP", "description": "MCP Sunucuları görünümünde bireysel MCP araçlarının otomatik onayını etkinleştir (hem bu ayar hem de aracın \"Her zaman izin ver\" onay kutusu gerekir)" @@ -236,10 +231,6 @@ "addButton": "Ekle", "autoDenied": "`{{prefix}}` önekli komutlar kullanıcı tarafından yasaklandı. Başka bir komut çalıştırarak bu kısıtlamayı aşma." }, - "updateTodoList": { - "label": "Todo", - "description": "Yapılacaklar listesi onay gerektirmeden otomatik olarak güncellenir" - }, "apiRequestLimit": { "title": "Maksimum İstek", "description": "Göreve devam etmek için onay istemeden önce bu sayıda API isteği otomatik olarak yap.", diff --git a/webview-ui/src/i18n/locales/vi/settings.json b/webview-ui/src/i18n/locales/vi/settings.json index 040b4fb97b7..579e0145b04 100644 --- a/webview-ui/src/i18n/locales/vi/settings.json +++ b/webview-ui/src/i18n/locales/vi/settings.json @@ -202,11 +202,6 @@ "label": "Trình duyệt", "description": "Tự động thực hiện các hành động trình duyệt mà không cần phê duyệt. Lưu ý: Chỉ áp dụng khi mô hình hỗ trợ sử dụng máy tính" }, - "retry": { - "label": "Thử lại", - "description": "Tự động thử lại các yêu cầu API thất bại khi máy chủ trả về phản hồi lỗi", - "delayLabel": "Trì hoãn trước khi thử lại yêu cầu" - }, "mcp": { "label": "MCP", "description": "Bật tự động phê duyệt các công cụ MCP riêng lẻ trong chế độ xem Máy chủ MCP (yêu cầu cả cài đặt này và hộp kiểm \"Luôn cho phép\" của công cụ)" @@ -236,10 +231,6 @@ "addButton": "Thêm", "autoDenied": "Các lệnh có tiền tố `{{prefix}}` đã bị người dùng cấm. Đừng vượt qua hạn chế này bằng cách chạy lệnh khác." }, - "updateTodoList": { - "label": "Todo", - "description": "Danh sách việc cần làm được cập nhật tự động mà không cần phê duyệt" - }, "apiRequestLimit": { "title": "Số lượng yêu cầu tối đa", "description": "Tự động thực hiện số lượng API request này trước khi yêu cầu phê duyệt để tiếp tục với nhiệm vụ.", diff --git a/webview-ui/src/i18n/locales/zh-CN/settings.json b/webview-ui/src/i18n/locales/zh-CN/settings.json index b3e429ee2d9..40e4ee51227 100644 --- a/webview-ui/src/i18n/locales/zh-CN/settings.json +++ b/webview-ui/src/i18n/locales/zh-CN/settings.json @@ -202,11 +202,6 @@ "label": "浏览器", "description": "自动执行浏览器操作而无需批准 — 注意:仅当模型支持计算机功能调用时适用" }, - "retry": { - "label": "重试", - "description": "当服务器返回错误响应时自动重试失败的 API 请求", - "delayLabel": "重试请求前的延迟" - }, "mcp": { "label": "MCP", "description": "允许自动调用MCP服务而无需批准" @@ -236,10 +231,6 @@ "addButton": "添加", "autoDenied": "前缀为 `{{prefix}}` 的命令已被用户禁止。不要通过运行其他命令来绕过此限制。" }, - "updateTodoList": { - "label": "待办", - "description": "无需批准即可自动更新待办清单" - }, "apiRequestLimit": { "title": "最大请求数", "description": "在请求批准以继续执行任务之前,自动发出此数量的 API 请求。", diff --git a/webview-ui/src/i18n/locales/zh-TW/settings.json b/webview-ui/src/i18n/locales/zh-TW/settings.json index 3644df8e0d7..9e43327289a 100644 --- a/webview-ui/src/i18n/locales/zh-TW/settings.json +++ b/webview-ui/src/i18n/locales/zh-TW/settings.json @@ -202,11 +202,6 @@ "label": "瀏覽器", "description": "自動執行瀏覽器操作而無需核准 — 注意:僅適用於模型支援電腦使用時" }, - "retry": { - "label": "重試", - "description": "當伺服器回傳錯誤回應時自動重試失敗的 API 請求", - "delayLabel": "重試請求前的延遲" - }, "mcp": { "label": "MCP", "description": "在 MCP 伺服器檢視中啟用個別 MCP 工具的自動核准(需要此設定和工具的「始終允許」核取方塊)" @@ -236,10 +231,6 @@ "addButton": "新增", "autoDenied": "前綴為 `{{prefix}}` 的命令已被使用者禁止。不要透過執行其他命令來繞過此限制。" }, - "updateTodoList": { - "label": "待辦", - "description": "自動更新待辦清單無需核准" - }, "apiRequestLimit": { "title": "最大請求數", "description": "在請求核准以繼續執行工作之前,自動發出此數量的 API 請求。",