Commit graph

1631 commits

Author SHA1 Message Date
Daniel Riccio
ea360590af
fix: improve error handling in extractPatternsFromCommand function 2025-07-24 12:57:51 -05:00
Daniel Riccio
d819ae57b7
fix: remove unused index parameter in CommandPatternSelector 2025-07-24 12:47:49 -05:00
Daniel
63ce9e7a9b
Update webview-ui/src/components/chat/CommandPatternSelector.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-24 12:38:25 -05:00
Daniel
9481c95bbe
Update webview-ui/src/components/chat/CommandExecution.tsx
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-07-24 12:37:44 -05:00
Daniel Riccio
7799f0cabf
refactor: remove automatic 'commands' description suffix from patterns 2025-07-24 12:26:42 -05:00
Daniel Riccio
cbc756d8b5
refactor: remove commandPatterns.ts and simplify command parsing
- Remove unnecessary commandPatterns.ts wrapper module
- Use extractPatternsFromCommand directly from command-parser.ts
- Simplify command/output parsing logic in CommandExecution.tsx
- Move CommandPattern interface to components that use it
- All tests passing
2025-07-24 12:17:28 -05:00
Daniel Riccio
627ea8462d
fix: stop extracting patterns at command flags and revert command-validation changes 2025-07-24 11:56:55 -05:00
Daniel Riccio
8b4150e017
Refactor command execution and security handling
- Removed security warning detection from CommandExecution component and related tests.
- Simplified command parsing logic by consolidating command extraction and validation.
- Updated command pattern extraction to handle duplicate patterns gracefully.
- Enhanced command parsing to limit extracted patterns to a maximum of three levels.
- Removed unused security issue detection functions and related tests.
- Improved test coverage for command pattern extraction and validation.
2025-07-24 10:40:08 -05:00
hannesrudolph
0a5cf463a1 fix: revert conditional display of command pattern selector
Per user feedback, the command pattern selector should always be displayed when patterns are available, regardless of whether command restrictions are configured.
2025-07-23 13:26:06 -06:00
hannesrudolph
17dbda3d4d fix: update command parser to handle all edge cases from original implementation
- Add support for all line ending types (\r\n, \r, \n)
- Handle simple variable references (, ) to prevent shell-quote from splitting them
- Handle special bash variables (0, , etc.)
- Maintain compatibility with all existing tests
- Fix linting warnings
2025-07-23 12:21:02 -06:00
hannesrudolph
38ed84b967 fix: consolidate command parsing logic and integrate security warnings
- Created shared command-parser.ts to eliminate duplicate parsing logic
- Integrated detectSecurityIssues to display warnings in the UI
- Made command suggestions configurable (only show when restrictions are enabled)
- Added comprehensive tests for the new command parser
- Updated existing tests to handle the new behavior
2025-07-23 12:01:09 -06:00
Roo Code
4b257fc628 refactor: simplify command pattern parser using shell-quote library
- Replace custom parsing logic with shell-quote library
- Implement simplified extractPatterns and processCommand functions
- Maintain all existing test compatibility
- Remove dependency on parseCommand from command-validation
2025-07-23 11:55:38 -06:00
hannesrudolph
0a25464cc3 refactor: eliminate code redundancy between extractCommandPatterns and parseCommand
- Refactored extractCommandPatterns to use the existing parseCommand function
- Ensures consistent command parsing behavior across the codebase
- Maintains security by removing subshell contents before parsing
- All existing tests continue to pass
2025-07-23 11:55:37 -06:00
hannesrudolph
f6642f6afe fix: prevent command output from appearing in permissions UI
- Fixed CommandExecution.tsx to only extract patterns from actual commands, not AI suggestions
- Enhanced extractCommandPatterns to filter out numeric patterns and common output words
- Added comprehensive test coverage for the bug scenario
- Ensures 'Manage Command Permissions' only shows actual executed commands

Fixes the issue where output like '0 total' from wc commands was incorrectly shown as a command pattern
2025-07-23 11:55:37 -06:00
hannesrudolph
ebf1b241c1 fix: improve command parsing to handle Output: separator correctly
- Fixed parseCommandAndOutput to properly handle the newline + 'Output:' separator
- Added test cases for commands with numbers at the start of output lines
- Updated existing tests to use template literals for proper newline handling
- Fixed test assertions to handle multiple code blocks when output is present

This resolves the issue where output lines starting with numbers (like 'wc -l' output)
were being incorrectly parsed as the command instead of the actual command text.
2025-07-23 11:55:37 -06:00
Roo Code
860631cfe3 fix: address code review feedback
- Replace unused showSuggestions state with SHOW_SUGGESTIONS constant
- Fix parseCommandAndOutput import name consistency
- Add test coverage for fallback case where command equals text
2025-07-23 11:55:37 -06:00
Roo Code
b24400b549 fix: address PR review feedback
- Refactored showSuggestions from state variable to constant SHOW_SUGGESTIONS
- Renamed breakingExps to stopPatterns for better clarity
- Added test coverage for edge cases in command parsing
- Fixed test assertion for multiline content handling
2025-07-23 11:55:37 -06:00
hannesrudolph
dd533c2af7 refactor: convert showSuggestions from state to constant
- Addresses code review feedback about unused state variable
- showSuggestions is always true and never changes, so it doesn't need to be state
- All tests pass and no linting issues
2025-07-23 11:55:37 -06:00
hannesrudolph
6fa0a528b9 fix: address PR review feedback
- Fix import error in CommandExecution.tsx (removed undefined parseCommandAndOutput)
- Add security features with detectSecurityIssues function for subshell detection
- Remove hardcoded command descriptions, use dynamic pattern instead
- Add comprehensive security tests for subshell detection
- Add integration tests for CommandExecution + CommandPatternSelector
- Fix Polish translation typo: 'z list' -> 'z listy'
- Simplify commandPatterns.ts by removing unnecessary complexity
2025-07-23 11:55:37 -06:00
hannesrudolph
6fda13643c feat: Add terminal command permissions UI to chat interface (#5480) 2025-07-23 11:55:37 -06: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
Hannes Rudolph
f5dfbf1fc2
feat(claude-code): add configurable max output tokens setting (#5610)
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>
2025-07-11 22:31:50 -04:00
Matt Rubens
f7b8345e19
Link to marketplace from modes and MCP tab (#5580) 2025-07-11 01:05:32 -04:00