fix: resolve provider switching issues and React Hook dependency warnings (fixes #3813, #3874) #3949
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #3813
Closes #3874
🎯 Overview
This PR fixes critical provider switching issues and resolves React Hook dependency warnings that were causing model display problems when switching between API providers.
🐛 Issues Fixed
⚡ Provider Switching Problems
🔧 React Hook Warnings
useSelectedModel
hook missing proper dependency management🚀 Solutions Implemented
🎯 Smart Model Management
useSelectedModel
Hook: Added properuseMemo
with correct dependenciesapiModelId
updates to static providers📈 Performance Improvements
📁 Files Changed
webview-ui/src/components/ui/hooks/useSelectedModel.ts
- Fixed React Hook with proper useMemo and dependencies🔍 Technical Details
Before (Problematic Code)
Important
Fixes provider switching issues and React Hook dependency warnings inuseSelectedModel.ts.
ApiOptions.tsx
andApiOptions.tsx
, updateapiModelId
only for static providers whenselectedModelId
changes.useSelectedModel.ts
, useuseMemo
foremptyRouterModels
andgetSelectedModel
to manage dependencies properly.This description was created by
for e106947. You can customize this summary. It will automatically update as commits are pushed.