* fix(chat): stabilize rehydration scroll-to-bottom convergence
* fix(chat): preserve user escape hatch during initial settle
* refactor(chat): reduce scroll fix PR scope and remove debug plumbing
* fix(chat): redesign rehydration scroll lifecycle
* refactor(chat): extract scroll lifecycle into useScrollLifecycle hook
- Extract ~400 lines of scroll lifecycle logic from ChatView.tsx into
a dedicated useScrollLifecycle hook, reducing ChatView scroll-related
refs from ~17 to 0 and making the logic testable in isolation.
- Reduce INITIAL_LOAD_SETTLE_HARD_CAP_MS from 10s to 5s. If rehydration
takes longer, there is likely a rendering performance issue worth
investigating separately.
- Document the scrollToIndex reversal: PR #6780 removed scrollToIndex
due to jitter from stale numeric indices. The "LAST" constant used
here resolves at call time, avoiding that issue.
- All 6 existing scroll regression tests pass unchanged.
* fix(chat): harden scroll lifecycle pointer intent and settle phase fallback
* test(chat): stabilize ChatView scroll debug repro flake
* refactor(chat): simplify hydration scroll lifecycle
* fix(chat): start existing task at latest message bottom
---------
Co-authored-by: Roo Code <roomote@roocode.com>
Revert to pre-AI-SDK state (commit 67e568f6b)
This commit reverts the codebase to the state before AI SDK migration work began.
Target commit: 67e568f6b - refactor: replace fetch_instructions with skill tool and built-in skills (#10913)
Date: January 29, 2026
This removes approximately 152 commits of AI SDK migration work.
A follow-up PR will add back bug fixes and features that are unrelated to AI SDK.
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
* feat: warn users when too many MCP tools are enabled
- Add WarningRow component for displaying generic warnings with icon, title, message, and optional docs link
- Add TooManyToolsWarning component that shows when users have more than 40 MCP tools enabled
- Add MAX_MCP_TOOLS_THRESHOLD constant (40)
- Add i18n translations for the warning message
- Integrate warning into ChatView to display after task header
- Add comprehensive tests for both components
Closes ROO-542
* Moves constant to the right place
* Move it to the backend
* i18n
* Add actionlink that takes you to MCP settings in this case
* Add to MCP settings too
* Bump max tools up to 60 since github itself has 50+
* DRY
* Fix test
---------
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Bruno Bergher <bruno@roocode.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
* First pass at separate upsell dialog
* Revert PR #7188 - Restore temperature parameter to fix TabbyApi/ExLlamaV2 crashes (#7594)
* fix: reduce CodeBlock button z-index to prevent overlap with popovers (#7783)
Fixes#7703 - CodeBlock language dropdown and copy button were appearing above popovers due to z-index: 100. Reduced to z-index: 40 to maintain proper layering hierarchy while keeping buttons functional.
* Make ollama models info transport work like lmstudio (#7679)
* feat: add click-to-edit, ESC-to-cancel, and fix padding consistency for chat messages (#7790)
* feat: add click-to-edit, ESC-to-cancel, and fix padding consistency
- Enable click-to-edit for past messages by making message text clickable
- Add ESC key handler to cancel edit mode in ChatTextArea
- Fix padding consistency between past and queued message editors
- Adjust right padding for edit mode to accommodate cancel button
Fixes#7788
* fix: adjust padding and layout for ChatTextArea in edit mode
* refactor: replace hardcoded pr-[72px] with standard Tailwind pr-20 class
---------
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Hannes Rudolph <hrudolph@gmail.com>
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
* Let people paste in the auth redirect url (#7805)
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Bruno Bergher <me@brunobergher.com>
* fix: resolve chat message edit/delete duplication issues (#7793)
* fix: add GIT_EDITOR env var to merge-resolver mode for non-interactive rebase (#7819)
* UI: Render reasoning as plain italic (match <thinking>) (#7752)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Hannes Rudolph <hrudolph@gmail.com>
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
* Add taskSyncEnabled to userSettingsConfigSchema (#7827)
feat: add taskSyncEnabled to userSettingsConfigSchema
Co-authored-by: Roo Code <roomote@roocode.com>
* Release: v1.75.0 (#7829)
chore: bump version to v1.75.0
* fix: prevent negative cost values and improve label visibility in evals chart (#7830)
Co-authored-by: Roo Code <roomote@roocode.com>
* Fix Groq context window display (#7839)
* feat: add DismissibleUpsell component for dismissible messages
- Created DismissibleUpsell component with variant support (banner/default)
- Added dismissedUpsells to GlobalState for persistence
- Implemented message handlers for dismissing and retrieving dismissed upsells
- Added comprehensive tests for the component
- Uses VSCode extension globalState for persistent storage
* fix: Apply PR feedback for DismissibleUpsell component
- Changed from className to separate 'id' and 'className' props for better semantics
- Added i18n support for accessibility labels (aria-label and title)
- Fixed memory leak by adding mounted flag to prevent state updates after unmount
- Fixed race condition by sending dismiss message before hiding component
- Fixed inefficient array operations in webviewMessageHandler
- Added comprehensive test coverage for edge cases including:
- Multiple rapid dismissals
- Component unmounting during async operations
- Invalid/malformed message handling
- Proper message sending before unmount
- Added null checks for message data to handle edge cases gracefully
* New Cloud upsell dialog in task share and cloud view, shared component
* Properly working DismissibleUpsell
* Working upsell for long-running tasks
* CTA in AutoApproveMenu
* Home page CTA
* Fixes the autoapprove upsell and some tests
* Visual and copy fixes
* Test fix
* Translations
* Stray className attribute
* Cloud view fixes in a left-aligned layout
* Removes unnecessary test
* Less flaky tests
* Fixes sharebutton behavior and updates associated tests
* Update webview-ui/src/i18n/locales/it/cloud.json
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Fix dismissed flicker
* Fix long task upsell
---------
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: ItsOnlyBinary <ItsOnlyBinary@users.noreply.github.com>
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Hannes Rudolph <hrudolph@gmail.com>
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
Co-authored-by: John Richmond <5629+jr@users.noreply.github.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>