Commit graph

3801 commits

Author SHA1 Message Date
Matt Rubens
8c26c3a90f
Update CHANGELOG.md 2025-04-08 11:51:42 -04:00
github-actions[bot]
1b6f1dee77 changeset version bump 2025-04-08 15:47:36 +00:00
Matt Rubens
75d17a5233
v3.11.10 (#2413) 2025-04-08 11:46:32 -04:00
github-actions[bot]
a4530eea5b
Update contributors list (#2402)
docs: update contributors list [skip ci]

Co-authored-by: cte <cte@users.noreply.github.com>
2025-04-08 11:40:53 -04:00
Matt Rubens
08b586334b
Remove extra colon from rules content (#2409) 2025-04-08 11:40:23 -04:00
Matt Rubens
9ab4a88176
Fix typo in diff prompt (#2410) 2025-04-08 11:40:10 -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
Taisuke Oe
dedd655c9e
Fix a bug not to read rule files properly, under nested .roo/rules directories (#2405)
* fix .roo/rules/subdir/file path calculation

* add changeset
2025-04-08 11:17:21 -04:00
Matt Rubens
4c81f7e167
Update CHANGELOG.md (#2406) 2025-04-08 09:39:40 -04:00
Matt Rubens
72a9e0bd39
Fix cache usage tracking for openai-compatible (#2401) 2025-04-08 01:20:45 -04:00
Matt Rubens
903f3b64a1
Add custom instructions for zh-CN (#2381)
* Add custom instructions for zh-CN

* Updates from System233
2025-04-07 23:06:54 -04:00
Matt Rubens
06e0fc6ee4
Update CHANGELOG.md (#2396) 2025-04-07 18:33:25 -04:00
github-actions[bot]
fbb7887f8d
Update contributors list (#2338)
docs: update contributors list [skip ci]

Co-authored-by: mrubens <mrubens@users.noreply.github.com>
2025-04-07 17:38:38 -04:00
R00-B0T
70a05d3302
Changeset version bump (#2394)
* changeset version bump

* Updating CHANGELOG.md format

* Apply suggestions from code review

* Update CHANGELOG.md

* 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-07 17:35:49 -04:00
Matt Rubens
1ad8e9c7d3
v3.11.9 (#2393) 2025-04-07 17:18:14 -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
Matt Rubens
d0661fb0c7
Don't automatically convert types when parsing XML (#2389)
* Don't automatically convert types when parsing XML

* PR feedback
2025-04-07 14:57:02 -04:00
Matt Rubens
d5aee1e1d8
Add custom instructions for zh-TW (#2382)
* Add custom instructions for zh-TW

* Move custom instructions to a rules file for easier reading

* PR feedback
2025-04-07 14:24:23 -04:00
Nico Bihan
320ef77d79
Added to Vertex AI Provider gemini 2.5 Pro Preview (#2384)
* Added Gemini 2.5 Pro model to Vertex AI Provider

* Adds Gemini 2.5 Pro preview model

Adds configuration for the new Gemini 2.5 Pro preview model,
including its token limits, context window size, image support, and
pricing information.
2025-04-07 12:15:09 -04:00
Matt Rubens
009faf349e
Move .roorules to .roo/rules/ (#2385) 2025-04-07 12:14:04 -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
Matt Rubens
0e4be83c35
Fixes to resumeTask and isTaskInHistory (#2380) 2025-04-07 11:41:08 -04:00
Franciszek Piszcz
cf74568f66
feat(RooCodeAPI): implement resumeTask and isTaskInHistory (#1672) 2025-04-07 08:19:47 -07:00
Marco Quinten
f5a4b425da
feat(browserTool): Implement hover action (#2368)
* Implement hover action for the browser action tool

* Update snapshots
2025-04-07 09:35:14 -04:00
Marco Quinten
fff8fdd3f3
feat(browserTool): Implement resize action (#2370)
* Implement resize action for browser action tool

* Update snapshots
2025-04-07 09:34:32 -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
0317374acb
Move .clinerules to .roorules (#2357) 2025-04-06 16:04:34 -04:00
Matt Rubens
393688c584
Add deep links to settings sections (#2355) 2025-04-06 14:31:14 -04:00
Greg Taylor
57d97319dc
fix: persist settings on api.setConfiguration (#2341)
Values weren't being saved to the settings store, preventing
switching to newly created profiles.

Co-authored-by: Greg Taylor <gregtaylor@netflix.com>
2025-04-06 08:19:30 -07:00
KJ7LNW
5fb9af40fb
feat: enhance Rust tree-sitter parser with advanced language structures (#2335)
* test: add comprehensive Rust Tree-sitter tests

Add test suite for Rust language support in Tree-sitter:
- Verify parsing of struct definitions
- Verify parsing of method definitions within impl blocks
- Verify parsing of standalone function definitions
- Add tests for complex Rust structures
- Include skipped debug test for future diagnostics

These tests confirm the existing Rust support in Tree-sitter is working correctly and provide a foundation for future enhancements to the Rust parser.

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

* feat: enhance Rust tree-sitter parser with advanced language structures

- Add support for additional Rust language structures:
  - Enum definitions
  - Trait definitions
  - Impl trait for struct
  - Generic structs with lifetime parameters
  - Macro definitions
  - Module definitions
  - Union types
  - Closures
  - Match expressions
  - Where clauses
  - Async functions
  - Impl blocks with generic parameters
  - Complex trait bounds

- Update tests to verify capture of these structures
- Modify debug helper to use environment variables

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-05 22:11:43 -04:00
KJ7LNW
5e0c9a71e4
fix: clamp negative line numbers when reading files (#2337)
Improve handling of AI-generated line numbers:
- Clamp negative startLine values to 0 instead of throwing errors
- Convert non-integer line numbers to integers automatically
- Only reject when line numbers aren't numbers at all

These changes prevent unnecessary model retries by handling imperfect
AI-generated line numbers gracefully, making the system more robust
when interacting with AI models.

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-04-05 22:10:11 -04:00
github-actions[bot]
7261efbdec
Update contributors list (#2317)
docs: update contributors list [skip ci]

Co-authored-by: mrubens <mrubens@users.noreply.github.com>
2025-04-05 18:22:40 -04:00
Diarmid Mackenzie
7661ef97cd
Tidy up following ClineProvider refactor (#2182)
* Remove unused imports

* Restore protected status for mcpHub property

* More mcpHub tidy-up

* Remove need for access to private "view" property

Increase type flexibility so we can directly use postMessageToWebview()

* Make ensureCacheDirectoryExists private again

expose new public writeDataToCache() method to commonize code.
also decided to leave updateApiConfiguration as public, since widely used in diverse ways.

* Match naming of readModelsFromCache.

Symmetric naming of functions that complement each other.

* Decision: Leave readModelsFromCache as public

* Make updateGlobalState and setGlobalState private again

Stop using deprecated (private) method.  Use contextProxy set/getValue methods instead.
Utility functions provided for brevity.

* Add clarifying comment to explain presence of utility functions

* Prefer this/provider.log over outputChannel.appendLine

log is already public, outputChannel should be private.
But also prefer log internally for the additional value of console logging, plus code brevity.

* Lock down access to properties as far as reasonably possible

* PR feedback - don't relax type checks

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-04-05 18:00:23 -04:00
R00-B0T
70528034bd
Changeset version bump (#2332)
* 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-05 17:20:52 -04:00
Matt Rubens
e8624e821e
v3.11.8 (#2331) 2025-04-05 17:09:28 -04:00
Yu SERIZAWA
2a2bb8436b
fix: correct nodejs version format in .tool-versions file (#2307) 2025-04-05 16:54:05 -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
Kyle Hoskins
8fe70e36c3
Improve combineApiRequests performance (#2318)
* Improve combineApiRequests performance

* One more optimization, and more tests

---------

Co-authored-by: cte <cestreich@gmail.com>
2025-04-05 10:51:00 -07: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
bf648856ba
feat: add workspace tracking to history items (#2054)
Track the current workspace path in history items to enable filtering and organization of history by workspace. This change adds the workspace property to the history schema and ensures it's saved with each history entry.
2025-04-05 08:23:10 -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
github-actions[bot]
39e4f498e5
Update contributors list (#2315)
docs: update contributors list [skip ci]

Co-authored-by: mrubens <mrubens@users.noreply.github.com>
2025-04-05 00:25:43 -04:00
R00-B0T
3bf79ca295
Changeset version bump (#2316)
* 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-05 00:04:07 -04:00
Matt Rubens
b73b10c60f
v3.11.7 (#2314) 2025-04-04 23:58:56 -04:00
Hannes Rudolph
3f6e07adf1
refactor(mcp): Implement reference counting for McpHub lifecycle (#2310)
Problem:
Closing auxiliary windows (e.g., from "open in editor") could prematurely dispose the shared singleton McpHub instance, shutting down MCP servers unexpectedly while other panels (like the sidebar) might still be active.

Solution:
Implemented reference counting directly within the McpHub class to manage its own lifecycle based on active clients (ClineProvider instances).
- Added `refCount`, `registerClient()`, and `unregisterClient()` methods to McpHub.
- McpHub now disposes itself only when the last registered client unregisters (`refCount` reaches 0).
- ClineProvider instances now call `mcpHub.registerClient()` upon initialization and `mcpHub.unregisterClient()` upon disposal.
- Removed the direct `mcpHub.dispose()` call from ClineProvider.dispose.

Benefit:
This ensures the shared McpHub instance remains active as long as at least one ClineProvider instance is using it. Cleanup now correctly occurs only when the last provider is closed or during full extension deactivation. This centralizes the resource's lifecycle logic within the resource class itself.

Files Changed:
- src/services/mcp/McpHub.ts
- src/core/webview/ClineProvider.ts
2025-04-04 23:14:05 -04:00
Kyle Hoskins
6ece39e1d1
Updated buttons to @/components/ui/button (#2312) 2025-04-04 23:04:29 -04:00
System233
8d045a4c08
Improve Simplified Chinese translations (#2306) 2025-04-04 22:23:57 -04:00