Commit graph

3858 commits

Author SHA1 Message Date
Chris Estreich
6ab9aa9f15
Control evals concurrency in web app (#2265) 2025-04-11 22:21:15 -07:00
github-actions[bot]
1f6da88d24
Update contributors list (#2516)
docs: update contributors list [skip ci]

Co-authored-by: mrubens <mrubens@users.noreply.github.com>
2025-04-12 00:34:38 -04:00
R00-B0T
e10c25e0a4
Changeset version bump (#2517)
* changeset version bump

* Updating CHANGELOG.md format

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: R00-B0T <github-actions@github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-04-12 00:25:55 -04:00
Matt Rubens
624691abb0
Respect the setting to always read the full file (#2514) 2025-04-12 00:14:39 -04:00
Taisuke Oe
e453690e7f
Fix bug not to respect symbolic linked rules, if target is a directory or another symbolic link (#2513)
* read symbolic linked dir and files recursively

* add symlinked dir and nested symlink test case for custom-instructions

* enhance comments

* add changeset
2025-04-11 23:32:57 -04:00
Chris Estreich
2eba534dd6
Evals fixes (#2505)
* Allow Turso URLs, add support for API providers beyond OpenRouter

* Make the git branch name unique
2025-04-11 14:54:03 -07:00
R00-B0T
15b91ab03c
Changeset version bump (#2504)
* changeset version bump

* Updating CHANGELOG.md format

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: R00-B0T <github-actions@github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-04-11 17:47:29 -04:00
Matt Rubens
4048d36ab4
v3.11.13 (#2503) 2025-04-11 17:36:00 -04:00
github-actions[bot]
aaf0567e8d
Update contributors list (#2501)
docs: update contributors list [skip ci]

Co-authored-by: mrubens <mrubens@users.noreply.github.com>
2025-04-11 17:35:40 -04:00
Matt Rubens
ba307f8e1f
Revert "♻️ refactor(webview): move webview HTML generation to WebviewHTMLManager" (#2502)
Revert "♻️ refactor(webview): move webview HTML generation to WebviewHTMLMana…"

This reverts commit e70954f3de.
2025-04-11 17:32:29 -04:00
KJ7LNW
9c3c93567b
Merge pull request #2427 from KJ7LNW/fix-vscode-lm-content-preservation
fix: preserve content integrity in VS Code LM provider
2025-04-11 17:10:54 -04:00
Matt Rubens
9dead72ace
Merge pull request #2456 from KJ7LNW/fix-misc-terminal-issues
Terminal improvements: command delay, PowerShell counter, and ZSH EOL mark
2025-04-11 17:04:42 -04:00
Eric Wheeler
ae0ab56654 intl: enhance shell integration troubleshooting translations
Add new i18n strings for shell integration steps and expand troubleshooting text across all supported languages

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-04-11 13:23:57 -07:00
Eric Wheeler
4ef62c6a13 feat: add ZDOTDIR handling for zsh shell integration
Creates a temporary ZDOTDIR to handle zsh shell integration properly while preserving user's zsh configuration. This ensures VSCode shell integration works correctly with zsh without modifying the user's existing setup.

- Add terminalZdotdir setting (disabled by default)
- Create temporary directory with proper security (sticky bit)
- Add automatic cleanup on terminal close
- Add translations for all supported languages

User confirmed fixes:

Fixes: #2205
Fixes: #2129

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-04-11 13:09:41 -07:00
Bhavesh Ramburn
e70954f3de
♻️ refactor(webview): move webview HTML generation to WebviewHTMLManager (#2494)
- 【What】Move the logic for generating webview HTML content from ClineProvider to a new WebviewHTMLManager class.
- 【Why】This improves code organization and maintainability by separating concerns related to webview HTML generation.
- 【Why】This allows for easier testing and modification of the HTML generation logic without affecting the ClineProvider class.
2025-04-11 15:40:07 -04:00
Matt Rubens
405e599206
Exclude demo gif from extension build (#2481) 2025-04-11 15:38:59 -04:00
Eric Wheeler
b4c67f133b feat: add terminal settings for Oh My Zsh and Powerlevel10k shell integration
Added two new terminal settings:
- terminalZshOhMy: Sets ITERM_SHELL_INTEGRATION_INSTALLED=Yes for Oh My Zsh
- terminalZshP10k: Sets POWERLEVEL9K_TERM_SHELL_INTEGRATION=true for Powerlevel10k

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-04-10 21:18:37 -07:00
Eric Wheeler
b020e46076 fix: clear ZSH EOL mark to prevent command output interpretation issues
Added a new configuration option 'terminalZshClearEolMark' (default: true) that
sets PROMPT_EOL_MARK='' in the terminal environment. This prevents issues with
command output interpretation when the output ends with special characters like '%'.

Added translations for all supported languages.

Fixes: #2194
Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-04-10 21:18:37 -07:00
Eric Wheeler
211e31b8f6 feat: add terminalPowershellCounter configuration option
Add a new configuration option that allows users to toggle the PowerShell counter workaround. This workaround adds a counter to PowerShell commands to ensure proper command execution and output capture.

The setting is disabled by default, allowing users to enable it only when needed.

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-04-10 21:18:37 -07:00
Eric Wheeler
4d1cfe8141 feat: add terminal.commandDelay setting
Add a new configurable setting to control command execution delays in terminals.
When set to a non-zero value, this adds a sleep delay after command execution
via PROMPT_COMMAND in bash/zsh and start-sleep in PowerShell.

The default value is 0, which disables the delay completely. This setting
replaces the previous hardcoded delay of 50ms that was added as a workaround
for VSCode bug #237208.

Fixes: #2017
Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-04-10 21:18:37 -07:00
Eric Wheeler
902d6d5017 fix: prevent UI hang when shell integration is unavailable
When shell integration is unavailable, the UI would hang because the process
was never properly released. This change fixes the issue by:
- Emitting a 'completed' event with a descriptive message
- Marking the terminal as not busy
- Clearing the active stream
- Allowing the process to continue

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-04-10 21:18:37 -07:00
Eric Wheeler
0b0c438284 fix: standardize terminal integration timeout values
Replace hardcoded 3000ms timeout with configurable Terminal.shellIntegrationTimeout
in TerminalProcess.ts. This ensures consistent timeout behavior across all
terminal integration features and allows users to control both timeouts through
a single setting.

The error messages are also updated to display the dynamic timeout value,
providing clearer feedback when shell integration issues occur.

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-04-10 21:18:37 -07:00
github-actions[bot]
b8bf634fd2
Update contributors list (#2466)
docs: update contributors list [skip ci]

Co-authored-by: mrubens <mrubens@users.noreply.github.com>
2025-04-10 23:53:03 -04:00
Matt Rubens
2ba7200f37
Fix discard changes in settings (#2485) 2025-04-10 23:44:38 -04:00
KJ7LNW
3cc81c73cf
docs: update settings.md with comprehensive steps (#2451)
* docs: update settings.md with comprehensive steps

Update the settings documentation to include all necessary steps for adding
a new configuration item, including schema definitions, type definitions,
and critical steps for persistence and UI display.

This ensures the documentation accurately reflects the complete process
required when adding new settings to the application.

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* docs: add style considerations for checkbox settings

Add documentation about styling checkbox settings in the UI, including:
- Using VSCodeCheckbox component
- Proper wrapping and spacing
- Consistent styling for labels and descriptions
- Example implementation based on terminalPowershellCounter

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* docs: add comprehensive guide for adding new configuration items

Add a new section to settings.md that provides a complete checklist for adding new configuration items to the system. This guide covers all aspects from UI to persistence to functionality, based on implementation experience.

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* docs: update settings documentation with persistence guidelines

Add comprehensive guidance for ensuring settings persist across reload
Include debugging steps for troubleshooting persistence issues
Replace 'Avoiding Duplicates' section with more detailed information

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

---------

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-04-10 22:34:18 -04:00
Matt Rubens
e41d6a42ac
Better display of diff errors (#2478) 2025-04-10 22:32:11 -04:00
Hannes Rudolph
c0ba1f5080
Update README.md to reflect new branding and add demo GIF; (#2479)
* Update README.md to reflect new branding and add demo GIF; optimize demo GIF size

* Update README.md to reflect branding change from "Roo Cline" to "Roo Code" and remove duplicate title entry.
2025-04-10 21:55:52 -04:00
Steven T. Cramer
77daf8559b
Move "Previously Roo Cline" to description from title (#2476)
* Move "Previously Roo Cline"  to description from title

* Add a period.
2025-04-10 16:51:27 -04:00
ronyblum
a031b74bf5
Modification of AWS Bedrock to Amazon Bedrock (#2473)
* Modification of AWS Bedrock to Amazon Bedrock

* Duplicated comment removal
2025-04-10 15:47:34 -04:00
Zhang Tony
255a158e75
Bug Fixed: Chinese i18n css error (#2470)
* bug fixed: chinese i18n css error

* Update webview-ui/src/components/settings/ApiOptions.tsx

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-04-10 11:12:49 -04:00
Sam Hoang Van
5352beb95c
feat: Add file context tracking system (#2440)
* feat: Add file context tracking system

This commit adds a comprehensive file context tracking system that monitors file operations (reads, edits) by both Roo and users. The system helps prevent stale context issues and improves checkpoint management.

Key features:
- Track files accessed via tools, mentions, or edits
- Monitor file changes outside of Roo using file watchers
- Store file operation metadata with timestamps
- Trigger checkpoints automatically when files are modified
- Prevent false positives by distinguishing between Roo and user edits

The implementation includes:
- New FileContextTracker class to manage file operations
- Type definitions for file metadata tracking
- Integration with all file-related tools
- File mention tracking in the mentions system
- Improved checkpoint triggering based on file modifications

* Update src/core/context-tracking/FileContextTracker.ts

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Update src/core/context-tracking/FileContextTracker.ts

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* test: Add mocks for getFileContextTracker in Cline tests

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-04-10 10:56:52 -04:00
Wojciech Kordalski
0ddfa4d0bf
.direnv directory should not be packaged (#2464)
If somebody uses direnv tool, the `.direnv` directory is created,
that contains some data and especially some symlinks.
Symlinks makes `vsce` to fail zipping the built VSIX.

Generally `.direnv` should not be added to the resulting VSIX,
therefore I add it to .vscodeignore.
2025-04-10 09:51:27 -04:00
R00-B0T
82bf3dc42e
Changeset version bump (#2455)
* changeset version bump

* Updating CHANGELOG.md format

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: R00-B0T <github-actions@github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-04-10 01:11:59 -04:00
Matt Rubens
fba24ac13d
v3.11.12 (#2454) 2025-04-10 01:05:38 -04:00
github-actions[bot]
8da3538744
Update contributors list (#2434)
docs: update contributors list [skip ci]

Co-authored-by: mrubens <mrubens@users.noreply.github.com>
2025-04-10 01:05:18 -04:00
amittell
1445bb0a3c
Make Grok3 streaming work with OpenAI Compatible (#2449) 2025-04-10 00:35:49 -04:00
Matt Rubens
c18e25f4bc
Fall back on aggressive line number stripping in diffs (#2453)
* Add option for aggressive line number stripping

* Fall back on aggressive line number stripping in diffs
2025-04-10 00:29:50 -04:00
Chris Estreich
4e716263d0
Add a script to copy eval run results to Turso (#2452) 2025-04-09 21:18:07 -07:00
Chris Estreich
5fa555e60d
Fix gh fork command (#2442) 2025-04-09 13:12:55 -07:00
Chris Estreich
6d9ebe3fcf
More sane evals default concurrency + staggered startup (#2441) 2025-04-09 13:04:36 -07:00
R00-B0T
5c3237a6b0
Changeset version bump (#2436)
* changeset version bump

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-04-09 11:41:00 -04:00
Chris Estreich
fb0dd75fe0
API fixes (#2438) 2025-04-09 08:20:17 -07:00
Matt Rubens
eda53815ab
v3.11.11 (#2435) 2025-04-09 09:31:58 -04:00
Matt Rubens
7e4000b4e0
Add custom instructions for de (#2383) 2025-04-09 09:20:13 -04:00
github-actions[bot]
f6467ca371
Update contributors list (#2411)
docs: update contributors list [skip ci]

Co-authored-by: mrubens <mrubens@users.noreply.github.com>
2025-04-09 09:06:42 -04:00
arthur
16d8f14371
Add o1-pro to api.ts (#2433)
Add the o1-pro model to the openai section. Sourced model info from: https://platform.openai.com/docs/models/o1-pro
2025-04-09 09:04:55 -04:00
Matt Rubens
75ba1db3ca
Improve subtasks UI (#2426) 2025-04-09 01:45:45 -04:00
KJ7LNW
270fd88cc8
refactor: improve readFileTool XML output format (#2340)
* fix: addLineNumbers handling of empty content

Empty files should not have line numbers, but non-empty files with empty content at a specific line offset should.
- If content is empty, return empty string for empty files
- If content is empty but startLine > 1, return line number for empty content at that offset
This ensures that the model does not think the file contains a single empty line.

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* refactor: improve readFileTool XML output format

- Remove unnecessary XML indentation that could confuse the model
- Separate file content from notices and errors using dedicated tags
- Add line range information to content tags
- Handle empty files properly with self-closing tags
- Add comprehensive test coverage

Fixes #2278

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* fix: always show line numbers in read_file XML output

- Always display line numbers in non-range reads
- Improve XML formatting with consistent newlines for better readability

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* test: update tests to match new XML format with line numbers

- Update test expectations to match the new XML format with newlines
- Update tests to expect line numbers attribute in content tags
- Modify test assertions to check for the correct line range values

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* fix: consistent blank line handling in addLineNumbers

- Add newline to all output
- Handle trailing newlines and empty lines consistently
- Add test cases for blank lines:
  - Multiple blank lines within content
  - Multiple trailing blank lines
  - Only blank lines with offset
  - Trailing newlines

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* test: use actual addLineNumbers in read-file-xml tests

- Modified extract-text mock to preserve actual addLineNumbers implementation
- Removed mock implementation of addLineNumbers
- Updated test data to account for trailing newline
- Removed unnecessary mock verification

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* test: ensure actual addLineNumbers function is called in tests

- Replace direct mocking of addLineNumbers with spy on actual implementation
- Add verification to ensure the real function is called when appropriate
- Add skipAddLineNumbersCheck option for cases where function should not be called
- Update test cases to use appropriate verification options
- Fix numberedFileContent to include trailing newline for consistency

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* fix: modify readLines to process data directly instead of line by line

- Direct data processing provides more accurate results by preserving exact content with carriage returns
- Improved performance through minimal buffering and efficient string operations
- Use string indexes to find newlines while maintaining their original format
- Handle all edge cases correctly with preserved line endings
- Add tests for various edge cases including empty files, single lines, and different line endings

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* test: remove unused mockInputContent variable

Remove unused variable declaration to appease ellipsis-dev linter requirements.

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

---------

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-04-08 23:04:44 -04:00
KJ7LNW
2779e8f703
fix: clarify difference between workspace directory and terminal working directory (#2418)
* fix: clarify difference between workspace directory and terminal working directory

This commit addresses confusion between the VS Code workspace directory and
terminal working directory. Roo was not properly distinguishing between these
concepts, leading to issues when terminal commands changed directories.

- Renamed 'Current Working Directory' to 'Current Workspace Directory' throughout
- Added clearer notice when a command changes the working directory in a terminal
- Added explanation about the difference between workspace and working directories
- Updated all tool descriptions to reference 'workspace directory'

References: https://www.reddit.com/r/RooCode/s/6L19EvsFbF
Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* test: update directory terminology in test files

Update terminology from 'working directory' to 'workspace directory' in tests
to reflect VSCode's concept of workspace vs working directory.

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

---------

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-04-08 22:58:33 -04:00
Matt Rubens
63c8f92393
Merge pull request #2420 from KJ7LNW/tree-sitter-eval-definitions
feat: enhance tree-sitter parsers for multiple languages
2025-04-08 22:57:07 -04:00