fix: voice wake logging privacy (PR #438 @xadenryan)

This commit is contained in:
Peter Steinberger
2026-01-08 01:37:42 +00:00
parent a15943c809
commit 45deb50e1a
3 changed files with 7 additions and 6 deletions

View File

@@ -18,6 +18,7 @@
- Auto-reply: removed `autoReply` from Discord/Slack/Telegram channel configs; use `requireMention` instead (Telegram topics now support `requireMention` overrides).
### Fixes
- macOS: harden Voice Wake tester/runtime (pause trigger, mic persistence, local-only tester) and keep transcript logs private. Thanks @xadenryan for PR #438.
- Doctor/Daemon: surface gateway runtime state + port collision diagnostics; warn on legacy workspace dirs.
- Discord: format slow listener logs in seconds to match shared duration style.
- CLI: show colored table output for `clawdbot cron list` (JSON behind `--json`).

View File

@@ -399,11 +399,11 @@ actor VoiceWakeRuntime {
return "\(seg.text)@\(start)-\(end)"
}.joined(separator: ", ")
self.logger.info(
"voicewake runtime transcript='\(transcript, privacy: .public)' textOnly=\(textOnly) " +
self.logger.debug(
"voicewake runtime transcript='\(transcript, privacy: .private)' textOnly=\(textOnly) " +
"isFinal=\(isFinal) timing=\(timingCount)/\(segments.count) " +
"capturing=\(capturing) fallback=\(usedFallback) " +
"\(matchSummary) segments=[\(segmentSummary, privacy: .public)]")
"\(matchSummary) segments=[\(segmentSummary, privacy: .private)]")
}
private func noteAudioTap(rms: Double) {

View File

@@ -282,10 +282,10 @@ final class VoiceWakeTester {
"match=true gap=\(String(format: "%.2f", $0.postGap))s cmdLen=\($0.command.count)"
} ?? "match=false"
self.logger.info(
"voicewake test transcript='\(transcript, privacy: .public)' textOnly=\(textOnly) " +
self.logger.debug(
"voicewake test transcript='\(transcript, privacy: .private)' textOnly=\(textOnly) " +
"isFinal=\(isFinal) timing=\(timingCount)/\(segments.count) " +
"\(matchSummary) gaps=[\(gaps, privacy: .public)] segments=[\(segmentSummary, privacy: .public)]")
"\(matchSummary) gaps=[\(gaps, privacy: .private)] segments=[\(segmentSummary, privacy: .private)]")
}
private static func debugSegments(_ segments: [WakeWordSegment]) -> String {