Commit graph

543 commits

Author SHA1 Message Date
cte
257e14d2fc Merge main 2025-04-01 17:02:48 -05:00
Steven T. Cramer
b9f4695d12
Fix Tests to run properly on Windows (#1963)
* fix: remove -p flag from test script to prevent git operation errors

The -p flag in npm-run-all was causing tests to run in parallel, which led to 'Cannot log after tests are done' errors with git operations. These errors don't appear when running test:extension alone.

The issue occurs because git-based tests create temporary directories and run async operations that can interfere with each other when executed in parallel. Running tests sequentially resolves this cleanly.

While it might increase total test time slightly, it ensures more reliable and consistent test results.

* refactor(terminal): improve mock streams and fix test issues

- Create shell-specific mock streams (bash, cmd, pwsh) with proper line ending handling
- Fix open handles in tests by properly managing timeouts
- Standardize stderr redirection across all shell implementations using stdio option
- Improve test reliability and output cleanliness

* fix(tests): add skipVerification option to PowerShell tests to debug Linux issues

* fix(tests): use explicit variable name in PowerShell test to fix Linux compatibility

* Refactor terminal tests to use purpose-based approach instead of command mapping

* Remove reference to non-existent test file

* fix: use printf instead of echo -e for more consistent behavior across platforms

* fix: use single quotes for PowerShell commands to preserve variables on Linux

* Update code-qa workflow to run tests on both Windows and Ubuntu

* fix: use platform-specific PowerShell command execution for Linux and Windows

* Fix toggleToolAlwaysAllow to handle path normalization for cross-platform compatibility

* Fix McpHub tests to handle normalized paths on Windows

* Suppress console.error messages in McpHub tests

* fix: make Bedrock ARN regex patterns Windows-compatible

Fixed an issue where AWS Bedrock tests were timing out on Windows but passing on Linux. The root cause was path separator handling in regex patterns used for model ID extraction from ARNs.

1. Updated model ID extraction regex to handle both forward slashes (Linux) and backslashes (Windows)
2. Modified ARN matching regex to be platform-independent
3. Ensured consistent region prefix handling for all supported regions

This change maintains functionality while ensuring cross-platform compatibility.

* fix: make WorkspaceTracker test cross-platform compatible

Fixed an issue where the WorkspaceTracker test 'should initialize with workspace files' was failing on Windows but passing on Linux. The problem was in the mock implementation of toRelativePath that only handled forward slashes.

- Updated the toRelativePath mock to use path.relative which properly handles platform-specific path separators
- Ensured all paths are converted to forward slashes for consistency in test assertions
- The fix maintains cross-platform compatibility while preserving the test's intent

* fix: make WorkspaceTracker tests cross-platform compatible

Fixed cross-platform compatibility issues in the WorkspaceTracker tests that were causing failures on Windows but passing on Linux:

1. Updated the toRelativePath mock implementation to:
   - Use path.relative which properly handles platform-specific path separators
   - Convert paths to forward slashes for consistency in test assertions

2. Enhanced the 'should not update file paths' test to be platform-agnostic by:
   - Using more flexible assertions that don't depend on specific path formats
   - Checking file path length and content rather than exact string matches
   - Properly typed the test assertions to fix TypeScript errors

These changes preserve the test intent while ensuring they run successfully across different operating systems.

* fix: make McpHub tests cross-platform compatible

Fixed cross-platform compatibility issues in the McpHub tests that were causing failures on Windows but passing on Linux:

1. Made the toggleToolAlwaysAllow tests more platform-agnostic by:
   - No longer relying on specific path formats which differ between Windows and Linux
   - Using the last write call instead of searching for a specific path string
   - Adding more robust assertions that verify structure instead of exact path matches
   - Properly handling array existence checks

2. These tests would fail on Windows because paths are formatted with backslashes instead of
   forward slashes, causing path equality checks to fail.

The changes maintain test intent while ensuring cross-platform compatibility.

* handle escaping of slash and quote

* fix: ensure consistent line endings in git fallback strategy

Fixed an issue where tests would fail on GitHub Windows runners but pass on local Windows machines due to line ending differences. The fix ensures consistent line ending handling by:

1. Normalizing CRLF to LF when reading files in the git fallback strategy
2. Disabling Git's automatic line ending conversion
3. Maintaining consistent line ending usage throughout text operations

* feat: run tests sequentially on Windows, parallel otherwise
2025-03-31 23:17:56 -05:00
R00-B0T
44211a4eee Changeset version bump (#2163)
* 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-03-31 22:50:46 -05:00
R00-B0T
372e27d9c8 Changeset version bump (#2154)
* 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-03-31 22:50:46 -05:00
R00-B0T
c4d1d3483f
Changeset version bump (#2163)
* 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-03-31 16:11:17 -05:00
R00-B0T
9823628a53
Changeset version bump (#2154)
* 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-03-31 14:01:26 -04:00
cte
5e4349a36c Merge branch 'main' into cte/benchmark-monorepo 2025-03-30 23:59:36 -07:00
R00-B0T
5bae398c44
Changeset version bump (#2141)
* 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-03-31 02:15:47 -04:00
R00-B0T
f25812d722
Changeset version bump (#1992)
* 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-03-31 00:30:45 -04:00
Chris Estreich
4f683b5e8e
Parallel tasks (#2128)
* Parallel tasks

* Handle null [x]ModelInfo types, recover from settings schema parse errors (#2064)

* Require exactly node v20.18.1 (#2065)

* Get rid of runner and all CJS stuff

* Add an activation command for other extensions (#2073)

Since VS Code provides no actionEvents that trigger when a specific
extension activates, extensions can't activate only once Roo is
activated and ready.

This commit introduces a new roo-cline.activationCompleted command
and fires it at the very end of extension activation. Other
extensions that use Roo's exported APIs can now activate when they
see this event.

Co-authored-by: Greg Taylor <gregtaylor@netflix.com>

* Update bug_report.yml (#1994)

* Update bug_report.yml

* Update bug_report.yml

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>

* Fix mention file name is not fully displayed (#2026)

Fixed path leading character handling to preserve language characters and remove specific punctuation marks

* In-Editor Browser Improvements (#1601)

* Browser Automation Improvements
* Added multi-tab remote Chrome support
* Added support for hover
* Properly caching remote browser host in global state
* Cleanup functions

* Updated for changes after merge

* Added www. exception for common tabs

* Update src/core/webview/ClineProvider.ts

* Revert README changes

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>

* Add missing awaits on refactored tools (#2078)

* More progress

* Added Gemini 2.5 Pro model to GCP Vertex AI Provider (#2079)

* More progress

* Display info about partial reads in chat row (#2080)

* More progress

* Update contributors list (#2023)

docs: update contributors list [skip ci]

Co-authored-by: mrubens <mrubens@users.noreply.github.com>

* More progress

* Handle multiple API pages worth of contributors (#2088)

* Update contributors list (#2089)

docs: update contributors list [skip ci]

Co-authored-by: mrubens <mrubens@users.noreply.github.com>

* Refactor/cline.ts/list files (#2067)

* "Refactor list_files tool to separate module (#2057)"

* Await

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>

* Remove switch from tools (#2091)

* HandleError returns a promise

* Remove unnecessary switch from tools

* Fix a type in the listFiles tool (#2092)

* Move write_to_file to a tool file (#2093)

* Move apply_diff to a tool file (#2094)

* Move insert_content to a tool file (#2095)

* Move search_and_replace to a tool file (#2096)

* Move list_code_definition_names to a tool file (#2097)

* Move search_files to a tool file (#2098)

* Move browser_action to a tool file (#2099)

* Move execute_command to a tool file (#2100)

* Move use_mcp_tool and access_mcp_resource to tool files (#2101)

* Move new_task, switch_mode, attempt_completion, and ask_followup_question to tool files (#2102)

* Do a little code cleanup now that tools are refactored out (#2103)

* Clean up the way we compute the current diff strategy (#2049)

* Clean up the way we compute the current diff strategy

* Add changeset

* i18n Add translations for task pinning and unpinning (#2109)

Signed-off-by: feifei <liuyansheng1121@gmail.com>

* Remove the ask promise error (#2107)

* Remove the ask promise error

* Send start_time along with checkpoints and use it to position in the messages

* Link to the settings page from the auto approve toolbar (#2111)

* Link to provider docs from the API options (#2112)

* Revert "Remove the ask promise error" (#2117)

Revert "Remove the ask promise error (#2107)"

This reverts commit 712ca71ee0.

* Parse the retry out of the gemini 429 response (#2118)

* Fix Gemini command escaping (#2120)

* Fix switching profiles to ensure only the selected profile is switche… (#2119)

Fix switching profiles to ensure only the selected profile is switched for all modes, and optimize certain i18n keys.

Signed-off-by: feifei <liuyansheng1121@gmail.com>

* Tweaks to support prompt line number format (#2121)

* Remove the ask promise error (#2123)

* Stronger typing

* Added Gemini 2.5 Pro model to GCP Vertex AI Provider (#2079)

* Display info about partial reads in chat row (#2080)

* Update contributors list (#2023)

docs: update contributors list [skip ci]

Co-authored-by: mrubens <mrubens@users.noreply.github.com>

* Handle multiple API pages worth of contributors (#2088)

* Update contributors list (#2089)

docs: update contributors list [skip ci]

Co-authored-by: mrubens <mrubens@users.noreply.github.com>

* Refactor/cline.ts/list files (#2067)

* "Refactor list_files tool to separate module (#2057)"

* Await

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>

* Remove switch from tools (#2091)

* HandleError returns a promise

* Remove unnecessary switch from tools

* Fix a type in the listFiles tool (#2092)

* Move write_to_file to a tool file (#2093)

* Move apply_diff to a tool file (#2094)

* Move insert_content to a tool file (#2095)

* Move search_and_replace to a tool file (#2096)

* Move list_code_definition_names to a tool file (#2097)

* Move search_files to a tool file (#2098)

* Move browser_action to a tool file (#2099)

* Move execute_command to a tool file (#2100)

* Move use_mcp_tool and access_mcp_resource to tool files (#2101)

* Move new_task, switch_mode, attempt_completion, and ask_followup_question to tool files (#2102)

* Do a little code cleanup now that tools are refactored out (#2103)

* Clean up the way we compute the current diff strategy (#2049)

* Clean up the way we compute the current diff strategy

* Add changeset

* i18n Add translations for task pinning and unpinning (#2109)

Signed-off-by: feifei <liuyansheng1121@gmail.com>

* Remove the ask promise error (#2107)

* Remove the ask promise error

* Send start_time along with checkpoints and use it to position in the messages

* Link to the settings page from the auto approve toolbar (#2111)

* Link to provider docs from the API options (#2112)

* Revert "Remove the ask promise error" (#2117)

Revert "Remove the ask promise error (#2107)"

This reverts commit 712ca71ee0.

* Parse the retry out of the gemini 429 response (#2118)

* Fix Gemini command escaping (#2120)

* Fix switching profiles to ensure only the selected profile is switche… (#2119)

Fix switching profiles to ensure only the selected profile is switched for all modes, and optimize certain i18n keys.

Signed-off-by: feifei <liuyansheng1121@gmail.com>

* Tweaks to support prompt line number format (#2121)

* Remove the ask promise error (#2123)

* Pass along pid and ppid

* Revert "Remove the ask promise error" (#2126)

Revert "Remove the ask promise error (#2123)"

This reverts commit b788aa1ec4.

---------

Signed-off-by: feifei <liuyansheng1121@gmail.com>
Co-authored-by: Greg Taylor <gtaylor@users.noreply.github.com>
Co-authored-by: Greg Taylor <gregtaylor@netflix.com>
Co-authored-by: Hannes Rudolph <hrudolph@gmail.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
Co-authored-by: aheizi <aheizi@outlook.com>
Co-authored-by: Afshawn Lotfi <6283745+afshawnlotfi@users.noreply.github.com>
Co-authored-by: Nico Bihan <nicolas.bihan@wellsky.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Bhavesh Ramburn <nitrogen@gmail.com>
Co-authored-by: feifei <46489071+feifei325@users.noreply.github.com>
2025-03-30 15:09:26 -07:00
Chris Estreich
105bc3c0d5
Require exactly node v20.18.1 (#2065) 2025-03-28 11:12:11 -07:00
cte
8ff0f5bea7 Merge branch 'main' into cte/benchmark-monorepo 2025-03-28 09:16:30 -07:00
Sam Hoang Van
e7e5511b65
feat: prioritize "Add to Context" and add line number tracking (#2063)
- Move "Add to Context" to the top of submenu and code actions for improved accessibility
- Add line number tracking (startLine/endLine) to EditorContext and code actions
- Update templates in support-prompt.ts to include line numbers in file references
- Ensure backward compatibility with existing code

This change improves the UX by making the frequently used "Add to Context" action more accessible and enhances context awareness by tracking and displaying line numbers for selected code.
2025-03-28 12:01:16 -04:00
cte
073d82accb Use npx here 2025-03-28 08:14:49 -07:00
cte
3950949058 Merge main 2025-03-28 00:42:16 -07:00
Chris Estreich
0fd399de78
Automatically generate roo-code.d.ts (including type generation via zod-to-ts) (#2024) 2025-03-27 09:38:56 -07:00
cte
02fc724fce Merge main 2025-03-27 03:01:44 -07:00
Chris Estreich
e464c41970
Add tsup as a dev dependency (#2029) 2025-03-27 02:39:25 -07:00
Chris Estreich
b3efe3e4fb
Add execa, zod-to-ts, and tsx as dev dependencies (#2025) 2025-03-27 01:27:38 -07:00
cte
f3fc363830 Add Roo Code types 2025-03-26 22:27:56 -07:00
Matt Rubens
4d744bb94a
New icon (#2020) 2025-03-27 00:09:07 -04:00
cte
a7472e6533 Merge branch 'main' into cte/benchmark-monorepo 2025-03-26 16:34:44 -07:00
cte
b27189f0f5 Merge main 2025-03-26 01:29:50 -07:00
R00-B0T
be8527c995
Changeset version bump (#1987)
* 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-03-25 20:32:29 -04:00
R00-B0T
1d1c33549c
Changeset version bump (#1947)
* changeset version bump

* Update package.json

* Update package-lock.json

* 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-03-25 19:14:00 -04:00
axb
0bc4f30c23
add new task command (#1648)
* add new task command

* Internationalize

* Revert README changes

* More i18n

* Fix tests

* Fix i18n

* Missing translations

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-03-25 11:08:11 -04:00
Jiayuan Chen
1c9daf5a48
Support customize storage path (#1941)
Co-authored-by: Your Name <your.email@example.com>
2025-03-24 15:22:55 -04:00
cte
6e73aaf603 Merge branch 'main' into cte/benchmark-monorepo 2025-03-24 02:51:15 -07:00
R00-B0T
7bf143e302
Changeset version bump (#1881)
* 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-03-24 01:12:58 -04:00
cte
8c1a22f5dd IPC tweaks 2025-03-21 22:33:00 -07:00
cte
b123075270 Merge branch 'main' into cte/benchmark-monorepo 2025-03-21 15:06:11 -07:00
R00-B0T
8663e52e8d
Changeset version bump (#1878)
* changeset version bump

* Updating CHANGELOG.md format

* 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-03-21 10:12:04 -04:00
cte
9466f0511e More progress 2025-03-20 20:01:53 -07:00
R00-B0T
465a96f1c1
Changeset version bump (#1852)
* 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-03-20 18:40:11 -04:00
R00-B0T
4580ad3c7c
Changeset version bump (#1843)
* 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-03-20 16:12:49 -04:00
Sam Hoang Van
f1efeca554
feat follow up suggest (#1783)
* feat follow up suggest

* Cleanup

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-03-20 10:42:11 -04:00
Sam Hoang Van
38d8a3d8dc
feat submenu (#1811)
* feat submenu

* Remove duplicative Roo Code: prefix

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-03-20 09:19:59 -04:00
cte
9e88e95a72 More progress 2025-03-19 23:04:59 -07:00
Matt Rubens
f181da1454
Move context-mention file/folder search to the server (#1824) 2025-03-20 00:45:27 -04:00
cte
2f6f016f3b Turn benchmarks into a monorepo 2025-03-19 19:05:03 -07:00
Chris Estreich
70a5d2b48c
Require node v20 everywhere (#922) 2025-03-19 10:46:40 -07:00
R00-B0T
6320b9a1a9
Changeset version bump (#1795)
* 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-03-19 10:17:49 -04:00
KJ7LNW
418c15d416
perf: optimize build process for parallel execution (#1801) 2025-03-19 01:15:55 -07:00
R00-B0T
454124c97e
Changeset version bump (#1794)
* 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-03-19 01:07:03 -04:00
R00-B0T
b520b6f724
Changeset version bump (#1745)
* 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-03-19 00:39:55 -04:00
Matt Rubens
38655825d4
Extension-side internationalization (#1757)
* Extension-side internationalization

* Update script

* Cleaner esbuild

* Turn off debugging

* PR feedback

* Update src/i18n/locales/en/common.json

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

* Update src/i18n/locales/ca/common.json

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

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-03-18 10:39:21 -04:00
Seth Miller
f16a49de87
Add text-to-speech functionality (#1412)
* Add text-to-speech functionality

* Add speed config option to text-to-speech

* Fix test case for tts speed slider

* Fix test case for tts speed slider (really)

* Disabled error message logging in tts.ts

* ignore markdown and mermaid diagrams in TTS

* add ttsEnabled and ttsSpeed to GlobalStateKey

* fix failing webview test for save button

* Translations

* Fix tests

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-03-18 01:47:16 -04:00
cte
f108dfaeb8 Evals 2025-03-17 10:09:19 -07:00
aheizi
3975c8d8a9 replace eventsource with reconnecting-eventsource to optimize the code.
(cherry picked from commit 505f86d75c)
2025-03-17 14:39:48 +08:00
aheizi
6f5ce14586 upgrade @modelcontextprotocol/sdk to latest version
(cherry picked from commit f9cc13cb1e)
2025-03-17 14:39:39 +08:00