Update auto-reply and voice wake runtime

This commit is contained in:
Peter Steinberger
2025-12-09 04:15:01 +00:00
parent 39a0f54b0d
commit 998a5b080d
4 changed files with 1762 additions and 1761 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -406,21 +406,22 @@ actor VoiceWakeRuntime {
}
}
private func scheduleRestartRecognizer(delay: TimeInterval = 0.7) {
Task { [weak self] in
let nanos = UInt64(max(0, delay) * 1_000_000_000)
try? await Task.sleep(nanoseconds: nanos)
await self?.restartIfIdleAfterDelay()
}
}
private func restartIfIdleAfterDelay() async {
private func restartRecognizerIfIdleAndOverlayHidden() async {
if self.isCapturing { return }
let overlayVisible = await MainActor.run { VoiceWakeOverlayController.shared.isVisible }
if overlayVisible { return }
self.restartRecognizer()
}
private func scheduleRestartRecognizer(delay: TimeInterval = 0.7) {
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 }
await self.restartRecognizerIfIdleAndOverlayHidden()
}
}
func applyPushToTalkCooldown() {
self.cooldownUntil = Date().addingTimeInterval(self.debounceAfterSend)
}

View File

View File

@@ -287,13 +287,16 @@ export async function getReplyFromConfig(
abortedLastRun = false;
}
const baseEntry = !isNewSession && freshEntry ? entry : undefined;
sessionEntry = {
...baseEntry,
sessionId,
updatedAt: Date.now(),
systemSent,
abortedLastRun,
thinkingLevel: persistedThinking,
verboseLevel: persistedVerbose,
// Persist previously stored thinking/verbose levels when present.
thinkingLevel: persistedThinking ?? baseEntry?.thinkingLevel,
verboseLevel: persistedVerbose ?? baseEntry?.verboseLevel,
};
sessionStore[sessionKey] = sessionEntry;
await saveSessionStore(storePath, sessionStore);