- Updated HandleError type to accept optional title parameter
- Modified handleError function in presentAssistantMessage to pass title to say method
- Added custom error titles to various tool error handlers
- Updated tests to expect the new third parameter
- Added i18n support for error titles and messages in applyDiffTool, insertContentTool, and Task.ts
- Added English translations for new error messages in tools.json
- Translated error messages to all 18 supported languages (ca, de, es, fr, hi, id, it, ja, ko, nl, pl, pt-BR, ru, tr, vi, zh-CN, zh-TW)
- Updated code to use i18n keys instead of hardcoded strings
- Fixed tests to work with i18n keys
- All translations validated with find-missing-translations.js script
- Updated generateImageTool.ts with 7 custom error titles
- Updated executeCommandTool.ts with Command Timeout error title
- Updated askFollowupQuestionTool.ts with XML Parse Error title
- Updated useMcpToolTool.ts with 5 MCP-related error titles
- Updated searchAndReplaceTool.ts with File Not Found and File Read Error titles
- Fixed all related test files to match new error format with metadata parameter
This ensures all error reporting across tools uses the new custom title feature for better error display in the UI.
- Add metadata support to ClineMessage type for storing custom error titles
- Update ChatRow component to display errors with expandable UI similar to diff_error
- Add sayError helper method to Task class for convenient error reporting
- Update existing error calls to use custom titles for better context
- Fix test to match new error format with metadata
* feat(checkpoints): create checkpoint on user message send
* fix(checkpoints): suppress implicit user-message checkpoint row; keep current checkpoint updated without a chat row
* Fix checkpoint suppression for user messages
- Propagate suppressMessage flag through event chain properly
- Update ChatView to check checkpoint metadata for suppressMessage flag
- Ensure checkpoint messages are created but not rendered when suppressed
- Fix bug where checkpointSave(false) should have been checkpointSave(true)
* fix: only create checkpoint on user message when files have changed
- Changed allowEmpty from true to false in checkpointSave call
- Checkpoints will now only be created when there are actual file changes
- This avoids creating empty commits in the shadow git repository
* test: update checkpoint test to include suppressMessage parameter
- Fixed test expectation to match the new function signature
- saveCheckpoint now expects both allowEmpty and suppressMessage parameters
---------
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Hannes Rudolph <hrudolph@gmail.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
* fix: handle array paths from VSCode terminal profiles
- Updated terminal profile interfaces to support string | string[] for path property
- Added normalizeShellPath helper to safely extract first element from array paths
- Modified isShellAllowed to handle both string and array inputs
- Updated getWindowsShellFromVSCode, getMacShellFromVSCode, and getLinuxShellFromVSCode to use normalizeShellPath
- Added comprehensive tests for array path handling
Fixes#7695
* feat: add validateShellPath export for robust shell validation
- Created validateShellPath as a public API for shell path validation
- Refactored internal validation logic into isShellAllowedInternal
- Added comprehensive test coverage for all edge cases
- Maintains backward compatibility with deprecated isShellAllowed
- Handles arrays, strings, null, undefined, and nested arrays gracefully
* Simplify roomote's work a little
---------
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: John Richmond <5629+jr@users.noreply.github.com>
* fix: improve WelcomeView styling and readability
- Reduced excessive padding from p-16 to p-6
- Removed excessive bold text throughout
- Made provider cards more compact with smaller icons (32x32px)
- Increased introduction text size from text-sm to text-base for better visibility
- Centered the main greeting title
- Improved visual hierarchy with proper text sizing and spacing
- Added subtle borders and improved color contrast
* fix: remove undefined color class from incentive text
Removed the text-vscode-warningForeground class as it wasn't defined in index.css. The incentive text now uses default color which looks good.