From fb106967bc715893aa9284578216b2f9bb58806b Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sun, 7 Dec 2025 05:22:20 +0100 Subject: [PATCH] fix(macos): guard unavailable speech recognizer --- apps/macos/Sources/Clawdis/VoiceWakeRuntime.swift | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/macos/Sources/Clawdis/VoiceWakeRuntime.swift b/apps/macos/Sources/Clawdis/VoiceWakeRuntime.swift index 8aca09d36..e96086c05 100644 --- a/apps/macos/Sources/Clawdis/VoiceWakeRuntime.swift +++ b/apps/macos/Sources/Clawdis/VoiceWakeRuntime.swift @@ -58,6 +58,11 @@ actor VoiceWakeRuntime { do { configureSession(localeID: config.localeID) + guard let recognizer, recognizer.isAvailable else { + logger.error("voicewake runtime: speech recognizer unavailable") + return + } + self.recognitionRequest = SFSpeechAudioBufferRecognitionRequest() self.recognitionRequest?.shouldReportPartialResults = true guard let request = self.recognitionRequest else { return } @@ -76,7 +81,7 @@ actor VoiceWakeRuntime { lastHeard = Date() cooldownUntil = nil - self.recognitionTask = recognizer?.recognitionTask(with: request) { [weak self] result, error in + self.recognitionTask = recognizer.recognitionTask(with: request) { [weak self] result, error in guard let self else { return } let transcript = result?.bestTranscription.formattedString Task { await self.handleRecognition(transcript: transcript, error: error, config: config) }