- Added 10 new error message keys to all 17 non-English locale files
- Ensures translation check passes in CI
- Error messages remain in English for now, can be properly translated later
- Converted inline style objects to Tailwind classes in ChatRow.tsx for subtask_result, newTask, and finishTask sections
- Added more common error titles to i18n tools.json for better centralization
- Maintains consistency with project guidelines for using Tailwind CSS
- Fixed i18n key format in executeCommandTool.ts: changed 'common:errors:command_timeout' to 'common:errors.command_timeout' to match the actual key structure
- Removed dead code path for error icon/title in ChatRow.tsx since 'say:error' messages are rendered via CollapsibleErrorSection component
- Update useMcpToolTool.spec.ts mock to handle new toolName parameter in formatResponse.toolError
- Add translations for new error title keys in all supported languages (ca, de, es, fr, hi, id, it, ja, ko, nl, pl, pt-BR, ru, tr, vi, zh-CN, zh-TW)
- Add collapsible error display in ChatRow component with expand/collapse functionality
- Implement contextual error titles for 13 different tool types
- Add i18n support for error titles with fallback to generic message
- Include comprehensive test coverage for new error display features
- Preserve full error details in collapsed state for debugging
- Add visual indicators (chevron icons) for error state management
* 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.