From 98b05952758e44f643adb2856526d2c81a9d7d17 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 6 Dec 2025 02:54:40 +0100 Subject: [PATCH] fix: pause mic meter while running voice wake test --- apps/macos/Sources/Clawdis/AppMain.swift | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apps/macos/Sources/Clawdis/AppMain.swift b/apps/macos/Sources/Clawdis/AppMain.swift index 419b7d0b3..898e2f957 100644 --- a/apps/macos/Sources/Clawdis/AppMain.swift +++ b/apps/macos/Sources/Clawdis/AppMain.swift @@ -1827,6 +1827,7 @@ struct VoiceWakeSettings: View { testState = .requesting Task { @MainActor in do { + await meter.stop() // free the mic for speech recognizer try await tester.start( triggers: triggers, micID: state.voiceWakeMicID.isEmpty ? nil : state.voiceWakeMicID, @@ -1834,6 +1835,8 @@ struct VoiceWakeSettings: View { self.testState = newState if case .detected = newState { self.isTesting = false } if case .failed = newState { self.isTesting = false } + if case .detected = newState { Task { await restartMeter() } } + if case .failed = newState { Task { await restartMeter() } } } ) // timeout after 10s @@ -1842,11 +1845,13 @@ struct VoiceWakeSettings: View { await tester.stop() testState = .failed("Timeout: no trigger heard") isTesting = false + await restartMeter() } } catch { await tester.stop() testState = .failed(error.localizedDescription) isTesting = false + await restartMeter() } } }