diff --git a/server/index.ts b/server/index.ts index 98cc8385d1..7e02847f2a 100644 --- a/server/index.ts +++ b/server/index.ts @@ -149,7 +149,7 @@ export const stopServer = async () => { // Log server stop if (isVerbose) logServer(`Debug: Server stopped`) // Stop the server - await server.close() + await server?.close() } catch (e) { // Log any errors if (isVerbose) logServer(`Error: ${e}`) diff --git a/web/hooks/useActiveModel.ts b/web/hooks/useActiveModel.ts index d869afd2fe..d387861eb1 100644 --- a/web/hooks/useActiveModel.ts +++ b/web/hooks/useActiveModel.ts @@ -115,7 +115,8 @@ export function useActiveModel() { } const stopModel = useCallback(async () => { - if (!activeModel) return + if (!activeModel || (stateModel.state === 'stop' && stateModel.loading)) + return setStateModel({ state: 'stop', loading: true, model: activeModel.id }) const engine = EngineManager.instance().get(activeModel.engine) @@ -126,7 +127,7 @@ export function useActiveModel() { setActiveModel(undefined) setStateModel({ state: 'start', loading: false, model: '' }) }) - }, [activeModel, setActiveModel, setStateModel]) + }, [activeModel, stateModel, setActiveModel, setStateModel]) return { activeModel, startModel, stopModel, stateModel } }