From 4e7591ebb1294f611e7b85082be55313dd53820f Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Wed, 03 Jun 2026 13:25:19 +0800
Subject: [PATCH] Implement Round 3 Moonshine English model

---
 privatevoice.src/frontend/src/components/settings/GeneralPage.svelte |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/privatevoice.src/frontend/src/components/settings/GeneralPage.svelte b/privatevoice.src/frontend/src/components/settings/GeneralPage.svelte
index 9762ac3..50d099b 100755
--- a/privatevoice.src/frontend/src/components/settings/GeneralPage.svelte
+++ b/privatevoice.src/frontend/src/components/settings/GeneralPage.svelte
@@ -109,6 +109,19 @@
     setLocale(locale)
   }
 
+  async function syncEngineForCurrentModel() {
+    try {
+      const current: any = await Call.ByName('voicesnap/services.EngineService.GetCurrentModelStatus')
+      if (current?.installed) {
+        engineStatus.set('loading')
+      } else {
+        engineHardwareInfo.set('')
+        engineStatus.set('need_model')
+      }
+      await Call.ByName('voicesnap/services.EngineService.ReloadCurrentModel')
+    } catch {}
+  }
+
   async function onAutoHideChange(checked: boolean) {
     autoHide.set(checked)
     try {
@@ -155,6 +168,7 @@
         ? await Call.ByName('voicesnap/services.ConfigService.SetLanguageAuto')
         : await Call.ByName('voicesnap/services.ConfigService.SetLanguageManual', selection)
       applyLanguageSettings(settings)
+      await syncEngineForCurrentModel()
     } catch {
       languageModeVal = prevMode
       languageIDVal = prevID

--
Gitblit v1.9.3