This PR originally attempted to fix pattern-specific rule persistence by:
1. Modifying the condensing prompt to preserve conversational rules
2. Adding debug logging for system-level custom instructions
3. Adding tests for conversational rule preservation
However, pattern-specific rules (from .roo/rules/ directories) already persist correctly because:
- They are loaded fresh from disk before every API request via loadRuleFiles()
- The system prompt is regenerated with these rules each time
- No conversation condensing affects them since they're not in conversation history
The changes in this PR were addressing conversational rules (ephemeral, stated during chat) and system-level custom instructions (from settings), not pattern-specific rules.
This commit reverts those unrelated changes to avoid confusion.
- Updated condense prompt to explicitly preserve user rules and custom instructions
- Added debug logging to track when custom instructions are missing
- Added validation to ensure custom instructions are never undefined
- Added comprehensive tests for rule persistence during conversation condensing
Fixes#9140
* changeset version bump
* Revise CHANGELOG for version 3.30.2
Updated changelog for version 3.30.2 with new features and fixes.
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
Aligns claude-opus-4-1-20250805 max token limit with claude-opus-4-20250514,
both models now supporting 32K output tokens (overridable to 8K when
enableReasoningEffort is false).
Fixes#9045
Co-authored-by: Roo Code <roomote@roocode.com>
* fix: keep pinned models fixed at top of scrollable list
- Separated pinned and unpinned configs into different containers
- Pinned configs now stay fixed at the top
- Only unpinned configs are scrollable
- Added tests to verify the fixed behavior
Fixes#8812
* fix: resolve sticky header visual artifact in ApiConfigSelector
- Changed sticky header background from bg-vscode-editorWidget-background to bg-vscode-dropdown-background to match popover container
- Moved separator logic into sticky container as conditional bottom border to prevent scroll artifacts
- Updated tests to match new separator structure
- All 21 tests passing
---------
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
- Add PathTooltip component that wraps StandardTooltip with proper styling
- Use maxWidth='min(300px,100vw)' via inline style to override defaults
- Apply '[text-wrap:wrap]' class to override text-balance behavior
- Add formatPathTooltip helper for consistent path content formatting
- Update CodeAccordian, ChatRow, and BatchFilePermission to use PathTooltip
- Centralizes tooltip behavior and reduces duplication
Supersedes PR #8797.
* fix: eliminate UI flicker during task cancellation
- Modify ClineProvider.createTaskWithHistoryItem() to detect when rehydrating current task
- Implement in-place task replacement to avoid empty stack state that causes UI flicker
- Add comprehensive unit tests for flicker-free cancel behavior
- Maintain backward compatibility and proper event listener cleanup
Fixes the jarring navigation to home view when cancelling tasks
* fix: ensure proper garbage collection of old task during flicker-free rehydration
- Call abortTask(true) on old task before replacement to stop processes and mark as abandoned
- This ensures proper cleanup and prevents memory leaks during task cancellation
- Add test verification for abortTask cleanup