feat: disable automatic full-workspace indexing for multi-root workspaces #10612
+340
−13
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR attempts to address Issue #10569. Feedback and guidance are welcome.
Problem
Multi-root workspaces cause local LLM DoS/Timeouts when Roo Code indexes all workspace folders simultaneously, overwhelming local embedding providers like Ollama.
Solution
This PR adds two new settings to control codebase indexing behavior:
Auto-start indexing (
codebaseIndexAutoStart): Controls whether indexing starts automatically when opening a workspace. Default:true(existing behavior). Users can disable this for multi-root workspaces or when using resource-constrained local embedding providers.Maximum concurrent indexing (
codebaseIndexMaxConcurrent): Limits how many workspace folders can be indexed simultaneously. Default:1(sequential). Range: 1-10. Lower values reduce resource usage but take longer to complete.Changes
codebaseIndexAutoStartandcodebaseIndexMaxConcurrentsettings to typesconfig-manager.tsto load and expose new settings via gettersextension.tsthat respects concurrency limitsCodeIndexPopover.tsx(checkbox for auto-start, slider for max concurrent)Testing
Edge Cases Covered
Fixes #10569
Important
Adds settings to control codebase indexing auto-start and concurrency, updates configuration management, and enhances UI with new controls and translations.
codebaseIndexAutoStartandcodebaseIndexMaxConcurrentsettings to control indexing behavior incodebase-index.ts.extension.tsto respect concurrency limits.CodeIndexPopover.tsxto include controls for new settings.CodeIndexConfigManagerinconfig-manager.tsto load and expose new settings.config-manager.spec.tsfor new settings.CodeIndexPopover.tsx.settings.json.This description was created by
for b3c3d02. You can customize this summary. It will automatically update as commits are pushed.