Skip to content

Conversation

@thebikachu
Copy link

@thebikachu thebikachu commented May 15, 2025

Related GitHub Issue

Closes: #

Description

Test Procedure

Type of Change

  • πŸ› Bug Fix: Non-breaking change that fixes an issue.
  • ✨ New Feature: Non-breaking change that adds functionality.
  • πŸ’₯ Breaking Change: Fix or feature that would cause existing functionality to not work as expected.
  • ♻️ Refactor: Code change that neither fixes a bug nor adds a feature.
  • πŸ’… Style: Changes that do not affect the meaning of the code (white-space, formatting, etc.).
  • πŸ“š Documentation: Updates to documentation files.
  • βš™οΈ Build/CI: Changes to the build process or CI configuration.
  • 🧹 Chore: Other changes that don't modify src or test files.

Pre-Submission Checklist

  • Issue Linked: This PR is linked to an approved GitHub Issue (see "Related GitHub Issue" above).
  • Scope: My changes are focused on the linked issue (one major feature/fix per PR).
  • Self-Review: I have performed a thorough self-review of my code.
  • Code Quality:
    • My code adheres to the project's style guidelines.
    • There are no new linting errors or warnings (npm run lint).
    • All debug code (e.g., console.log) has been removed.
  • Testing:
    • New and/or updated tests have been added to cover my changes.
    • All tests pass locally (npm test).
    • The application builds successfully with my changes.
  • Branch Hygiene: My branch is up-to-date (rebased) with the main branch.
  • Documentation Impact: I have considered if my changes require documentation updates (see "Documentation Updates" section below).
  • Changeset: A changeset has been created using npm run changeset if this PR includes user-facing changes or dependency updates.
  • Contribution Guidelines: I have read and agree to the Contributor Guidelines.

Screenshots / Videos

Documentation Updates

Additional Notes


Important

Enhance read_file and apply_diff tools to support multiple file operations and add a setting for concurrent file reads.

  • Tools:
    • readFileTool: Now supports reading multiple files concurrently using args parameter with file and line_range elements.
    • applyDiffTool: Updated to handle multiple diffs using args parameter with file and diff elements.
  • Settings:
    • Added maxConcurrentFileReads setting in ContextManagementSettings to limit concurrent file reads.
  • UI:
    • Updated ContextManagementSettings.tsx and SettingsView.tsx to include maxConcurrentFileReads slider.
  • Localization:
    • Updated settings.json for ca and zh-CN locales to include maxConcurrentFileReads descriptions.

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

samhvw8 and others added 6 commits May 15, 2025 18:30
…pport and improved parameter handling

fix(read_file): change return to continue on approval rejection in readFileTool

Enhance readFileTool with improved error handling and validation

- Introduced a FileEntry interface for better type management.
- Added validation for start_line and end_line to ensure proper ranges.
- Implemented RooIgnore validation before processing files.
- Enhanced error handling with dedicated functions for file and global errors.
- Streamlined file reading logic to handle binary files, definitions-only mode, and line thresholds more effectively.
- Improved user feedback for empty files and read limits.

chore: update Jest snapshot for system prompt tool usage

Refactor read-file tool to support XML input format and multiple line ranges

- Updated the `getReadFileDescription` function to reflect new XML structure for file reading requests.
- Modified `readFileTool` to parse XML input, allowing multiple line ranges for each file.
- Removed old parsing logic that handled line ranges as separate parameters.
- Implemented validation for line ranges and ensured proper error handling for file access.
- Adjusted approval messaging to accommodate new line range format.
- Enhanced error handling to provide consistent feedback for file read errors.

update from KJ7LNW  comment

feat: add maxConcurrentFileReads setting to enhance read_file tool performance

feat: enhance readFileTool with XML parsing and file processing state tracking

feat: enhance readFileTool to include user feedback handling and processing state tracking

chore: clean up read_file tool documentation by removing extra newlines

feat: update read_file tool tests to handle user feedback and approval states

feat: add tests for feedback message formatting and XML special character handling in read_file tool

Implement code changes to enhance functionality and improve performance

feat: increase max concurrent file reads and adjust slider range in settings

feat: increase default max concurrent file reads from 5 to 15 across settings and context management
Makes `src/core/tools/applyDiffTool.ts` backward compatible by
allowing it to process both the new XML-based `args` parameter
and the legacy `path`, `diff`, and `start_line` parameters.

This change also resolves TypeScript errors that arose from
duplicated code during the initial refactoring for multi-diff
support.
@changeset-bot
Copy link

changeset-bot bot commented May 15, 2025

⚠️ No Changeset found

Latest commit: d3b4fbf

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@dosubot dosubot bot added the size:XXL This PR changes 1000+ lines, ignoring generated files. label May 15, 2025
@thebikachu thebikachu closed this May 15, 2025
@github-project-automation github-project-automation bot moved this from New to Done in Roo Code Roadmap May 15, 2025
"args",
"start_line",
"end_line",
"args",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Duplicate tool parameter args found in the toolParamNames array. There is already an args entry at line 63. Duplicates can cause confusion in type inference and may lead to unintended behavior. Remove the extra duplicate entry.

This comment was generated because it violated a code review rule: mrule_aQsEnH8jWdOfHq2Z.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL This PR changes 1000+ lines, ignoring generated files.

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants