diff --git a/extensions/inference-cortex-extension/src/index.ts b/extensions/inference-cortex-extension/src/index.ts index 77f177316..15f7a0294 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' @@ -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.queue.add(() => 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 {