Commit graph

5400 commits

Author SHA1 Message Date
Roo Code
beee73db91 feat: enable custom API providers for Roo Code Evals
- Remove hardcoded openrouter provider from EVALS_SETTINGS
- Update runTask.ts to support multiple API providers with proper environment variable mapping
- Fix web-evals UI to properly set apiProvider when using OpenRouter mode
- Add tests to verify provider configuration flexibility
- Maintain backward compatibility with OpenRouter as default when no provider specified

Fixes #6817
2025-08-07 16:01:17 +00:00
github-actions[bot]
6b4ac52d00
Changeset version bump (#6810)
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-08-07 10:22:46 -04:00
Matt Rubens
cd8f862fc2
chore: add changeset for v3.25.9 (#6809) 2025-08-07 10:19:18 -04:00
Matt Rubens
518c558d56
Fix rounding of max tokens (#6808) 2025-08-07 10:11:01 -04:00
roomote[bot]
212297755f
feat: add GLM-4.5 and OpenAI gpt-oss models to Fireworks provider (#6784)
* feat: add GLM-4.5 and OpenAI gpt-oss models to Fireworks provider

- Added GLM-4.5 (355B/32B active) and GLM-4.5-Air (106B/12B active) models from Z.ai
- Added gpt-oss-20b and gpt-oss-120b models from OpenAI
- All models configured with 128K context window
- Added comprehensive test coverage for all new models

Fixes #6753

* fix: update GLM-4.5 model IDs to use p instead of hyphen

- Changed glm-4-5 to glm-4p5
- Changed glm-4-5-air to glm-4p5-air
- Updated corresponding test cases

---------

Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-07 09:42:22 -04:00
roomote[bot]
15b0f50dd9
feat: focus chat input when clicking plus button in extension menu (#6689)
* feat: focus chat input when clicking plus button in extension menu

- Added focusInput action after chatButtonClicked in plusButtonClicked handler
- This ensures the text area in ChatView gets focused when users click the + button
- Improves user experience by allowing immediate typing after creating new chat

* fix: replace unreliable setTimeout with sequential message passing

- Removed setTimeout with hardcoded 100ms delay
- Now sending focusInput action immediately after chatButtonClicked
- This ensures proper sequencing without arbitrary timing delays
- More reliable approach that doesn't depend on timing assumptions

---------

Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-07 09:33:25 -04:00
Chris Estreich
cb0a58e4a4
Support linking to @roo-code/cloud in Roo-Code repo (#6799)
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
2025-08-07 01:09:21 -10:00
Chris Estreich
37330b0209
Bring back "Use @roo-code/cloud from npm" (#6795) 2025-08-06 20:51:41 -10:00
github-actions[bot]
a198b6aebc
Changeset version bump (#6790)
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-08-06 21:00:33 -07:00
Matt Rubens
ba13c5e5bf
Release v3.25.8 (#6789) 2025-08-06 20:56:25 -07:00
Hannes Rudolph
8d05bc179b
fix: prevent unnecessary MCP server refresh on settings save (#6772) (#6779) 2025-08-06 17:37:51 -07:00
Daniel
c99ccf0bb0
fix: Replace scrollToIndex with scrollTo to fix scroll jitter (#6780) 2025-08-06 17:24:18 -07:00
Matt Rubens
c52fdc4397
Clamp default model max tokens to 20% of context window (#6761) 2025-08-06 13:51:10 -07:00
roomote[bot]
2b647ed9a1
fix: handle current directory path "." correctly in codebase_search tool (#6517)
* fix: handle current directory path "." correctly in codebase_search tool

- Fix path filtering logic in QdrantVectorStore.search() to properly handle current directory representations
- When directoryPrefix is ".", "./", "", or similar, set filter to undefined to search entire workspace
- Add comprehensive tests covering various current directory path formats including cross-platform support
- Resolves issue where codebase_search with path="." returned no results

Fixes #6514

* fix: normalize directory prefix handling in Qdrant vector store

* fix: normalize paths starting with './' and fix OS-dependency issue

- Use forward slash for splitting after toPosix() conversion
- Remove leading './' from paths like './src' to normalize them to 'src'
- Update test expectations to match correct behavior

* refactor: use path.posix.normalize instead of custom toPosix method

- Replaced directoryPrefix.toPosix() with path.posix.normalize()
- Added proper handling of backslashes before normalization
- Updated test mock to include posix.normalize method
- All tests passing (381 tests in code-index service)

* refactor: address review comments - improve path normalization

- Keep check for './' after normalization as path.posix.normalize('./') returns './'
- Use actual Node.js path.posix implementation in tests instead of custom mock
- Apply path.posix.normalize to cleanedPrefix for consistency

All 381 code-index tests pass

* fix: apply path.posix.normalize when cleaning prefix to avoid redundant normalization

Addresses review comment from @mrubens to normalize the path at line 385 instead of normalizing twice

* fix: correct current directory detection logic

The issue was that the condition checked for an empty string after normalization,
but path.posix.normalize('') actually returns '.', not ''. This caused the
current directory check to fail when an empty string was passed.

Removed the redundant empty string check since normalize('') returns '.' which
is already handled by the first condition.

---------

Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
Co-authored-by: hannesrudolph <hrudolph@gmail.com>
2025-08-06 06:28:28 -07:00
roomote[bot]
34fb5b7c37
fix: recover from error state when Qdrant becomes available (#6661)
* fix: recover from error state when Qdrant becomes available

- Add recoverFromError method to CodeIndexManager to clear error state and reset internal services
- Update startIndexing handler to check for error state and recover before initialization
- Add comprehensive tests for error recovery functionality

Fixes #6660

* fix: address PR review comments for code indexing error recovery

- Add race condition protection for multiple rapid clicks on Start Indexing button
- Add error handling for setSystemState in recoverFromError method
- Enhance JSDoc documentation for recoverFromError method
- Add test cases for recoverFromError idempotency and error handling

* refactor: move error recovery logic into startIndexing method

- Moved error recovery from webviewMessageHandler into CodeIndexManager.startIndexing()
- This ensures error recovery happens whenever indexing is started, not just from UI
- Added race condition prevention flag within CodeIndexManager
- Simplified webviewMessageHandler by removing error state checking
- The startIndexing method now automatically recovers from error state before proceeding

* fix: remove await from startIndexing calls and update JSDoc

- startIndexing should never be awaited as it's a long-running background process
- Added JSDoc warning to never await this method
- Updated webviewMessageHandler to not await startIndexing calls

* fix: use platform-agnostic paths in code-index manager tests for Windows compatibility

---------

Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-08-06 06:26:34 -07:00
Chris Estreich
142cdb5cb1
Revert "Use @roo-code/cloud from npm" (#6742)
Revert "Use @roo-code/cloud from npm (#6611)"

This reverts commit a1439c1f96.
2025-08-05 16:13:11 -10:00
roomote[bot]
7a865e26c4
fix: prevent disabled MCP servers from starting processes and show correct status (#6084)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: hannesrudolph <hrudolph@gmail.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-08-05 16:55:30 -07:00
roomote[bot]
263e317ebd
feat: reduce Gemini 2.5 Pro minimum thinking budget to 128 (#6588)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-05 15:43:20 -07:00
roomote[bot]
1237eb825b
fix: trim whitespace from OpenAI base URL to fix model detection (#6560)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-05 14:22:29 -07:00
roomote[bot]
7b6c6a8196
fix: improve handling of net::ERR_ABORTED errors in URL fetching (#6635)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-08-05 14:21:58 -07:00
Nitesh
4f4328d97c
Add swift files to fallback list (#6724) 2025-08-05 14:19:23 -07:00
xyOz
6892427e34
Fix: Resolve Memory Leak in ChatView Virtual Scrolling Implementation (#6697)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-08-05 14:08:52 -07:00
Matt Rubens
2e77ce1684
Update CHANGELOG.md 2025-08-05 12:08:23 -07:00
github-actions[bot]
31df9bd20c
Changeset version bump (#6738)
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-08-05 12:06:47 -07:00
Matt Rubens
1805b75b43
Stop making types private (#6737) 2025-08-05 11:56:16 -07:00
Matt Rubens
beacbd73a9
Delete bad changeset (#6736) 2025-08-05 11:47:33 -07:00
Matt Rubens
e5f117ded6
Revert "Changesets config tweak (#6733)" (#6735) 2025-08-05 11:42:22 -07:00
Daniel
98e0a2d5c6
feat: add OpenAI GPT OSS model to Cerebras providers (#6734) 2025-08-05 11:25:02 -07:00
Matt Rubens
f4b7c895e3
Changesets config tweak (#6733) 2025-08-05 11:23:02 -07:00
Matt Rubens
f0d2a54aad
v3.25.7 (#6730) 2025-08-05 11:12:13 -07:00
Daniel
6331f5769b
feat: add GPT-OSS 120b and 20b models to Groq provider (#6732) 2025-08-05 11:10:23 -07:00
roomote[bot]
24584f54ec
feat: clean up task list in HistoryPreview and History components (#6687)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Bruno Bergher <me@brunobergher.comexport>
Co-authored-by: Bruno Bergher <me@brunobergher.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-08-05 11:05:55 -07:00
roomote[bot]
477b85de03
feat: add support for Claude Opus 4.1 (claude-opus-4-1-20250805) (#6728)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-08-05 10:55:03 -07:00
Matt Rubens
c632b22e56
Revert "Extension bridge (#6677)" (#6729) 2025-08-05 10:45:45 -07:00
Bruno Bergher
ea79dfeb66
Redesigned Task Header (#6561)
* Reorganizes the task header for cleanliness and in preparation for Cloud link

* More task ehader visual tweaks

* Translations for new task header

* Fixes TaskHeader color

* Removes stray string

* Fixes tests

* Iterates on visual details

* More visual tweaks

* Missing localization call

* Fixes tests

---------

Co-authored-by: Bruno Bergher <me@brunobergher.comexport>
2025-08-05 06:26:25 -07:00
NaccOll
d90bab71ff
feat: code indexing support multiple folder similar with task history (#6204)
* feat: Implement code indexing support multi-folder workspaces similar to task history

* fix: add missing mock for onDidChangeActiveTextEditor in tests
2025-08-04 19:39:37 -07:00
roomote[bot]
8a35b64b9b
fix: prevent MCP server creation when setting is disabled (#6613)
* fix: prevent MCP server creation when setting is disabled

- Modified getFetchInstructionsDescription to conditionally include create_mcp_server task
- Updated getToolDescriptionsForMode to pass enableMcpServerCreation parameter
- Added tests to verify the conditional behavior
- Updated snapshot test to reflect the new expected behavior

Fixes #6607

* fix: address review comments - add JSDoc, null test, and clarify default behavior

---------

Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-04 19:29:38 -07:00
ershang-fireworks
4a9222b50e
Add the fireworks AI provider (#6652)
* add fireworks provider

* add tests

* Update packages/types/src/providers/fireworks.ts

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

* fix typo

* another typo

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-08-04 19:27:12 -07:00
Chris Estreich
1d714c8ce4
Extension bridge (#6677)
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-08-04 13:58:14 -07:00
roomote[bot]
7ca4901024
fix: prevent empty mode names from being saved (fixes #5766) (#5767)
* fix: prevent empty mode names from being saved (fixes #5766)

- Add frontend validation in ModesView to prevent empty names from being saved
- Add onBlur handler to restore original name if field is left empty
- Add backend validation in CustomModesManager.updateCustomMode using modeConfigSchema
- Provide user feedback when validation fails
- Trim whitespace from mode names before validation

This prevents YAML parsing errors caused by empty mode name fields.

* fix: improve UX by allowing users to empty mode name field

- Remove restriction that prevented users from emptying the name field
- Remove onBlur handler that automatically restored original name
- Allow backend validation to handle empty names and show appropriate errors
- Users can now type freely but invalid saves are prevented by backend validation

Addresses feedback from @daniel-lxs in PR #5767

* fix: allow emptying mode name field but prevent saving when invalid

- Modified onBlur handler to check if name is empty before saving
- If empty, revert to original name instead of saving empty value
- This provides better UX as requested in PR review

* fix: add proper JSON formatting to source map writes for Windows compatibility

---------

Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-04 11:03:34 -07:00
Chris Estreich
c34e412771
Bump @roo-code/types to v1.44.0 (#6675) 2025-08-04 07:58:11 -10:00
Kaan
4e8b17486b
feat(ui): Make mode selection dropdowns responsive (#6422) 2025-08-04 11:56:05 -04:00
jues
a921d059e1
Add Z AI provider (#6657)
Co-authored-by: wangshan <shan.wang@aminer.cn>
2025-08-04 10:06:46 -04:00
axb
f24c1e69a3
use assistantMessageParser class instead of parseAssistantMessage (#5341)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-08-04 10:02:30 -04:00
NaccOll
603c6c6aea
style: update highlightLayer style and align to textarea (#6648) 2025-08-04 08:52:21 -05:00
roomote[bot]
2882d99ea8
Remove 'Initial Checkpoint' terminology, use 'Checkpoint' consistently (#6643)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-04 00:23:08 -04:00
Chris Estreich
a1439c1f96
Use @roo-code/cloud from npm (#6611) 2025-08-03 16:43:33 -10:00
Chris Estreich
fd7550f463
Bump @roo-code/types to v1.43.0 (#6640) 2025-08-03 16:38:40 -10:00
NaccOll
a5b55dac8b
Changing checkpoint timing and ensuring checkpoints work (#6359)
* feat: Before requesting, ensure checkpoint is initialized

* Generate a checkpoint before modifying the code

* refactor: streamline checkpoint handling and enhance getCheckpoints method

* Blocked waiting for checkpoint initialization timing to change

* cancel checkpoint restore limit

* fix: ensure checkpoint service is undefined on initialization error and improve checkpoint diff handling

* refactor: simplify checkpoint service initialization and cleanup unused variables in CheckpointMenu

* fix: prevent race condition in checkpoint service initialization

- Only assign service to cline.checkpointService after successful initialization
- Add proper cleanup on initialization failure
- Prevents service from being in inconsistent state if Git check fails

* fix: remove checkpoint save from presentAssistantMessage for update_todo_list case

---------

Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-08-03 19:21:45 -04:00
NaccOll
a88238f68b
feat: conditionally include reminder section based on todo list config (#6411)
* feat: conditionally include reminder section based on todo list configuration

* feat: add tests for REMINDERS section based on todoListEnabled configuration
2025-08-03 08:26:33 -04:00