fix(inputbar): fix infinite state update loop (#9933)

fix(模型检测): 修复状态更新无限循环的问题

修复isGenerateImageModel函数中provider类型检查错误,同时优化Inputbar中图像生成功能的自动启用逻辑
This commit is contained in:
Phantom 2025-09-05 15:40:46 +08:00 committed by GitHub
parent b914613e80
commit c906307a33
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 10 additions and 6 deletions

View File

@ -2385,8 +2385,11 @@ export function isGenerateImageModel(model: Model): boolean {
const modelId = getLowerBaseModelName(model.id, '/')
if (provider && provider.type === 'openai-response') {
return OPENAI_IMAGE_GENERATION_MODELS.some((imageModel) => modelId.includes(imageModel))
if (provider.type === 'openai-response') {
return (
OPENAI_IMAGE_GENERATION_MODELS.some((imageModel) => modelId.includes(imageModel)) ||
GENERATE_IMAGE_MODELS.some((imageModel) => modelId.includes(imageModel))
)
}
return GENERATE_IMAGE_MODELS.some((imageModel) => modelId.includes(imageModel))

View File

@ -780,12 +780,13 @@ const Inputbar: FC<Props> = ({ assistant: _assistant, setActiveTopic, topic }) =
) {
updateAssistant({ ...assistant, webSearchProviderId: undefined })
}
if (!isGenerateImageModel(model) && assistant.enableGenerateImage) {
if (isGenerateImageModel(model)) {
if (isAutoEnableImageGenerationModel(model) && !assistant.enableGenerateImage) {
updateAssistant({ ...assistant, enableGenerateImage: true })
}
} else if (assistant.enableGenerateImage) {
updateAssistant({ ...assistant, enableGenerateImage: false })
}
if (isAutoEnableImageGenerationModel(model) && !assistant.enableGenerateImage) {
updateAssistant({ ...assistant, enableGenerateImage: true })
}
}, [assistant, model, updateAssistant])
const onMentionModel = useCallback(