Commit graph

1183 commits

Author SHA1 Message Date
Matt Rubens
e2d649dc50
v3.12.0 (#2674) 2025-04-16 01:16:06 -04:00
Aleksandr Kirillov
1cca4f47c7
feat: Add 'roo.acceptInput' command (#2598)
* feat: Add 'roo.acceptInput' command

* Update package.nls.json

* Update translations

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-04-15 23:01:45 -04:00
Matt Rubens
37f7d83792
Add xAI provider (#2667)
* Add xAI provider

* Add model reasoning effort

* DRY this up

* Handle undefined delta

* Cleanup getModel to fix test

* Add missing translations

* Small type cleanup

* Support temperature

---------

Co-authored-by: cte <cestreich@gmail.com>
2025-04-15 22:16:52 -04:00
Chris Estreich
3b19d7a455
Await checkpoint saves (except the initial) (#2665) 2025-04-15 16:57:12 -07:00
Matt Rubens
75a6bc100e
Safe JSON parse in ChatRow (#2666) 2025-04-15 19:49:25 -04:00
Dominik Oswald
7fab2f7738
feat: Cost Display in Task Header - Suppress Zero Cost Values and Ensure Visibility for Gemini, OpenAI, LM Studio, and Ollama (#2662)
test: Add unit tests for TaskHeader component cost display logic
2025-04-15 17:57:42 -04:00
KJ7LNW
da2ab6e388
test: limit Jest worker count to 40% per suite (#2658)
- Each test suite (extension/webview) limited to 40% CPU usage
- Total CPU utilization capped at 80% (40% x 2 suites)
- Reserves 20% CPU for system and user tasks
- Prevents memory thrashing and system slowdown
- Reduces risk of OOM kills on memory-constrained systems
- Maintains smooth UI responsiveness during test runs
- Improves test reliability while keeping parallel execution

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-04-15 14:37:27 -07:00
Chris Estreich
1bbfd2e8e6
DRY up the auto-approve toggles (#2664)
* DRY up the auto-approve toggles

* Better subtask icon per @joemanley201
2025-04-15 14:36:13 -07:00
Chris Estreich
e7a57ea774
Expose reasoning effort option for reasoning models on OpenRouter (#2483)
* Specify reasoning effort for OpenRouter reasoning models

* Add ReasoningEffort type

* Fix ReasoningEffort props

* Remove copypasta

* Set reasoning effort for Grok 3 Mini

* Use translations

* Add translations

* Remove this check
2025-04-15 13:51:52 -07:00
Matt Rubens
648c6e7d28
Move diff editing config to provider settings (#2655)
* Move diff editing config to provider settings

* Fix tests
2025-04-15 14:59:27 -04:00
Sam Hoang Van
84c574c947
Fuzzy search bar select dropdown (#2635)
* Revert "Revert "feat: implement fuzzy search and dropdown grouping in SelectDropdown component" (#2627)"

This reverts commit f1ad8ab751.

* Fix double scroll bar on provider select dropdown

* Update webview-ui/src/components/ui/select-dropdown.tsx

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

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-04-15 10:14:39 -04:00
Chris Estreich
6e567845cb
Remove auto-approve button useMemo (#2630) 2025-04-14 23:11:13 -07:00
Chris Estreich
f1ad8ab751
Revert "feat: implement fuzzy search and dropdown grouping in SelectDropdown component" (#2627)
Revert "feat: implement fuzzy search and dropdown grouping in SelectDropdown …"

This reverts commit 89107b82a3.
2025-04-14 22:53:52 -07:00
Chris Estreich
1cdedf3048
Update translations (#2623)
* Update translations

* Clean up the buttons
2025-04-14 22:47:27 -07:00
Sacha Sayan
111ac9ca47
UI Fix: Approve Tool Use Grid Toggles. (#2487)
Improv auto approve layout + refactor.

Button grid layout. Consolidates shortNames and labels, includes translations.
2025-04-14 21:20:54 -07:00
Sam Hoang Van
89107b82a3
feat: implement fuzzy search and dropdown grouping in SelectDropdown component (#2431)
* feat: implement fuzzy search and dropdown grouping in SelectDropdown component

* refactor: optimize SelectDropdown component with memoization and improved performance

* Remove focus output and translate placeholder

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-04-15 00:05:42 -04:00
nobuo kawasaki
30c3a65b7b
Fix eslint error about --ext option by remove it (#2543) 2025-04-14 16:25:09 -07:00
feifei
4fe0b3c419
feat: Add modelId support when exporting tasks (#2142)
Added modelId to the task export process.

Signed-off-by: feifei <liuyansheng1121@gmail.com>
2025-04-14 07:20:40 -04:00
Matt Rubens
eab61289a2
Add workspace filter to historypreview as well (#2582)
* Add workspace filter to historypreview as well

* PR feedback
2025-04-13 22:27:28 -04:00
pokutuna
caf1ae35e1
fix: Restore focus ring for VSCodeButton component (#2572) 2025-04-13 13:42:59 -04:00
Zhang Tony
8bb3839b4d
fix: background color for new profile dialog (#2560) 2025-04-13 10:09:46 -04:00
Zhang Tony
d3c65ceac6
feature: Closable welcome message (#2541)
* draft: try to add a setting button

* Add showGreeting setting and related changes

* i18n: showGreeting

* fix chinese i18n 'dot'
2025-04-13 01:16:01 -04:00
Sam Hoang Van
08110ae35b
Filter & Search Workspace Task History (#2526)
* Enhancement: Add 'Show all workspaces' feature to task history and update translations

* Enhancement: Add Checkbox component and integrate it into HistoryPreview and HistoryView

* Simplify the UX

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-04-12 23:20:14 -04:00
mecab
37cfd75ebf
Add Anthropic option to pass API Token as Authorization header instead of X-Api-Key for the custom base URL (#2531)
Add Anthropic option to use authToken over apiKey
2025-04-12 22:20:03 -04:00
vagadiya
294b52ef6a
Fix to Bedrock ARN validation (#2538)
Fixes Bedrock ARN validation

Updates the Bedrock ARN regex to allow alphanumeric characters, dots, hyphens, and colons in the resource ID.

This prevents validation errors when using ARNs containing those characters.
2025-04-12 13:43:35 -04:00
Sam Hoang Van
e9980bcfa9
Fix duplicate mention suggestion (#2528)
improve deduplication logic in getContextMenuOptions to handle context menu item keys more accurately
2025-04-12 08:28:41 -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
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
Matt Rubens
2ba7200f37
Fix discard changes in settings (#2485) 2025-04-10 23:44:38 -04:00
Matt Rubens
e41d6a42ac
Better display of diff errors (#2478) 2025-04-10 22:32:11 -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
Matt Rubens
75ba1db3ca
Improve subtasks UI (#2426) 2025-04-09 01:45:45 -04:00
Matt Rubens
b01615f122
Add the option to use a custom Host header for openai-compatible (#2399) 2025-04-08 22:02:27 -04:00
Atlas Gong
9f724bd360
fix: z-index of highlight layer should be under mode/profile dropdowns (#2417) 2025-04-08 15:05:04 -04:00
Sam Hoang Van
e1f6eb625b
feat: Add CommandOutputViewer component and integrate it into ChatRow (#2326)
* feat: Add CommandOutputViewer component and integrate it into ChatRow

* Remove unnecessary memo wrapper from CommandOutputViewer component
2025-04-08 08:29:03 -07:00
Ross McFarland
58149a083e
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
2025-04-08 11:21:54 -04:00
Ross McFarland
260fc30043
feat(settings): Rate-limit setting updated to be per-profile (#2376)
* Rate-limit setting updated to be per-profile

* Correct rateLimitSeconds translations

* Add missing d to rateLimitSecondsMigrate

* Fix fr rate-limit translation
2025-04-07 16:24:38 -04:00
KJ7LNW
af9e471c92
dev: dynamic Vite port detection for webview development (#2339)
Implements a solution for the Vite port collision issue that allows easier development of Roo across multiple instances of VSCode in different Roo repository directories.

This may also fix crashes and strange behavior between multiple running instances that would otherwise create port conflicts. This is solved using the following automated process:
- When Vite automatically selects an alternative port, a custom plugin automatically writes the port to a '.vite-port' file in the repository root
- ClineProvider automatically reads the port from this file, falling back gracefully to port 5173 if the file doesn't exist
- No user intervention is necessary as the entire process is handled automatically
- Added detailed logging for debugging
- Added .vite-port to .gitignore

The extension now connects to the correct Vite development server port automatically, even when the default port (5173) is already in use.

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-04-07 15:12:41 -04:00
Yu SERIZAWA
580672ffc8
feat: enhance rule file loading with .roo/rules directory support (#2354)
* feat: enhance rule file loading with .roo/rules directory support

- Introduced functions to safely read files and check for directory existence.
- Added capability to read all text files from a specified directory in alphabetical order.
- Updated `loadRuleFiles` to prioritize loading rules from a `.roo/rules/` directory, falling back to existing rule files if necessary.
- Enhanced `addCustomInstructions` to support loading mode-specific rules from a `.roo/rules-{mode}/` directory, improving flexibility in rule management.

This change improves the organization and retrieval of rule files, allowing for better modularity and maintainability.

* Updated strings and translations

* Add tests

* Revert changes to system prompt translations

* Fix path resolution

* Make instruction structure clearer

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-04-07 11:46:30 -04:00
Aleksandr Kirillov
88cac3c9d8
feat: add command to focus Roo Code input field (#2369)
* feat: add command to focus Roo Code input field

* fixup! feat: add command to focus Roo Code input field

* fixup! feat: add command to focus Roo Code input field
2025-04-07 07:54:49 -04:00
Kyle Tse
84c703e050
fix: Prevent unnecessary autoscroll when buttons appear (#1280) (#2334)
* fix: Prevent unnecessary autoscroll when buttons appear (#1280)

* Remove commented out code

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-04-06 22:17:49 -04:00
Matt Rubens
393688c584
Add deep links to settings sections (#2355) 2025-04-06 14:31:14 -04:00
Yu SERIZAWA
d6d5670e38
feat: Add support for .roorules configuration files (#2309)
* feat: Add support for .roorules configuration files

- Add .roorules to the list of supported rule files
- Improve mode-specific rule file handling to prioritize .roorules over .clinerules
- Update file loading logic to track which rule file was successfully loaded
- Add test cases for .roorules functionality

This change maintains backward compatibility with existing .clinerules while
introducing support for the new .roorules format as the preferred configuration
method.

* refactor: simplify rule file loading by removing unused rules

- Removed .cursorrules and .windsurfrules from the list of rule files in loadRuleFiles function.

* refactor: update loadRuleFiles to return single rule file content

- Modified loadRuleFiles function to return content from the first available rule file instead of combining multiple rule files.
- Updated tests to reflect the new behavior of loading only the .roorules file content when available, ensuring clarity in rule file handling.

* fix: update prompts for deprecated rule file references

- Updated prompts in the English locale to reflect the deprecation of .clinerules in favor of .roorules.
- Added notes in the prompts indicating that .clinerules will stop working soon, ensuring users are aware of the upcoming changes.

* Translations

* Update links

* Revert README changes

* Add missing spans around links

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-04-05 14:55:07 -04:00
Sam Hoang Van
c81d359064
fix: history search highlight (#2176)
* fix: history search hightlight

* fix: update history item highlight style to use underline
2025-04-05 11:06:16 -04:00
Sam Hoang Van
60f9221d69
feat(settings): add searchable dropdown to API config profiles setting page (#2221)
- Replace Select with Command+Popover components in ApiConfigManager
- Add search functionality to filter configuration profiles
- Add clear search button and selected item indicator
- Add internationalization support for all languages
- Match UX pattern from ModelPicker component for consistency
2025-04-05 00:56:54 -04:00