- Added reReadAfterEditGranular experiment with individual toggles for each edit operation type
- Updated all file editing tools to check their specific granular setting
- Created new ReReadAfterEditGranularSettings UI component with master toggle and individual checkboxes
- Maintained backward compatibility with legacy reReadAfterEdit setting that overrides granular settings
- Added comprehensive tests for the new granular settings functionality
- Added translations for the new UI elements
This allows users to selectively enable automatic review for specific edit types like:
- Apply Diff (search and replace blocks)
- Multi-file Apply Diff
- Write to File (complete file rewrites)
- Insert Content (add lines to files)
- Search and Replace (find and replace text)
Addresses Issue #8927 - implements the suggestion to have checkboxes for selecting review based on edit type
Implements issue #8927 - Add option to suggest reviewing changes after file edits.
- Added RE_READ_AFTER_EDIT experiment configuration
- Updated all file editing tools to suggest review when experiment is enabled
- Added UI setting with English translation
- Added tests for the new experiment
When enabled, the AI will suggest using the read_file tool to review changes
after editing files, helping catch errors that might be introduced during editing.
* feat: Add supportsReasoning property for Z.ai GLM binary thinking mode
- Add supportsReasoning to ModelInfo schema for binary reasoning models
- Update GLM-4.5 and GLM-4.6 models to use supportsReasoning: true
- Implement thinking parameter support in ZAiHandler for Deep Thinking API
- Update ThinkingBudget component to show simple toggle for supportsReasoning models
- Add comprehensive tests for binary reasoning functionality
Closes#8465
* refactor: rename supportsReasoning to supportsReasoningBinary for clarity
- Rename supportsReasoning -> supportsReasoningBinary in model schema
- Update Z.AI GLM model configurations to use supportsReasoningBinary
- Update Z.AI provider logic in createStream and completePrompt methods
- Update ThinkingBudget UI component and tests
- Update all test comments and expectations
This change improves naming clarity by distinguishing between:
- supportsReasoningBinary: Simple on/off reasoning toggle
- supportsReasoningBudget: Advanced reasoning with token budget controls
- supportsReasoningEffort: Advanced reasoning with effort levels
- Add responsive breakpoint at 300px for compact view
- Icon correctly reflects state (X when off, ✓ when on) at all screen sizes
- Show abbreviated labels on very narrow screens (< 300px)
- Add triggerLabelOffShort translation key to all locales
Fixes issues from PR #8152:
- Icon always showing checkmark on narrow screens
- Breakpoint activating too early (was 400px)
- Incorrect Tailwind class ordering
* feat: add telemetry tracking to DismissibleUpsell component
- Added UPSELL_DISMISSED and UPSELL_CLICKED events to TelemetryEventName enum
- Updated DismissibleUpsell component to track clicks and dismissals with telemetry
- Added telemetry tests to DismissibleUpsell test suite
- Events include upsellId in the payload for tracking specific upsells
* refactor(webview): make handleDismiss synchronous in DismissibleUpsell
test(webview): add scenario where dismissOnClick=true without onClick tracks only UPSELL_DISMISSED; update tests; all tests passing locally
---------
Co-authored-by: Roo Code <roomote@roocode.com>