From 024a823c78be681877997d9080a5d9bc09211e09 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Tue, 9 Dec 2025 05:02:56 +0100 Subject: [PATCH] Runtime: delay restart inside actor; log RPC unexpected payload --- apps/macos/Sources/Clawdis/AgentRPC.swift | 2 +- apps/macos/Sources/Clawdis/VoiceWakeRuntime.swift | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) 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) }