From 0ffbf1935c9d091cce22a5583275ac0902f7a693 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Thu, 02 Jul 2026 03:04:51 +0800
Subject: [PATCH] Add Cantonese language model support

---
 privatevoice.src/app.go |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/privatevoice.src/app.go b/privatevoice.src/app.go
index 3cfd3b4..0a0c428 100755
--- a/privatevoice.src/app.go
+++ b/privatevoice.src/app.go
@@ -28,8 +28,8 @@
 )
 
 const (
-	appVersion        = "2.1.40"
-	appBuild          = "20260702.0143"
+	appVersion        = "2.2.0"
+	appBuild          = "20260702.0303"
 	appDisplayVersion = appVersion + " (build " + appBuild + ")"
 	appName           = "PrivateVoice Dictation"
 
@@ -1118,7 +1118,11 @@
 	eng, err := engine.New()
 	if err != nil {
 		logger.Error("Engine initialization failed: %v", err)
-		a.replaceEngine(nil)
+		if a.hasEngine() {
+			logger.Info("Keeping existing ASR engine after reload failure")
+		} else {
+			a.replaceEngine(nil)
+		}
 		status := "need_model"
 		if modelExists {
 			status = "error"
@@ -1160,6 +1164,12 @@
 	a.delayedHideIf(autoHide, 2000)
 }
 
+func (a *App) hasEngine() bool {
+	a.engineMu.Lock()
+	defer a.engineMu.Unlock()
+	return a.eng != nil
+}
+
 func (a *App) replaceEngine(eng engine.Engine) {
 	a.releaseTailCaptureNanos.Store(int64(releaseTailCaptureDelayForEngine(eng)))
 	a.holdPreCaptureEnabled.Store(holdPreCaptureEnabledForEngine(eng))

--
Gitblit v1.9.3