From d14fa75079de570cb9c4dbf63f6b5bd65f959b09 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Sun, 14 Jun 2026 20:14:34 +0800
Subject: [PATCH] Fix X-ASR release tail capture

---
 privatevoice.src/internal/engine/engine_darwin_test.go |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/privatevoice.src/internal/engine/engine_darwin_test.go b/privatevoice.src/internal/engine/engine_darwin_test.go
index fdfbf8e..a46bcea 100644
--- a/privatevoice.src/internal/engine/engine_darwin_test.go
+++ b/privatevoice.src/internal/engine/engine_darwin_test.go
@@ -6,6 +6,7 @@
 	"os"
 	"path/filepath"
 	"testing"
+	"time"
 
 	"voicesnap/internal/model"
 )
@@ -163,6 +164,19 @@
 	}
 }
 
+func TestXASRRequestsReleaseTailCaptureDelay(t *testing.T) {
+	got := (&xasrStreamingEngine{}).ReleaseTailCaptureDelay()
+	if got != 300*time.Millisecond {
+		t.Fatalf("ReleaseTailCaptureDelay() = %v, want 300ms", got)
+	}
+}
+
+func TestOfflineSherpaDoesNotRequestReleaseTailCapture(t *testing.T) {
+	if _, ok := any(&sherpaEngine{}).(ReleaseTailCaptureEngine); ok {
+		t.Fatal("offline sherpa engine should not request release tail capture")
+	}
+}
+
 func TestXASRRealModelSmoke(t *testing.T) {
 	if os.Getenv("PRIVATEVOICE_XASR_SMOKE") != "1" {
 		t.Skip("set PRIVATEVOICE_XASR_SMOKE=1 to run the real X-ASR model smoke test")

--
Gitblit v1.9.3