fix: immediate dropdown value update

This commit is contained in:
Faisal Amir 2025-09-16 11:16:35 +07:00
parent da2f790f25
commit 9fe517dbf8

View File

@ -385,6 +385,11 @@ const DropdownModelProvider = ({
const handleSelect = useCallback(
async (searchableModel: SearchableModel) => {
// Immediately update display to prevent double-click issues
setDisplayModel(searchableModel.model.id)
setSearchValue('')
setOpen(false)
selectModelProvider(
searchableModel.provider.provider,
searchableModel.model.id
@ -394,19 +399,6 @@ const DropdownModelProvider = ({
provider: searchableModel.provider.provider,
})
// Check mmproj existence for llamacpp models
if (searchableModel.provider.provider === 'llamacpp') {
await serviceHub
.models()
.checkMmprojExistsAndUpdateOffloadMMprojSetting(
searchableModel.model.id,
updateProvider,
getProviderByName
)
// Also check vision capability
await checkAndUpdateModelVisionCapability(searchableModel.model.id)
}
// Store the selected model as last used
if (useLastUsedModel) {
setLastUsedModel(
@ -414,8 +406,25 @@ const DropdownModelProvider = ({
searchableModel.model.id
)
}
setSearchValue('')
setOpen(false)
// Check mmproj existence for llamacpp models (async, don't block UI)
if (searchableModel.provider.provider === 'llamacpp') {
serviceHub
.models()
.checkMmprojExistsAndUpdateOffloadMMprojSetting(
searchableModel.model.id,
updateProvider,
getProviderByName
)
.catch((error) => {
console.debug('Error checking mmproj for model:', searchableModel.model.id, error)
})
// Also check vision capability (async, don't block UI)
checkAndUpdateModelVisionCapability(searchableModel.model.id).catch((error) => {
console.debug('Error checking vision capability for model:', searchableModel.model.id, error)
})
}
},
[
selectModelProvider,