Runtime: delay restart inside actor; log RPC unexpected payload

This commit is contained in:
Peter Steinberger
2025-12-09 05:02:56 +01:00
parent 1bbb424322
commit 024a823c78
2 changed files with 9 additions and 6 deletions

View File

@@ -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()

View File

@@ -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)
}