From 10a758e92687e13a98776a565f7dbc5fc36dc94c Mon Sep 17 00:00:00 2001 From: Beingpax Date: Tue, 8 Jul 2025 23:34:41 +0545 Subject: [PATCH] Better Paste operation --- VoiceInk/Whisper/WhisperState+UI.swift | 2 -- VoiceInk/Whisper/WhisperState.swift | 16 ++++++++++++---- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/VoiceInk/Whisper/WhisperState+UI.swift b/VoiceInk/Whisper/WhisperState+UI.swift index 51a7c3c..3597d81 100644 --- a/VoiceInk/Whisper/WhisperState+UI.swift +++ b/VoiceInk/Whisper/WhisperState+UI.swift @@ -75,8 +75,6 @@ extension WhisperState { canTranscribe = true isMiniRecorderVisible = false } - - await cleanupModelResources() } func cancelRecording() async { diff --git a/VoiceInk/Whisper/WhisperState.swift b/VoiceInk/Whisper/WhisperState.swift index 4a054d8..868d79d 100644 --- a/VoiceInk/Whisper/WhisperState.swift +++ b/VoiceInk/Whisper/WhisperState.swift @@ -281,7 +281,7 @@ class WhisperState: NSObject, ObservableObject { let transcriptionDuration = Date().timeIntervalSince(transcriptionStart) await MainActor.run { self.isTranscribing = false } - + if await checkCancellationAndCleanup() { return } text = text.trimmingCharacters(in: .whitespacesAndNewlines) @@ -387,7 +387,10 @@ class WhisperState: NSObject, ObservableObject { await promptDetectionService.restoreOriginalSettings(result, to: enhancementService) } - await cleanupAndDismiss() + await self.dismissMiniRecorder() + Task.detached(priority: .background) { + await self.cleanupModelResources() + } } catch { if let permanentURL = permanentURL { @@ -434,7 +437,10 @@ class WhisperState: NSObject, ObservableObject { } } - await cleanupAndDismiss() + await self.dismissMiniRecorder() + Task.detached(priority: .background) { + await self.cleanupModelResources() + } } } @@ -548,8 +554,10 @@ class WhisperState: NSObject, ObservableObject { } private func cleanupAndDismiss() async { - await cleanupModelResources() await dismissMiniRecorder() + Task.detached(priority: .background) { + await self.cleanupModelResources() + } } }