diff --git a/core/src/browser/extensions/engines/LocalOAIEngine.ts b/core/src/browser/extensions/engines/LocalOAIEngine.ts index ab5a2622c2..fb9e4962c4 100644 --- a/core/src/browser/extensions/engines/LocalOAIEngine.ts +++ b/core/src/browser/extensions/engines/LocalOAIEngine.ts @@ -53,11 +53,11 @@ export abstract class LocalOAIEngine extends OAIEngine { /** * Stops the model. */ - override async unloadModel(model?: Model): Promise { + override async unloadModel(model?: Model) { if (model?.engine && model.engine?.toString() !== this.provider) return Promise.resolve() this.loadedModel = undefined - return executeOnMain(this.nodeModule, this.unloadModelFunctionName).then(() => { + await executeOnMain(this.nodeModule, this.unloadModelFunctionName).then(() => { events.emit(ModelEvent.OnModelStopped, {}) }) } diff --git a/extensions/inference-nitro-extension/src/index.ts b/extensions/inference-nitro-extension/src/index.ts index 119d7762ff..1a8de783a2 100644 --- a/extensions/inference-nitro-extension/src/index.ts +++ b/extensions/inference-nitro-extension/src/index.ts @@ -102,7 +102,7 @@ export default class JanInferenceNitroExtension extends LocalOAIEngine { return super.loadModel(model) } - override async unloadModel(model?: Model) { + override async unloadModel(model?: Model): Promise { if (model?.engine && model.engine !== this.provider) return // stop the periocally health check diff --git a/extensions/inference-nitro-extension/src/node/index.ts b/extensions/inference-nitro-extension/src/node/index.ts index 3d742721e2..7d20ee8c75 100644 --- a/extensions/inference-nitro-extension/src/node/index.ts +++ b/extensions/inference-nitro-extension/src/node/index.ts @@ -323,14 +323,14 @@ async function killSubprocess(): Promise { return new Promise((resolve, reject) => { terminate(pid, function (err) { if (err) { - return killRequest() + killRequest().then(resolve).catch(reject) } else { - return tcpPortUsed + tcpPortUsed .waitUntilFree(PORT, NITRO_PORT_FREE_CHECK_INTERVAL, 5000) .then(() => resolve()) .then(() => log(`[NITRO]::Debug: Nitro process is terminated`)) .catch(() => { - killRequest() + killRequest().then(resolve).catch(reject) }) } })