diff --git a/apps/macos/Sources/Clawdis/AgentRPC.swift b/apps/macos/Sources/Clawdis/AgentRPC.swift index 2a9c7a1ed..529d8027b 100644 --- a/apps/macos/Sources/Clawdis/AgentRPC.swift +++ b/apps/macos/Sources/Clawdis/AgentRPC.swift @@ -122,7 +122,7 @@ actor AgentRPC { if let err = parsed["error"] as? String { return (false, nil, err) } - return (false, nil, "rpc returned unexpected response: \(line)") + return (false, nil, "rpc returned unexpected response: \(parsed)") } catch { self.logger.error("rpc send failed: \(error.localizedDescription, privacy: .public)") await self.stop() diff --git a/apps/macos/Sources/Clawdis/VoiceWakeRuntime.swift b/apps/macos/Sources/Clawdis/VoiceWakeRuntime.swift index 7bac07069..99080abfa 100644 --- a/apps/macos/Sources/Clawdis/VoiceWakeRuntime.swift +++ b/apps/macos/Sources/Clawdis/VoiceWakeRuntime.swift @@ -410,14 +410,17 @@ actor VoiceWakeRuntime { Task { [weak self] in let nanos = UInt64(max(0, delay) * 1_000_000_000) try? await Task.sleep(nanoseconds: nanos) - guard let self else { return } - if self.isCapturing { return } - let overlayVisible = await MainActor.run { VoiceWakeOverlayController.shared.isVisible } - if overlayVisible { return } - self.restartRecognizer() + await self?.restartIfIdleAfterDelay() } } + private func restartIfIdleAfterDelay() async { + if self.isCapturing { return } + let overlayVisible = await MainActor.run { VoiceWakeOverlayController.shared.isVisible } + if overlayVisible { return } + self.restartRecognizer() + } + func applyPushToTalkCooldown() { self.cooldownUntil = Date().addingTimeInterval(self.debounceAfterSend) }