Skip to content

Conversation

@roomote
Copy link
Contributor

@roomote roomote bot commented Jan 11, 2026

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:

  1. 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.

  2. 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

  • Added codebaseIndexAutoStart and codebaseIndexMaxConcurrent settings to types
  • Updated config-manager.ts to load and expose new settings via getters
  • Implemented queue-based initialization in extension.ts that respects concurrency limits
  • Added UI controls in CodeIndexPopover.tsx (checkbox for auto-start, slider for max concurrent)
  • Added translation strings for new UI labels
  • Added unit tests for new config-manager getters

Testing

  • Unit tests pass (82 tests)
  • Manual testing with multi-root workspace and Ollama

Edge Cases Covered

  • Single workspace folder (works as before with default settings)
  • Multi-root workspace with auto-start disabled (no indexing until manually triggered)
  • Multi-root workspace with concurrent limit of 1 (sequential indexing)
  • Multi-root workspace with higher concurrent limit (parallel indexing)

Fixes #10569


Important

Adds settings to control codebase indexing auto-start and concurrency, updates configuration management, and enhances UI with new controls and translations.

  • Behavior:
    • Adds codebaseIndexAutoStart and codebaseIndexMaxConcurrent settings to control indexing behavior in codebase-index.ts.
    • Implements queue-based initialization in extension.ts to respect concurrency limits.
    • UI updates in CodeIndexPopover.tsx to include controls for new settings.
  • Configuration:
    • Updates CodeIndexConfigManager in config-manager.ts to load and expose new settings.
    • Adds unit tests in config-manager.spec.ts for new settings.
  • UI:
    • Adds checkbox for auto-start and slider for max concurrent indexing in CodeIndexPopover.tsx.
    • Adds translation strings for new UI labels in settings.json.

This description was created by Ellipsis for b3c3d02. You can customize this summary. It will automatically update as commits are pushed.

…or multi-root workspaces

- Add codebaseIndexAutoStart setting to control automatic indexing on workspace open
- Add codebaseIndexMaxConcurrent setting to limit concurrent indexing operations
- Implement queue-based initialization in extension.ts that respects concurrency limits
- Add UI controls in CodeIndexPopover.tsx (checkbox and slider)
- Add translation strings for new settings
- Add unit tests for new config-manager getters

Fixes #10569
@roomote
Copy link
Contributor Author

roomote bot commented Jan 11, 2026

Rooviewer Clock   See task on Roo Cloud

Reviewed this PR and found no issues. The implementation is solid:

  • New settings (codebaseIndexAutoStart, codebaseIndexMaxConcurrent) are properly defined with schema validation
  • Queue-based initialization in extension.ts correctly manages concurrent indexing
  • Config manager properly loads settings with appropriate defaults
  • UI controls in CodeIndexPopover work as expected
  • Tests comprehensively cover the new functionality

Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues.

@hannesrudolph hannesrudolph added the Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. label Jan 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels.

Projects

Status: Triage

Development

Successfully merging this pull request may close these issues.

[BUG] Disable automatic full-workspace indexing: Multi-Root Workspaces cause local LLM DoS/Timeouts

3 participants