Commit graph

1633 commits

Author SHA1 Message Date
Roo Code
8e5c4c401d fix: add maxReadFileTokens to test fixtures 2025-07-27 15:58:22 +00:00
Roo Code
40ad09478b feat: implement token-based file reading to prevent context exhaustion
- Add maxReadFileTokens setting to global settings schema (default: 10000)
- Update extractTextFromFile to use token counting with tiktoken
- Modify UI components to show token-based settings instead of line-based
- Update all callers of extractTextFromFile to pass the new parameter
- Add comprehensive tests for token-based truncation
- Token-based truncation takes precedence over line-based when both are set

This addresses issue #6274 by preventing context window exhaustion when
reading files with very long lines that contain many tokens.
2025-07-27 15:54:19 +00:00
Hannes Rudolph
7a6e852248
feat: sync API config selector style with mode selector from PR #6140 (#6148)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-27 01:15:10 -04:00
Hannes Rudolph
8625b451f4
feat: Add search functionality to mode selector popup and reorganize layout (#6140)
Co-authored-by: Roo Code Translate Mode
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-27 01:13:57 -04:00
Matt Rubens
5d4e3819e4
Support for custom slash commands (#6263) 2025-07-26 23:16:46 -04:00
Daniel
43f649b03f
fix: prevent scrollbar flickering in chat view during content streaming (#6266) 2025-07-26 22:55:12 -04:00
roomote[bot]
91c21a1bba
fix: add text wrapping to command patterns in Manage Command Permissions (#6255)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-07-26 18:41:02 -04:00
Daniel
4d0550c855
fix: restore working settings link in command permissions tooltip (#6253)
- Replace broken command URI with onClick handler that posts message
- Command URIs don't work in webview context, must use postMessage
- Restores original working implementation from PR #5798
- Directs to autoApprove section where command permissions are configured

The bug was introduced in commit 77bc9e6f when the tooltip was updated
to use command URI instead of the working onClick pattern.
2025-07-26 18:21:53 -04:00
Daniel
478869e37a
feat: add markdown table rendering support (#6252) 2025-07-26 15:31:01 -05:00
Matt Rubens
55d23e0d26
chore: add changeset for v3.24.0 (#6237) 2025-07-26 00:22:11 -04:00
Matt Rubens
97ec777e9c
Clean up some of the hugging face provider settings (#6236) 2025-07-25 23:36:25 -04:00
Thomas G. Lopes
31d16dcc33
Hugging Face provider: add more details (#6190)
* add more details

* format details better

* fix tests

* fix: address PR #6190 review feedback

- Move huggingface-models.ts to src/api/providers/fetchers/huggingface.ts
- Remove 'any' types and add proper TypeScript interfaces
- Add missing i18n keys and translations for all languages
- Replace magic numbers with named constants
- Add JSDoc documentation for HuggingFaceModel interface
- Improve error handling in API endpoint
- Update model capabilities display to match other providers
- Remove tool calling display (not used)
- Add comprehensive test coverage for new UI features

* fix: preserve HuggingFace provider details in model response

- Store raw HuggingFace models in cache to preserve provider information
- Export getCachedRawHuggingFaceModels to retrieve full model data
- Update huggingface-models.ts to return cached raw models when available
- Include provider name in model descriptions
- Always add provider-specific variants to show all available providers
- Remove console.log statements from fetcher

---------

Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-25 20:09:09 -04:00
Chris Hasson
912d795358
fix(chat): Cancel auto-approve timer when editing follow-up suggestion (#6226)
Co-authored-by: Chris Hasson <noreply@example.com>
2025-07-25 18:27:40 -04:00
Daniel
490538f9df
fix: prevent duplicate command patterns by trimming full command (#6224) 2025-07-25 17:49:23 -04:00
roomote[bot]
c61bd95bbe
fix: restore list styles for markdown lists in chat interface (#6095)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-25 16:51:45 -04:00
Hannes Rudolph
c68f8f591e
feat: Add terminal command permissions UI to chat interface (#5480) (#5798)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
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-25 16:49:51 -04:00
John Richmond
d62a260576
Add support for bedrock api keys (#6132)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-07-25 01:04:49 -04:00
KJ7LNW
d54e3fcdfc
fix: allow auto-approve checkbox to be toggled at any time (#6061)
Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-25 00:41:12 -04:00
Daniel
a82455715c
fix: Fix Hugging Face provider setup not transitioning from welcome view (#6173)
fix: add Hugging Face API key to SECRET_STATE_KEYS and fix validation

- Added huggingFaceApiKey to SECRET_STATE_KEYS array to ensure it's properly handled as a secret
- Fixed validateModelsAndKeysProvided to check for huggingFaceModelId when validating Hugging Face provider
- This fixes the issue where the welcome view wouldn't transition to chat view after configuring Hugging Face
2025-07-24 11:06:53 -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
Matt Rubens
bcad858b2f
basic hugging face provider (#6134)
* basic hugging face provider

* fetch hf models and providers

* save provider to config

* Update translations

---------

Co-authored-by: Thomas G. Lopes <26071571+TGlide@users.noreply.github.com>
2025-07-23 15:19:23 -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
Bruno Bergher
4f8c9688a2
Roo Code Cloud Waitlist CTAs (#6104)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Bruno Bergher <me@brunobergher.comexport>
2025-07-23 13:28:30 -04:00
Matt Rubens
4042fb0fd0
Smarter auto-deny (#6123) 2025-07-23 12:02:31 -04:00
Matt Rubens
9d434c2db9
Split commands on newlines (#6121) 2025-07-23 11:21:06 -04:00
KJ7LNW
3e89b06f25
debug: Add ErrorBoundary component for better error handling (#5085)
Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-07-23 08:45:35 -04:00
Daniel
b0820ac755
fix: resolve 'Bad substitution' error in command parsing (#5743) 2025-07-23 08:43:36 -04:00
roomote[bot]
5629199d51
Add jump icon for newly created files (#5738)
* feat: add jump icon for newly created files

- Add jump icon to newFileCreated tool case in ChatRow.tsx
- Matches existing pattern from readFile case for consistent UX
- Allows users to quickly open newly created files
- Fixes issue #5736

* fix: remove duplicate file path display in newFileCreated case

- Removed redundant ToolUseBlock that was showing file path twice
- Added onJumpToFile prop to CodeAccordian component to support jump icon
- Jump icon now appears in CodeAccordian header for newFileCreated files
- Maintains consistent UX with existing file operations while avoiding duplication

Fixes feedback from @daniel-lxs about duplicate elements being shown

* fix: address PR feedback for jump icon on new files

- Fix openFile message to use correct path format with './' prefix
- Remove duplicate chevron icon when jump icon is present
- Add aria-label for accessibility
- Fix styling: use mr-1 to match progressStatus icon
- Remove redundant margin style from jump icon

---------

Co-authored-by: Roo Code <roo@roocode.com>
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-22 13:26:32 -04:00
Matt Rubens
df6c57d293
feat: add moonshot provider (#6046)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: CellenLee <99465814+CellenLee@users.noreply.github.com>
2025-07-22 00:37:24 -04:00
roomote[bot]
b1bc085aa6
Add todo list tool enable checkbox to provider advanced settings (#6032)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-07-21 23:27:28 -04:00
SannidhyaSah
de13d8a5cf
fix: move context condensing prompt to Prompts section (#4924) (#5279)
* feat: move context condensing prompt from context to prompts page

* fix: remove unused imports after lint fixes
2025-07-19 22:24:08 -04:00
Murilo Pires
1b12108172
fix: enable export, share, and copy buttons during API operations (#5324) (#5849)
* feat: add Issue Fixer Orchestrator mode

* fix: allow export task history while API is active (#5324)

- Add exportAlwaysEnabled prop to TaskActions component
- Export button remains enabled when exportAlwaysEnabled is true
- Other action buttons still respect buttonsDisabled state
- Add tests to verify the new behavior

This fixes the regression where users couldn't export task history
during API operations, which is a common debugging workflow.

* fix: simplify export button to always be enabled

The export functionality is not impacted by the model streaming state,
so the button should always be enabled. Removed the unnecessary
exportAlwaysEnabled prop and simplified the implementation.

- Remove exportAlwaysEnabled prop from TaskActions
- Remove disabled attribute from export button entirely
- Update TaskHeader to remove exportAlwaysEnabled prop usage
- Update tests to reflect that export is always enabled

* fix: enable export, share, and copy buttons during API operations

- Export, share, and copy buttons now remain enabled when API is active
- Delete button still respects buttonsDisabled state for safety
- Removed unnecessary exportAlwaysEnabled prop
- Updated tests to reflect new behavior

---------

Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-19 19:25:17 -04:00
roomote[bot]
37300ef0c5
fix: add character limit to prevent terminal output context explosion (#5777)
* fix: add character limit to prevent terminal output context explosion

- Enhanced truncateOutput function to accept character limits alongside line limits
- Character limits take priority over line limits to prevent context window explosion
- Added terminalOutputCharacterLimit setting (default: 100,000 characters)
- Updated all terminal output processing to use both limits
- Added comprehensive tests for character limit functionality

Fixes #5775

* feat: add terminal output character limit setting to UI

- Add character limit slider to Terminal Settings UI (default: 50,000)
- Update ExtensionStateContext to manage character limit state
- Add validation for positive character limit values
- Add English translation and translations for all 17 supported languages
- Connect UI to backend through proper message handling
- Character limit takes precedence over line limit to prevent memory issues

* fix: update test expectations for character limit edge cases

- Fix multi-byte character test to account for JavaScript's string length behavior
- Fix newline content test to match actual slice behavior
- Tests now correctly validate the truncateOutput function's character limit handling

---------

Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-19 13:26:25 -04:00
SannidhyaSah
7ddc4e64f3
feat: Add Mistral embedding provider (#5932) (#5946)
* feat: add Mistral embedding provider with OpenAI Compatible Wrapper

- Implement MistralEmbedder class using OpenAI-compatible API
- Add comprehensive unit tests with 100% coverage
- Update type definitions for Mistral provider support
- Integrate Mistral option in UI components and configuration
- Add internationalization support for Mistral provider
- Fix API key storage and retrieval for embedding providers
- Update service factory to support Mistral embeddings
- Add proper error handling and validation

This implementation allows users to use Mistral's embedding models
through the existing OpenAI-compatible wrapper approach, providing
a seamless integration experience.

* feat: add Mistral embedding provider support

- Implement MistralEmbedder class with API integration
- Add Mistral models to embedding model configurations
- Update UI to include Mistral provider option
- Add comprehensive unit tests for Mistral embedder
- Update type definitions and interfaces
- Add internationalization support for Mistral provider

* fix: add missing translations for Mistral embedding provider

* fix: address PR review feedback - improve translations and add clarifying comment
2025-07-19 13:24:24 -04:00
Daniel
c417f43b18
feat: Update Ollama UI to use text inputs (#5818) 2025-07-17 13:40:05 -04:00
Will Li
fb374b3e94
Message edit/delete overhaul (#5538)
* improved chat row first pass

* big UI improvements

* working functionality

* tests working

* ok finally tests working for real!

* translations

* add back hidden flag

* remove option to skip notif

* fixed image issue

* ui fix

* put back edit flag

* oops test fix

* reduce margins

* code review
2025-07-17 10:16:57 -04:00
Hannes Rudolph
6cf376f832
fix: Resolve confusing auto-approve checkbox states (#5602)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-16 17:52:29 -04:00
Daniel
2458751424
fix: prevent empty mode names from being saved (#5766) (#5794) 2025-07-16 17:50:14 -04:00
Matt Rubens
0f994fcf22
Fix settings dirty check (#5779) 2025-07-16 10:57:34 -04:00
Matt Rubens
db718533c6
Move less commonly used provider settings into an advanced dropdown (#5762) 2025-07-15 19:00:14 -04:00
Murilo Pires
93f88b45b6
feat: Add configurable error & repetition limit with unified control (#5654) (#5752)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-15 18:25:43 -04:00
roomote[bot]
ab1756961c
feat: add undo functionality for enhance prompt feature (fixes #5741) (#5742)
Co-authored-by: Roo <roo@roocode.dev>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-07-15 10:26:34 -04:00
Matt Rubens
8a3dcfb593
Update the max-token calculation in model-params to use the shared logic (#5720) 2025-07-15 02:20:22 -04:00
Roomote Agent
8f5c130e21
feat: add Cmd+Shift+. keyboard shortcut for previous mode switching (#5695)
* feat: add Cmd+Shift+. keyboard shortcut for previous mode switching

- Add switchToPreviousMode function that cycles backwards through modes array
- Update handleKeyDown to detect Cmd+Shift+. keyboard combination
- Update modeShortcutText to display both next and previous mode shortcuts
- Add forPreviousMode translation key to all 18 language files
- Implements backwards mode cycling using modulo arithmetic for proper array wrapping

Fixes #5692

* fix: correct keyboard shortcut detection for Cmd+Shift+. (previous mode)

When Shift is pressed with the period key, event.key becomes ">" instead of ".".
Fixed line 1576 to check for event.key === ">" for proper Cmd+Shift+. detection.

Fixes keyboard shortcut issue reported in PR comment.

* fix: use event.code for cross-platform keyboard shortcut compatibility

- Replace event.key checks with event.code === "Period" for both shortcuts
- Fixes keyboard layout compatibility issue where Shift+Period produces different characters on non-US layouts
- Consolidates both shortcuts into a single conditional block for better maintainability
- Addresses feedback from @daniel-lxs in PR #5695
2025-07-14 20:44:45 -04:00
Matt Rubens
1a24cd60f9
Add padding to the index model options (#5706) 2025-07-14 16:35:45 -04:00
Matt Rubens
5fab8521cd
More tweaks to chatview layout (#5643) 2025-07-12 20:05:18 -04:00
Matt Rubens
14473ea1e9
Updated string for denied command (#5637) 2025-07-12 15:02:15 -04:00
Roomote Bot
2220a2d2ba
Add navigation link to history tab in HistoryPreview (#5630)
* feat: add navigation link to history tab in HistoryPreview

- Add 'View all history' link at bottom of history preview
- Include internationalization support with new translation key
- Use consistent styling with VSCode theme colors
- Navigate to history tab using switchTab message format

* feat: add viewAllHistory translation to all language files

* Tweaks and translations

* Fix test

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-07-12 13:47:13 -04:00
Daniel
5bffebde58
feat: add enable/disable toggle for code indexing (#5599) 2025-07-12 12:55:50 -04:00
Matt Rubens
cdacdfd54b
Add a command denylist (#5614)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-07-12 12:36:04 -04:00