- Added new configuration setting 'roo.disableLLMCommandSuggestions'
- Made command suggestions conditional based on the setting
- Updated system prompt to pass the setting value
- Added comprehensive tests for the new functionality
- Added localization support for the new setting
Fixes#5491
- Add comprehensive test coverage for removing command patterns
- Fix hardcoded strings with proper i18n translations
- Improve tooltips with clearer descriptions and settings link
- Update button tooltips to say 'Add to allowed list' etc
- Fix failing tests after UI changes
- Simplify and condense the suggestion guidelines
- Remove verbose list of common patterns
- Reduce from 3 examples to 2 more focused examples
- Remove redundant 'with suggestions' text from examples
- Keep instructions effective while reducing token usage
- Replace 'whitelist/whitelisting' with 'allow/allowing'
- Update description to mention both allowing and denying commands
- Change 'Whitelisting Guidelines' to 'Command Permission Guidelines'
- Maintains consistency with the codebase's inclusive terminology
- Remove instruction to include trailing spaces in suggestions
- Update all examples to not have trailing spaces
- Patterns like 'npm', 'git', 'ls' work fine without trailing spaces
- This prevents LLM from generating suggestions with unwanted spaces
- Add .trim() when parsing individual <suggest> tags
- Prevents suggestions like 'npm run ' with trailing spaces
- Ensures cleaner command patterns in the UI
- Remove unused shared files that were causing knip failures
- Move command parsing utilities to webview-ui/src/utils
- Update imports to use local utilities instead of shared
- Define COMMAND_OUTPUT_STRING locally in commandParsing utility
- Fix hardcoded English strings by moving to translation files
- Add missing ARIA attributes for accessibility compliance
- Extract suggestion parsing logic to shared utils (src/shared/commandParsing.ts)
- Move pattern extraction logic to shared utils (src/shared/commandPatterns.ts)
- Extract CommandPatternSelector as a separate component for better modularity
- Consolidate message types to use 'allowedCommands' consistently
- Update tests to match new implementation
All linters and tests now pass successfully.
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>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
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>
fix(embeddings): translate error messages before sending to UI
- Import t() function from i18n module
- Wrap error messages with t() translation function in _initializeEmbedder()
- Ensures proper localization of error messages in the UI
- Falls back to original message if no translation exists
* fix: use decodeURIComponent in openFile
* feat: add error handling for decodeURIComponent and tests
- Added try-catch block around decodeURIComponent to handle invalid escape sequences
- Falls back to original path if decoding fails
- Added comprehensive unit tests for the openFile function
- Tests cover invalid URI encoding, valid encoding, and various edge cases
* fix: update test to handle dynamic workspace paths in CI
* fix: handle Windows path separators in open-file tests
---------
Co-authored-by: Vivek Soni <vivex@Viveks-MacBook-Air-2.local>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
* fix: handle null/empty custom modes files to prevent 'Cannot read properties of null' error
- Fix SimpleInstaller to ensure existingData is always an object after yaml.parse
- Fix CustomModesManager.parseYamlSafely to return empty object instead of null
- Ensure customModes array is always initialized in both install and remove operations
- Add tests for empty/null file handling scenarios
- Update existing tests to match correct behavior
* fix: handle null/undefined settings in updateModesInFile and loadModesFromFile
- Ensure settings object exists before accessing customModes property
- Initialize customModes as empty array if undefined
- Prevent 'Cannot read properties of null' error during mode import
- Add proper validation in loadModesFromFile before schema check