Runtime: delay restart inside actor; log RPC unexpected payload
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user