Commit graph

488 commits

Author SHA1 Message Date
Roo Code
ef3fd5b20e fix: internationalize token stats tooltip and add tooltip for API Request without price
- Added i18n translations for "Input" and "Output" in chat.json
- Updated ChatRow.tsx to use translated strings in token stats tooltip
- Added tooltip to "API Request" text when there are token stats but no price
- Ensures token information is always accessible via tooltip hover
2025-09-12 01:57:49 +00:00
Matt Rubens
200d79e818
In-app announcement for Roo Code Cloud (#7914)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-09-11 16:28:21 -04:00
John Richmond
80af39dc74
separate task sync roomote control (#7799)
* feat: separate Task Sync and Roomote Control settings

- Add new taskSyncEnabled setting to control task content syncing
- Keep remoteControlEnabled for Roomote Control functionality
- Task Sync controls whether task content is sent to cloud
- Roomote Control controls whether cloud can send instructions back
- Roomote Control now depends on Task Sync being enabled
- Usage metrics (tokens, cost) always reported regardless of settings
- Update UI with two separate toggles and clear descriptions
- Add info text explaining usage metrics are always reported

* feat: add missing translations for Task Sync and Roomote Control settings

- Added taskSync, taskSyncDescription, remoteControlRequiresTaskSync, and usageMetricsAlwaysReported keys to all non-English cloud.json files
- Updated cloudBenefit keys to match English structure
- Ensured all languages have consistent translation keys for the new Task Sync and Roomote Control features

* Cloud: cleanup taskSyncEnabled additions

* fix: correct indentation localization files

---------

Co-authored-by: Roo Code <roomote@roocode.com>
2025-09-10 12:43:11 -07:00
NaccOll
1e403a7c92
fix: identify mcp and slash command config path in multiple folder workspace (#6904) 2025-09-05 14:52:48 -04:00
NaccOll
e559ac64bd
Edit/Delete User Message (#7447) 2025-09-05 14:50:18 -04:00
Chris Estreich
c25cfdeaef
Publish token usage metrics (#7637) 2025-09-03 13:51:27 -07:00
Chris Estreich
280b75d2eb
Focus the extension when receiving bridge commands (#7633) 2025-09-03 12:23:50 -07:00
Chris Estreich
43ff486d42
Publish subtask events (#7626) 2025-09-03 04:05:54 -07:00
Chris Estreich
641c058587
Send custom modes to the extension bridge (#7612) 2025-09-02 23:11:45 -07:00
Chris Estreich
5196c75017
Move message queue to the extension host (#7604)
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
2025-09-02 19:12:18 -07:00
John Richmond
59d6e74ec0
Cloud: fix provider syncing (#7603)
ClineProvider creation was moved before CloudService which broke
the old way of doing things.
2025-09-02 15:18:21 -07:00
roomote[bot]
f5e0525536
feat: rename Account tab to Cloud tab (#7558)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-08-30 18:57:00 -04:00
Daniel
fad219e001
feat: optimize memory usage for image handling in webview (#7556)
* feat: optimize memory usage for image handling in webview

- Replace base64 image data with webview URIs to reduce memory footprint
- Add proper resource roots to webview for workspace file access
- Implement convertToWebviewUri method for safe file-to-URI conversion
- Update ImageViewer to handle both webview URIs and file paths separately
- Add image message type for proper image rendering in chat
- Improve error handling and display for failed image loads
- Add comprehensive tests for ImageViewer component
- Format display paths as relative for better readability

This change significantly reduces memory usage by avoiding base64 encoding
of images and instead using VSCode's webview URI system for direct file
access. Images are now loaded on-demand from disk rather than being held
in memory as base64 strings.

* fix: address PR review comments

- Use safeJsonParse instead of JSON.parse in ChatRow.tsx
- Add type definition for parsed image info
- Add more specific error types in ClineProvider.ts
- Add comprehensive JSDoc comments to ImageBlock.tsx
- Improve error handling and type safety

* fix: address MrUbens' review comments

- Remove hardcoded 'rc1' pattern in formatDisplayPath, use generic workspace detection
- Internationalize 'No image data' text using i18n system

* chore: remove useless comment

* chore(i18n): add image.noData to all locales to fix translation check

* test: update ImageViewer.spec to align with i18n key and flexible path formatting
2025-08-30 15:57:30 -04:00
Chris Estreich
20929b0f16
Mode and provider profile selector (#7545) 2025-08-29 16:48:06 -07:00
Daniel
c3d84d295d
refactor: flatten image generation settings structure (#7536) 2025-08-29 18:35:24 -04:00
roomote[bot]
01458f1646
feat: sync extension bridge settings with cloud (#7535)
- Use CloudService.getUserSettings() for remoteControlEnabled instead of global state
- Update CloudService.updateUserSettings when toggling remote control
- Add BridgeOrchestrator.connectOrDisconnect handling in settings update handler
- Remove dependency on contentProxy/globalSettings for remote control state
---------

Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: John Richmond <5629+jr@users.noreply.github.com>
2025-08-29 11:08:58 -07:00
Chris Estreich
1d46bd1bbc
Implement deferred task subscriptions (#7517) 2025-08-29 02:43:06 -07:00
Chris Estreich
1e4c46fe6f
Refactor the extension bridge (#7515) 2025-08-29 00:28:38 -07:00
Chris Estreich
cd9e92fa9b
Move @roo-code/cloud to the Roo-Code repo (#7503) 2025-08-28 11:18:45 -07:00
roomote[bot]
3cb489d305
fix: hide .rooignore'd files from environment details by default (#7369)
* fix: change default showRooIgnoredFiles to false to hide ignored files

- Changed default value from true to false across all files
- Updated tests to reflect the new default behavior
- This prevents ignored files from appearing in environment details

Fixes #7368

* fix: update tests to match new showRooIgnoredFiles default

* fix: update test expectation to match new showRooIgnoredFiles default value

The PR changed the default value of showRooIgnoredFiles from true to false,
so the test needs to expect false instead of true when calling formatFilesList.

---------

Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-08-27 18:09:06 -04:00
Matt Rubens
572fa5080d
Sonic -> Grok Code Fast (#7426) 2025-08-26 16:17:47 -04:00
Hannes Rudolph
4664955127
feat: add optional todos parameter to new_task tool with experimental setting (#6329) (#6775)
* feat: add optional todos parameter to new_task tool with experimental setting (#6329)

- Add optional todos parameter to new_task tool for hierarchical task planning
- Implement experimental setting to optionally require todos parameter
- Add clean state-based UI rendering to avoid spurious messages
- Export and reuse parseMarkdownChecklist function
- Add comprehensive test coverage for both optional and required modes
- Maintain full backward compatibility (todos optional by default)

* fix: update new_task tool example to include todos parameter

- Updated the example in tool-use.ts to show the todos parameter
- This prevents AI confusion about whether todos is a valid parameter
- The example now demonstrates the complete tool usage pattern

* fix: make new_task tool definition dynamic based on experimental setting

- Tool description now changes based on newTaskRequireTodos setting
- When disabled: shows todos as (optional)
- When enabled: shows todos as (required) with no mention of configuration
- Added tests to verify dynamic behavior
- Ensures AI models get unambiguous instructions based on current settings

* fix: add translations for newTaskRequireTodos experimental setting

- Added translations for all 17 supported languages
- Ensures consistent UI experience across all locales

* test: update snapshots for new_task tool example with todos parameter

- Updated 13 snapshot files to reflect the new tool-use example
- All tests now pass with the updated example format

* Update src/core/tools/newTaskTool.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: address PR review comments

- Replace any[] with TodoItem[] type in ExtensionStateContext.tsx for better type safety
- Remove redundant initialTodos parameter from startTask call in Task.ts (todos already set in constructor)
- Improve code clarity in newTaskTool.ts by checking provider reference early and reusing state

# Conflicts:
#	src/core/task/Task.ts
#	webview-ui/src/context/ExtensionStateContext.tsx

* fix: revert order of operations in startTask to fix integration test timeout

The change in order of operations (calling say() before postStateToWebview()) was causing the XML content file test to timeout. Reverting to the original order fixes the issue.

* fix: hide todos parameter from new_task tool prompt when experiment is disabled

- Modified getNewTaskDescription to completely omit todos parameter when experiment is off
- Updated tests to verify todos parameter is not shown at all when disabled
- Ensures tool prompt remains unchanged when experimental setting is disabled
- Maintains backward compatibility while providing cleaner prompt interface

* fix: update snapshots for new_task tool todos parameter

- Updated snapshots in add-custom-instructions.spec.ts
- Updated snapshots in system-prompt.spec.ts
- All tests now passing with the new todos parameter documentation

* feat: move newTaskRequireTodos from experimental to VSCode settings

- Added newTaskRequireTodos as a VSCode configuration property in src/package.json
- Added description in src/package.nls.json
- Updated newTaskTool.ts to read from VSCode configuration instead of experiments
- Removed NEW_TASK_REQUIRE_TODOS from experimental settings in src/shared/experiments.ts
- Removed newTaskRequireTodos from packages/types/src/experiment.ts
- Updated tests to use VSCode configuration mocking instead of experiments
- Removed references from experiments test file
- Maintains backward compatibility (defaults to false)

* fix: make new_task tool description dynamically reflect VSCode setting

- Updated new-task.ts to check args.settings instead of args.experiments
- Added newTaskRequireTodos to SystemPromptSettings interface
- Pass newTaskRequireTodos setting through Task.ts and generateSystemPrompt.ts
- Updated all related tests to use settings instead of experiments
- Fixed TypeScript errors in test files by adding newTaskRequireTodos property

This ensures the tool description correctly shows todos parameter as required/optional
based on the VSCode setting value, fixing the issue where Roo would try to use
new_task without the todos parameter when it was required.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Merge Resolver <merge-resolver@roo-code.com>
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-21 13:02:05 -07:00
Daniel
4216618c72
feat: add MDM authentication notification when navigation is blocked (#7291)
- Show VSCode warning when users under MDM policy try to leave AccountView without auth
- Add showMdmAuthRequiredNotification message type to WebviewMessage interface
- Implement handler in webviewMessageHandler to display localized warning
- Add 'Your organization requires authentication' translation in all 17 languages
- Fix translation key path to use common:mdm.info.organization_requires_auth
2025-08-21 11:12:04 -07:00
Matt Rubens
94fa33bd63
Add announcement for Sonic model (#7244) 2025-08-19 23:02:27 -07:00
Chris Estreich
2a974e8bf6
Emit event when a task ask requires interaction (#7128)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-08-16 02:46:51 -07:00
Will Li
438c8e377a
Make enhance with task history default to true (#7140) 2025-08-15 22:40:46 -04:00
Matt Rubens
6274273982
Release: v1.51.0 (#7130) 2025-08-15 12:42:53 -04:00
Chris Estreich
44086e4a86
Add support for task page event population (#7117) 2025-08-14 23:17:05 -07:00
Chris Estreich
c56b95bc60
Task metadata (#7092) 2025-08-14 03:14:17 -07:00
Chris Estreich
9ffc2b0a36
Move cloud types from @roo-code/types to @roo-code/cloud (#7038) 2025-08-13 00:10:29 -07:00
Chris Estreich
12d1959bbd
Switch to the UnifiedBridgeService (#6976) 2025-08-12 03:39:11 -07:00
Chris Estreich
a7ad887621
Handle bridge config fetch errors (#6961) 2025-08-11 15:17:17 -10:00
Chris Estreich
b1300e5550
Bring back roomote control (#6796)
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-08-11 17:28:08 -04:00
Matt Rubens
c632b22e56
Revert "Extension bridge (#6677)" (#6729) 2025-08-05 10:45:45 -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
Chris Estreich
1d714c8ce4
Extension bridge (#6677)
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-08-04 13:58:14 -07:00
Chris Estreich
b2d2a2c5d2
Task and TaskProvider event emitter cleanup + a few new events (#6606)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-02 11:12:44 -07:00
John Richmond
8353ca2519
Cloud: support syncing provider profiles from the cloud (#6540) 2025-08-01 16:00:09 -04:00
Chris Hasson
1da82b2db0
Add auto-approved cost limits (#6484)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-31 15:33:09 -04:00
Piotr Wilkin (ilintar)
1a013b4416
fix: LM Studio model context length (#5075) (#6183)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-31 15:31:04 -04:00
Chris Estreich
cb6dccab95
Miscellaneous cleanup (#6453) 2025-07-30 16:10:53 -07:00
Will Li
83280a0d40
feat: Add Task History Context to Prompt Enhancement (#6343) 2025-07-30 16:54:33 -04:00
roomote[bot]
2217a3d548
feat: auto-refresh marketplace data when organization settings change (#6446)
- Added organizationSettingsVersion to ExtensionState type
- Modified ClineProvider to include version in state sent to webview
- Updated CloudService callback to trigger marketplace refresh on settings change
- Added logic to MarketplaceView to detect version changes and request data refresh
- Added comprehensive tests for the new functionality

This ensures marketplace items (MCPs and modes) stay in sync when organization settings are updated in the cloud.

---------

Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: John Richmond <5629+jr@users.noreply.github.com>
2025-07-30 13:52:28 -07:00
John Richmond
6a42e91b15
Cloud: add organization MCP controls (#6378)
- Add option to hide mcps from the marketplace
- Add ability to define new organization mcps
2025-07-29 14:11:51 -07:00
Matt Rubens
4a934f4407
chore: add changeset for v3.25.0 (#6358)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-07-29 11:52:57 -04:00
Sam Hoang Van
017622d3e3
feat(tools): add image support to read_file tool (#5172)
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-28 23:23:33 -04:00
roomote[bot]
8b9303c015
feat: make task mode sticky to task (#6177)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: hannesrudolph <hrudolph@gmail.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
2025-07-28 23:06:14 -04:00
Matt Rubens
55d23e0d26
chore: add changeset for v3.24.0 (#6237) 2025-07-26 00:22:11 -04:00
Hannes Rudolph
1e17b3b3bb
feat: add confirmation dialog and proper cleanup for marketplace mode removal (#6136)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-24 00:57:10 -04:00
Hannes Rudolph
0323256006
feat: Add settings to control diagnostic messages (#5524) (#5582)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
2025-07-23 14:49:41 -04:00