From 9c54e48194e2e2bc925cef3320b1f52f7971978a Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Mon, 8 Dec 2025 22:02:03 +0100 Subject: [PATCH] fix: avoid auto-send task init error --- apps/macos/Sources/Clawdis/VoiceWakeOverlay.swift | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/apps/macos/Sources/Clawdis/VoiceWakeOverlay.swift b/apps/macos/Sources/Clawdis/VoiceWakeOverlay.swift index 5a479bafb..da723b799 100644 --- a/apps/macos/Sources/Clawdis/VoiceWakeOverlay.swift +++ b/apps/macos/Sources/Clawdis/VoiceWakeOverlay.swift @@ -261,15 +261,13 @@ final class VoiceWakeOverlayController: ObservableObject { private func scheduleAutoSend(after delay: TimeInterval, sendChime: VoiceWakeChime) { guard let forwardConfig, forwardConfig.enabled else { return } self.autoSendTask?.cancel() - self.autoSendTask = Task { [weak self, sendChime] in - do { - let nanos = UInt64(delay * 1_000_000_000) - try await Task.sleep(nanoseconds: nanos) - try Task.checkCancellation() + self.autoSendTask = Task { [weak self, sendChime] in + let nanos = UInt64(max(0, delay) * 1_000_000_000) + try? await Task.sleep(nanoseconds: nanos) + guard !Task.isCancelled else { return } + await MainActor.run { guard let self else { return } - await self.sendNow(sendChime: sendChime) - } catch is CancellationError { - return + self.sendNow(sendChime: sendChime) } } }