mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-10-07 02:58:15 +00:00
Clean up global rateLimitSeconds & fully shift to provider version (#2408)
* Directly use provider rateLimitSeconds and remove uneeded default * remove a bunch of unused rateLimitSeconds references * rateLimitSettings field def in GlobalSettingsRecord isn't needed for migration
This commit is contained in:
parent
dedd655c9e
commit
58149a083e
12 changed files with 4 additions and 28 deletions
|
|
@ -59,7 +59,6 @@ export const rooCodeDefaults: RooCodeSettings = {
|
|||
terminalOutputLineLimit: 500,
|
||||
terminalShellIntegrationTimeout: 15000,
|
||||
|
||||
rateLimitSeconds: 0,
|
||||
diffEnabled: true,
|
||||
fuzzyMatchThreshold: 1.0,
|
||||
experiments: {
|
||||
|
|
|
|||
|
|
@ -518,7 +518,6 @@ export const globalSettingsSchema = z.object({
|
|||
terminalOutputLineLimit: z.number().optional(),
|
||||
terminalShellIntegrationTimeout: z.number().optional(),
|
||||
|
||||
rateLimitSeconds: z.number().optional(),
|
||||
diffEnabled: z.boolean().optional(),
|
||||
fuzzyMatchThreshold: z.number().optional(),
|
||||
experiments: experimentsSchema.optional(),
|
||||
|
|
@ -588,7 +587,6 @@ const globalSettingsRecord: GlobalSettingsRecord = {
|
|||
terminalOutputLineLimit: undefined,
|
||||
terminalShellIntegrationTimeout: undefined,
|
||||
|
||||
rateLimitSeconds: undefined,
|
||||
diffEnabled: undefined,
|
||||
fuzzyMatchThreshold: undefined,
|
||||
experiments: undefined,
|
||||
|
|
|
|||
|
|
@ -1080,7 +1080,7 @@ export class Cline extends EventEmitter<ClineEvents> {
|
|||
async *attemptApiRequest(previousApiReqIndex: number, retryAttempt: number = 0): ApiStream {
|
||||
let mcpHub: McpHub | undefined
|
||||
|
||||
const { mcpEnabled, alwaysApproveResubmit, requestDelaySeconds, rateLimitSeconds } =
|
||||
const { apiConfiguration, mcpEnabled, alwaysApproveResubmit, requestDelaySeconds } =
|
||||
(await this.providerRef.deref()?.getState()) ?? {}
|
||||
|
||||
let rateLimitDelay = 0
|
||||
|
|
@ -1089,7 +1089,7 @@ export class Cline extends EventEmitter<ClineEvents> {
|
|||
if (this.lastApiRequestTime) {
|
||||
const now = Date.now()
|
||||
const timeSinceLastRequest = now - this.lastApiRequestTime
|
||||
const rateLimit = rateLimitSeconds || 0
|
||||
const rateLimit = apiConfiguration?.rateLimitSeconds || 0
|
||||
rateLimitDelay = Math.ceil(Math.max(0, rateLimit * 1000 - timeSinceLastRequest) / 1000)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,12 +32,7 @@ export class ProviderSettingsManager {
|
|||
|
||||
private readonly defaultProviderProfiles: ProviderProfiles = {
|
||||
currentApiConfigName: "default",
|
||||
apiConfigs: {
|
||||
default: {
|
||||
id: this.defaultConfigId,
|
||||
rateLimitSeconds: 0,
|
||||
},
|
||||
},
|
||||
apiConfigs: { default: { id: this.defaultConfigId } },
|
||||
modeApiConfigs: this.defaultModeApiConfigs,
|
||||
migrations: {
|
||||
rateLimitSecondsMigrated: true, // Mark as migrated on fresh installs
|
||||
|
|
|
|||
|
|
@ -1202,7 +1202,6 @@ export class ClineProvider extends EventEmitter<ClineProviderEvents> implements
|
|||
enableMcpServerCreation,
|
||||
alwaysApproveResubmit,
|
||||
requestDelaySeconds,
|
||||
rateLimitSeconds,
|
||||
currentApiConfigName,
|
||||
listApiConfigMeta,
|
||||
pinnedApiConfigs,
|
||||
|
|
@ -1270,7 +1269,6 @@ export class ClineProvider extends EventEmitter<ClineProviderEvents> implements
|
|||
enableMcpServerCreation: enableMcpServerCreation ?? true,
|
||||
alwaysApproveResubmit: alwaysApproveResubmit ?? false,
|
||||
requestDelaySeconds: requestDelaySeconds ?? 10,
|
||||
rateLimitSeconds: rateLimitSeconds ?? 0,
|
||||
currentApiConfigName: currentApiConfigName ?? "default",
|
||||
listApiConfigMeta: listApiConfigMeta ?? [],
|
||||
pinnedApiConfigs: pinnedApiConfigs ?? {},
|
||||
|
|
@ -1358,7 +1356,6 @@ export class ClineProvider extends EventEmitter<ClineProviderEvents> implements
|
|||
enableMcpServerCreation: stateValues.enableMcpServerCreation ?? true,
|
||||
alwaysApproveResubmit: stateValues.alwaysApproveResubmit ?? false,
|
||||
requestDelaySeconds: Math.max(5, stateValues.requestDelaySeconds ?? 10),
|
||||
rateLimitSeconds: stateValues.rateLimitSeconds ?? 0,
|
||||
currentApiConfigName: stateValues.currentApiConfigName ?? "default",
|
||||
listApiConfigMeta: stateValues.listApiConfigMeta ?? [],
|
||||
pinnedApiConfigs: stateValues.pinnedApiConfigs ?? {},
|
||||
|
|
|
|||
|
|
@ -414,7 +414,6 @@ describe("ClineProvider", () => {
|
|||
mcpEnabled: true,
|
||||
enableMcpServerCreation: false,
|
||||
requestDelaySeconds: 5,
|
||||
rateLimitSeconds: 0,
|
||||
mode: defaultModeSlug,
|
||||
customModes: [],
|
||||
experiments: experimentDefault,
|
||||
|
|
|
|||
|
|
@ -717,10 +717,6 @@ export const webviewMessageHandler = async (provider: ClineProvider, message: We
|
|||
await updateGlobalState("requestDelaySeconds", message.value ?? 5)
|
||||
await provider.postStateToWebview()
|
||||
break
|
||||
case "rateLimitSeconds":
|
||||
await updateGlobalState("rateLimitSeconds", message.value ?? 0)
|
||||
await provider.postStateToWebview()
|
||||
break
|
||||
case "writeDelayMs":
|
||||
await updateGlobalState("writeDelayMs", message.value)
|
||||
await provider.postStateToWebview()
|
||||
|
|
|
|||
|
|
@ -153,7 +153,6 @@ export type ExtensionState = Pick<
|
|||
// | "maxReadFileLine" // Optional in GlobalSettings, required here.
|
||||
| "terminalOutputLineLimit"
|
||||
| "terminalShellIntegrationTimeout"
|
||||
// | "rateLimitSeconds" // Optional in GlobalSettings, required here.
|
||||
| "diffEnabled"
|
||||
| "fuzzyMatchThreshold"
|
||||
// | "experiments" // Optional in GlobalSettings, required here.
|
||||
|
|
@ -187,7 +186,6 @@ export type ExtensionState = Pick<
|
|||
showRooIgnoredFiles: boolean // Whether to show .rooignore'd files in listings
|
||||
maxReadFileLine: number // Maximum number of lines to read from a file before truncating
|
||||
|
||||
rateLimitSeconds: number // Minimum time between successive requests (0 = disabled).
|
||||
experiments: Record<ExperimentId, boolean> // Map of experiment IDs to their enabled state
|
||||
|
||||
mcpEnabled: boolean
|
||||
|
|
|
|||
|
|
@ -87,7 +87,6 @@ export interface WebviewMessage {
|
|||
| "searchCommits"
|
||||
| "alwaysApproveResubmit"
|
||||
| "requestDelaySeconds"
|
||||
| "rateLimitSeconds"
|
||||
| "setApiConfigPassword"
|
||||
| "requestVsCodeLmModels"
|
||||
| "mode"
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import { ExperimentalFeature } from "./ExperimentalFeature"
|
|||
|
||||
type ExperimentalSettingsProps = HTMLAttributes<HTMLDivElement> & {
|
||||
setCachedStateField: SetCachedStateField<
|
||||
"rateLimitSeconds" | "terminalOutputLineLimit" | "maxOpenTabsContext" | "diffEnabled" | "fuzzyMatchThreshold"
|
||||
"terminalOutputLineLimit" | "maxOpenTabsContext" | "diffEnabled" | "fuzzyMatchThreshold"
|
||||
>
|
||||
experiments: Record<ExperimentId, boolean>
|
||||
setExperimentEnabled: SetExperimentEnabled
|
||||
|
|
|
|||
|
|
@ -58,8 +58,6 @@ export interface ExtensionStateContextType extends ExtensionState {
|
|||
setAlwaysApproveResubmit: (value: boolean) => void
|
||||
requestDelaySeconds: number
|
||||
setRequestDelaySeconds: (value: number) => void
|
||||
rateLimitSeconds: number
|
||||
setRateLimitSeconds: (value: number) => void
|
||||
setCurrentApiConfigName: (value: string) => void
|
||||
setListApiConfigMeta: (value: ApiConfigMeta[]) => void
|
||||
mode: Mode
|
||||
|
|
@ -142,7 +140,6 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode
|
|||
enableMcpServerCreation: true,
|
||||
alwaysApproveResubmit: false,
|
||||
requestDelaySeconds: 5,
|
||||
rateLimitSeconds: 0, // Minimum time between successive requests (0 = disabled)
|
||||
currentApiConfigName: "default",
|
||||
listApiConfigMeta: [],
|
||||
mode: defaultModeSlug,
|
||||
|
|
@ -296,7 +293,6 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode
|
|||
setState((prevState) => ({ ...prevState, enableMcpServerCreation: value })),
|
||||
setAlwaysApproveResubmit: (value) => setState((prevState) => ({ ...prevState, alwaysApproveResubmit: value })),
|
||||
setRequestDelaySeconds: (value) => setState((prevState) => ({ ...prevState, requestDelaySeconds: value })),
|
||||
setRateLimitSeconds: (value) => setState((prevState) => ({ ...prevState, rateLimitSeconds: value })),
|
||||
setCurrentApiConfigName: (value) => setState((prevState) => ({ ...prevState, currentApiConfigName: value })),
|
||||
setListApiConfigMeta,
|
||||
setMode: (value: Mode) => setState((prevState) => ({ ...prevState, mode: value })),
|
||||
|
|
|
|||
|
|
@ -193,7 +193,6 @@ describe("mergeExtensionState", () => {
|
|||
checkpointStorage: "task",
|
||||
writeDelayMs: 1000,
|
||||
requestDelaySeconds: 5,
|
||||
rateLimitSeconds: 0,
|
||||
mode: "default",
|
||||
experiments: {} as Record<ExperimentId, boolean>,
|
||||
customModes: [],
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue