From c5d41638694080529828c00cb6da7497a25eb254 Mon Sep 17 00:00:00 2001 From: Louis Date: Thu, 16 Nov 2023 17:53:01 +0700 Subject: [PATCH] fix: model download state is not updated accordingly --- web/containers/Providers/EventHandler.tsx | 2 +- web/containers/Providers/EventListener.tsx | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/web/containers/Providers/EventHandler.tsx b/web/containers/Providers/EventHandler.tsx index 575b0f97f..2c2ad3bd7 100644 --- a/web/containers/Providers/EventHandler.tsx +++ b/web/containers/Providers/EventHandler.tsx @@ -105,7 +105,7 @@ export default function EventHandler({ children }: { children: ReactNode }) { function handleDownloadSuccess(state: any) { if (state && state.fileName && state.success === true) { - state.fileName = state.fileName.replace('models/', '') + state.fileName = state.fileName.split('/').pop() ?? '' setDownloadStateSuccess(state.fileName) const model = models.find((e) => e.id === state.fileName) if (model) diff --git a/web/containers/Providers/EventListener.tsx b/web/containers/Providers/EventListener.tsx index 2e91a70cf..9d4c2d890 100644 --- a/web/containers/Providers/EventListener.tsx +++ b/web/containers/Providers/EventListener.tsx @@ -27,6 +27,11 @@ export default function EventListenerWrapper({ children }: PropsWithChildren) { const { setDownloadedModels, downloadedModels } = useGetDownloadedModels() const { setDownloadState, setDownloadStateSuccess, setDownloadStateFailed } = useDownloadState() + const downloadedModelRef = useRef(downloadedModels) + + useEffect(() => { + downloadedModelRef.current = downloadedModels + }, [downloadedModels]) useEffect(() => { if (window && window.electronAPI) { @@ -60,7 +65,7 @@ export default function EventListenerWrapper({ children }: PropsWithChildren) { .get(PluginType.Model) ?.saveModel(model) .then(() => { - setDownloadedModels([...downloadedModels, model]) + setDownloadedModels([...downloadedModelRef.current, model]) }) } }