From d55b1dd2f854aa2f5da7f8a1b059eaa0f5c7722e Mon Sep 17 00:00:00 2001 From: Louis Date: Tue, 26 Nov 2024 19:50:23 +0700 Subject: [PATCH] fix: 4094 - gpu mode toggle on by default but not affect for the first time launch --- extensions/inference-cortex-extension/src/index.ts | 12 +++++++++++- extensions/monitoring-extension/src/index.ts | 3 +++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/extensions/inference-cortex-extension/src/index.ts b/extensions/inference-cortex-extension/src/index.ts index 531b407f2..15dd40770 100644 --- a/extensions/inference-cortex-extension/src/index.ts +++ b/extensions/inference-cortex-extension/src/index.ts @@ -20,6 +20,7 @@ import { ModelEvent, SystemInformation, dirName, + AppConfigurationEventName, } from '@janhq/core' import PQueue from 'p-queue' import ky from 'ky' @@ -70,7 +71,7 @@ export default class JanInferenceCortexExtension extends LocalOAIEngine { super.onLoad() this.queue.add(() => this.clean()) - + // Run the process watchdog const systemInfo = await systemInformation() this.queue.add(() => executeOnMain(NODE, 'run', systemInfo)) @@ -81,6 +82,15 @@ export default class JanInferenceCortexExtension extends LocalOAIEngine { window.addEventListener('beforeunload', () => { this.clean() }) + + const currentMode = systemInfo.gpuSetting?.run_mode + + events.on(AppConfigurationEventName.OnConfigurationUpdate, async () => { + const systemInfo = await systemInformation() + // Update run mode on settings update + if (systemInfo.gpuSetting?.run_mode !== currentMode) + this.setDefaultEngine(systemInfo) + }) } async onUnload() { diff --git a/extensions/monitoring-extension/src/index.ts b/extensions/monitoring-extension/src/index.ts index 1d21fde77..eca71326e 100644 --- a/extensions/monitoring-extension/src/index.ts +++ b/extensions/monitoring-extension/src/index.ts @@ -1,7 +1,9 @@ import { + AppConfigurationEventName, GpuSetting, MonitoringExtension, OperatingSystemInfo, + events, executeOnMain, } from '@janhq/core' @@ -37,6 +39,7 @@ export default class JanMonitoringExtension extends MonitoringExtension { // Attempt to fetch nvidia info await executeOnMain(NODE, 'updateNvidiaInfo') + events.emit(AppConfigurationEventName.OnConfigurationUpdate, {}) } onSettingUpdate(key: string, value: T): void {