From 889ab953e03afc3a6d2e97f33989a4c2e67950b6 Mon Sep 17 00:00:00 2001 From: Louis Date: Mon, 3 Mar 2025 11:37:58 +0700 Subject: [PATCH] fix: image upload button does not work - refresh models list persist current selected engine (#4768) --- web/hooks/useEngineManagement.ts | 29 ++++++++++--------- .../Hub/ModelPage/RemoteModelRefresh.tsx | 6 ++-- web/screens/Hub/ModelPage/index.tsx | 2 +- web/screens/Hub/index.tsx | 2 +- .../Settings/Engines/RemoteEngineSettings.tsx | 18 ++++++------ 5 files changed, 30 insertions(+), 27 deletions(-) diff --git a/web/hooks/useEngineManagement.ts b/web/hooks/useEngineManagement.ts index 96fa281e9..02044ec65 100644 --- a/web/hooks/useEngineManagement.ts +++ b/web/hooks/useEngineManagement.ts @@ -477,20 +477,23 @@ export const useRefreshModelList = (engine: string) => { const [refreshingModels, setRefreshingModels] = useState(false) const { mutate: fetchRemoteModels } = useGetRemoteModels(engine) - const refreshModels = useCallback(() => { - setRefreshingModels(true) - fetchRemoteModels() - .then((remoteModelList) => - Promise.all( - remoteModelList?.data?.map((model: { id?: string }) => - model?.id - ? addRemoteEngineModel(model.id, engine).catch(() => {}) - : {} - ) ?? [] + const refreshModels = useCallback( + (engine: string) => { + setRefreshingModels(true) + fetchRemoteModels() + .then((remoteModelList) => + Promise.all( + remoteModelList?.data?.map((model: { id?: string }) => + model?.id + ? addRemoteEngineModel(model.id, engine).catch(() => {}) + : {} + ) ?? [] + ) ) - ) - .finally(() => setRefreshingModels(false)) - }, [fetchRemoteModels]) + .finally(() => setRefreshingModels(false)) + }, + [fetchRemoteModels] + ) return { refreshingModels, refreshModels } } diff --git a/web/screens/Hub/ModelPage/RemoteModelRefresh.tsx b/web/screens/Hub/ModelPage/RemoteModelRefresh.tsx index 20c3a2edc..d091b97b5 100644 --- a/web/screens/Hub/ModelPage/RemoteModelRefresh.tsx +++ b/web/screens/Hub/ModelPage/RemoteModelRefresh.tsx @@ -6,15 +6,15 @@ import Spinner from '@/containers/Loader/Spinner' import { useRefreshModelList } from '@/hooks/useEngineManagement' -function RemoteModelRefresh({ id }: { id: string }) { - const { refreshingModels, refreshModels } = useRefreshModelList(id) +function RemoteModelRefresh({ engine }: { engine: string }) { + const { refreshingModels, refreshModels } = useRefreshModelList(engine) return ( - +