- Move enableUrlContext and enableGrounding to base schema as optional
- Make these fields required (non-optional) for Gemini provider specifically
- Add migration to set default values (true) for existing Gemini configs
- Clean up these fields from non-Gemini providers
- Ensure Gemini configs always have these fields defined
This eliminates the undefined state that was causing the Save button issue,
fixing it at the data layer rather than working around it in the UI.
Fixes#6616
* Reorganizes the task header for cleanliness and in preparation for Cloud link
* More task ehader visual tweaks
* Translations for new task header
* Fixes TaskHeader color
* Removes stray string
* Fixes tests
* Iterates on visual details
* More visual tweaks
* Missing localization call
* Fixes tests
---------
Co-authored-by: Bruno Bergher <me@brunobergher.comexport>
* feat: Implement code indexing support multi-folder workspaces similar to task history
* fix: add missing mock for onDidChangeActiveTextEditor in tests
* fix: prevent MCP server creation when setting is disabled
- Modified getFetchInstructionsDescription to conditionally include create_mcp_server task
- Updated getToolDescriptionsForMode to pass enableMcpServerCreation parameter
- Added tests to verify the conditional behavior
- Updated snapshot test to reflect the new expected behavior
Fixes#6607
* fix: address review comments - add JSDoc, null test, and clarify default behavior
---------
Co-authored-by: Roo Code <roomote@roocode.com>
* fix: prevent empty mode names from being saved (fixes#5766)
- Add frontend validation in ModesView to prevent empty names from being saved
- Add onBlur handler to restore original name if field is left empty
- Add backend validation in CustomModesManager.updateCustomMode using modeConfigSchema
- Provide user feedback when validation fails
- Trim whitespace from mode names before validation
This prevents YAML parsing errors caused by empty mode name fields.
* fix: improve UX by allowing users to empty mode name field
- Remove restriction that prevented users from emptying the name field
- Remove onBlur handler that automatically restored original name
- Allow backend validation to handle empty names and show appropriate errors
- Users can now type freely but invalid saves are prevented by backend validation
Addresses feedback from @daniel-lxs in PR #5767
* fix: allow emptying mode name field but prevent saving when invalid
- Modified onBlur handler to check if name is empty before saving
- If empty, revert to original name instead of saving empty value
- This provides better UX as requested in PR review
* fix: add proper JSON formatting to source map writes for Windows compatibility
---------
Co-authored-by: Roo Code <roomote@roocode.com>
* feat: Before requesting, ensure checkpoint is initialized
* Generate a checkpoint before modifying the code
* refactor: streamline checkpoint handling and enhance getCheckpoints method
* Blocked waiting for checkpoint initialization timing to change
* cancel checkpoint restore limit
* fix: ensure checkpoint service is undefined on initialization error and improve checkpoint diff handling
* refactor: simplify checkpoint service initialization and cleanup unused variables in CheckpointMenu
* fix: prevent race condition in checkpoint service initialization
- Only assign service to cline.checkpointService after successful initialization
- Add proper cleanup on initialization failure
- Prevents service from being in inconsistent state if Git check fails
* fix: remove checkpoint save from presentAssistantMessage for update_todo_list case
---------
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
* feat: conditionally include reminder section based on todo list configuration
* feat: add tests for REMINDERS section based on todoListEnabled configuration