Commit graph

1532 commits

Author SHA1 Message Date
hannesrudolph
82c3e927b8 fix: Update shell-quote to v1.8.3 and use it for command pattern extraction
- Updated shell-quote from v1.8.2 to v1.8.3 in webview-ui
- Added shell-quote v1.8.3 to backend dependencies
- Updated shared extract-command-pattern module to use shell-quote for proper parsing
- Added @types/shell-quote for TypeScript support
- Ensures consistent command pattern extraction across frontend and backend
2025-07-01 09:25:40 -06:00
hannesrudolph
8fd1210776 Address PR review comments
- Use extractCommandPattern function to extract base command patterns
- Add proper error handling for providerRef.deref()
- Use internationalization for user-facing messages
- Extract addCommandToWhitelist helper function to reduce duplication
- Add comments explaining why we can't use the shared askApproval function
2025-07-01 08:33:09 -06:00
Roo Code
95b6c2a8d5 feat: Add 'Add & Run' button to command approval UI
- Add third button option to command approval dialog
- Implement streamlined whitelisting workflow that adds command to whitelist and executes it
- Update UI to show three buttons: 'Run Command', 'Add & Run', and 'Reject'
- Add backend logic to detect 'Add & Run' selection and update allowedCommands setting
- Enhance message passing system to support tertiary button interactions

Fixes #5290
2025-06-30 20:17:00 +00:00
Daniel
b0190387ce
Fix checkpoint popover not opening due to StandardTooltip wrapper conflict (#5192) 2025-06-27 11:22:32 -04:00
KJ7LNW
c58b9638c5
fix: eliminate XSS vulnerability in CodeBlock component (#5157)
Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-06-27 10:20:59 -04:00
Hannes Rudolph
992997c02f
feat: add Gemini CLI provider for free access to Gemini models (#5134) (#5137)
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: Daniel Riccio <ricciodaniel98@gmail.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
2025-06-26 16:03:18 -04:00
Hannes Rudolph
3318366b66
fix: standardize tooltip delays to 300ms (#5090) (#5098)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-06-26 15:41:32 -04:00
Matt Rubens
1c37b77e9d
Track mode selector opened in telemetry (#5150) 2025-06-26 15:19:58 -04:00
Christiaan Arnoldus
1a9aa13bd2
Use upstream_inference_cost for OpenRouter BYOK cost calculation and show cached token count (#5145)
Improve OpenRouter cache calculation and show cached tokens
2025-06-26 10:18:49 -04:00
Hannes Rudolph
f9f01b012c
fix: resolve Claude Code token counting inefficiency and enable caching (#5104) (#5108)
* fix: resolve Claude Code token counting inefficiency and enable caching (#5104)

- Remove 1.5x fudge factor from Claude Code token counting
- Enable prompt caching support for all Claude Code models
- Add comprehensive tests for token counting and caching
- Update existing tests to reflect accurate token counting

This fixes the extreme token inefficiency where simple messages would
jump from ~40k to over 60k tokens, causing API hangs when approaching
the artificial 120k limit. Claude Code now properly utilizes its full
200k context window with accurate token counting.

* fix: address PR review comments

- Extract IMAGE_TOKEN_ESTIMATE as a named constant for clarity
- Update token counting tests to use exact counts instead of ranges for deterministic testing
- Fix test expectations to match actual tokenizer output

* Remove token counting changes, keep only cache support

- Removed custom countTokens override from claude-code.ts
- Deleted claude-code-token-counting.spec.ts test file
- Kept cache token collection and reporting functionality
- Kept supportsPromptCache: true for all Claude Code models
- Kept claude-code-caching.spec.ts tests

This focuses the PR on enabling cache support without modifying token counting behavior.

* fix: update webview test to expect supportsPromptCache=true for Claude Code models

---------

Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-06-25 20:36:06 -04:00
Hannes Rudolph
83c19ce2c8
fix: resolve claude-code provider image hang (#5100) (#5105)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
2025-06-25 16:08:35 -04:00
Matt Rubens
da8b09e655
Sharing improvements (#5082)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: John Richmond <5629+jr@users.noreply.github.com>
Co-authored-by: cte <cestreich@gmail.com>
2025-06-24 16:36:32 -04:00
Bruno Bergher
21dc57365e
Modes selector improvements (#4902)
Co-authored-by: Bruno Bergher <me@brunobergher.comexport>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-06-24 14:24:35 -04:00
kiwina
64901c867c
fix: Address multiple memory leaks in CodeBlock component (#4244)
* fix: address multiple memory leaks in CodeBlock component (CodeBlock_247, CodeBlock_459, CodeBlock_694)

* fix: Address review feedback for CodeBlock memory leak fixes

- Consolidate isMountedRef management into syntax highlighting useEffect
- Unify timeout cleanup patterns for consistent maintainability
- Maintain all existing memory leak protections
- Improve code organization and readability

Addresses review comments from daniel-lxs in PR #4244

---------

Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-06-23 18:45:59 -04:00
xyOz
976dcfdcef
memory cleanup (#4190)
* memory cleaanup

* forgot to run linter
2025-06-23 18:45:15 -04:00
Daniel
041c28d8e5
fix: improve LM Studio model detection to show all downloaded models (#5047) 2025-06-23 14:46:56 -04:00
Chris Estreich
0a8c55cbd2
Fix TemperatureControl test flake (#5045) 2025-06-23 08:48:26 -07:00
Hannes Rudolph
ff9b6b3ef6
feat: add Claude Code provider for local CLI integration (#4864)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-06-22 23:17:55 -04:00
Daniel
5b9907b925
fix: resolve MCP tool eye icon state and hide in chat context (#4993) (#4994) 2025-06-21 15:22:20 -04:00
Chris Estreich
00ad4256d1
Fix flakey ModelPicker test (#4972) 2025-06-21 00:34:08 -07:00
renovate[bot]
d049634263
fix(deps): update dependency tailwind-merge to v3 (#4834)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-06-20 23:14:57 -04:00
renovate[bot]
15d5af6919
fix(deps): update dependency pretty-bytes to v7 (#4806)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-06-20 23:14:01 -04:00
SannidhyaSah
7392f14e44
feat: add profile-specific context condensing thresholds (#4456)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-06-20 23:02:04 -04:00
Brad Davis
37ed013157
fix context length for lmstudio and ollama (#2462) (#4314)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-06-20 22:53:04 -04:00
Ksandr
d99ae582d0
feature: add toggle for disable mcp server tool from prompt (#3551)
* add toggle for disable mcp server tool from prompt

* languages

* fix error message

* Update src/core/prompts/instructions/create-mcp-server.ts

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

* fix build

* typo

* refactor: make the switch style consistent

* respect review

* refactor: improve layout and styling in McpToolRow component

* fix: update new mcp tests

* tailwind css for disabledTool swipper

* id locale (from main)

* fix: improve error message for updating tool settings

* fix: specify type for serverConfigData as Record<string, any>

* fix: enhance UI layout and improve accessibility for tool controls

* fix: migrate jest.Mock to vitest Mock type

* Update .changeset/slimy-years-smell.md

* fix: replace enabled switch with button

---------

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>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-06-20 19:14:59 -04:00
roomote
6ed217c716
Fixes #4882: Remove experimental setting for command execution in attempt_completion (#4884)
* Fixes #4882: Remove experimental setting for command execution in attempt_completion

- Remove DISABLE_COMPLETION_COMMAND from experiments system
- Permanently disable command execution in attempt_completion tool
- Update tool prompts to remove command parameter and examples
- Remove experimental UI toggle and localization entries (18+ languages)
- Update tests to reflect permanent behavior
- Remove experiment-specific test file

Command execution is now permanently disabled in attempt_completion.
Users must use execute_command tool separately before attempt_completion.

* refactor: simplify getAttemptCompletionDescription by removing unnecessary variables

* test: fix tests by regenerating snaps

---------

Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-06-20 17:48:01 -04:00
xyOz
93b8f6d87f
Update MarkdownBlock.tsx (#4841)
* Update MarkdownBlock.tsx

* fix: correct URL handling in MarkdownBlock and add tests for trailing punctuation

* Fix URL punctuation rendering

* fix: improve URL handling in MarkdownBlock and update tests for trailing punctuation

---------

Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-06-20 17:46:38 -04:00
Daniel
9da598c9db
fix: update MarketplaceViewStateManager test to match default isFetching state (#4954)
The test was expecting isFetching to be false in the default state, but the implementation correctly initializes it as true to show a loading state on initial load. Updated the test expectation to match the actual behavior.
2025-06-20 13:36:26 -07:00
roomote
ce2cfe6df0
Fixes #4855: Rename 'Boomerang Tasks' to 'Task Orchestration' for clarity (#4856) 2025-06-20 15:45:58 -04:00
Hannes Rudolph
85d73af334
feat: add LaTeX math equation rendering in chat window (#4258) (#4786)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-06-20 15:45:18 -04:00
roomote
d598fc3795
Fixes #4794: Fix marketplace blanking after populating (#4796)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-06-20 15:42:36 -04:00
Matt Rubens
8370591ec0
Display the organization image in the account view (#4953) 2025-06-20 15:14:18 -04:00
Daniel
9a5f6ce7ea
fix: resolve marketplace timeout issues and display installed MCPs (#4817) (#4941) 2025-06-20 13:20:02 -04:00
Matt Rubens
d1eecb9084
Fix logo centering (#4945) 2025-06-20 12:56:35 -04:00
Matt Rubens
b6bbb1e95b
Add choice to share with organization or publicly (#4899) 2025-06-19 22:29:42 -04:00
Bruno Bergher
886a8a7f1f
Onboarding tweaks to emphasize modes (#4791)
Co-authored-by: Bruno Bergher <me@brunobergher.comexport>
2025-06-19 21:47:52 -04:00
renovate[bot]
5c7cae0c48
fix(deps): update dependency lucide-react to ^0.518.0 (#4820)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-19 00:52:01 -07:00
roomote
db4f7f3320
Fix #4837: Default 'Enable MCP Server Creation' to false (#4838) 2025-06-18 12:08:54 -04:00
renovate[bot]
8d61bfb16f
fix(deps): update dependency lucide-react to ^0.516.0 (#4612)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-17 15:33:47 -07:00
Chris Estreich
44f3a8418b
Convert all webview-ui tests: jest -> vitest (#4771) 2025-06-17 15:29:17 -07:00
Matt Rubens
e93fd12f69
v3.21.0 (#4800) 2025-06-17 17:53:59 -04:00
Chris Hasson
e484bfff32
Reapply "Always focus the panel when clicked to ensure menu buttons are visible" (#4598)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-06-17 16:51:56 -04:00
Dicha Zelianivan Arkana
b8505fe175
fix: ambiguous model id error (#4306) 2025-06-17 11:32:08 -07:00
Matt Rubens
7b5a1d987d
Turn on marketplace (#4788) 2025-06-17 14:00:27 -04:00
Matt Rubens
9d0c636b21
Add telemetry for marketplace tab views and install clicks (#4781) 2025-06-17 11:44:25 -04:00
Matt Rubens
e95c1e88d7
MDM check improvements (#4770)
* Better check for production clerk

* Send to account tab if required

* Fix tests
2025-06-17 07:35:20 -04:00
Chris Estreich
62c3914034
Farewell jest (#4607)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-06-16 21:39:45 -07:00
Matt Rubens
322a15ee5d
Fetch organization info in the extension (#4751) 2025-06-16 14:58:49 -04:00
SannidhyaSah
829fe8ff2a
fix: update marketplace branding to 'Roo Marketplace' (#4706) (#4717) 2025-06-14 23:57:46 -04:00
SmirnovDev
bfe2274813
Add max tokens checkbox option for OpenAI compatible provider (#4467)
Co-authored-by: AlexandruSmirnov <test@example.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-06-14 23:28:09 -04:00