diff --git a/app/MindWork AI Studio/Provider/BaseProvider.cs b/app/MindWork AI Studio/Provider/BaseProvider.cs index e679f795..dd1ea7ae 100644 --- a/app/MindWork AI Studio/Provider/BaseProvider.cs +++ b/app/MindWork AI Studio/Provider/BaseProvider.cs @@ -1089,6 +1089,10 @@ public abstract class BaseProvider : IProvider, ISecretId return TranscriptionResult.FromText(transcriptionResponse.Text); } + catch (OperationCanceledException) when (token.IsCancellationRequested) + { + throw; + } catch (Exception e) { if (this.IsTimeoutException(e, token)) diff --git a/app/MindWork AI Studio/Tools/Services/MediaTranscriptionService.cs b/app/MindWork AI Studio/Tools/Services/MediaTranscriptionService.cs index b1b39c63..5b4149e2 100644 --- a/app/MindWork AI Studio/Tools/Services/MediaTranscriptionService.cs +++ b/app/MindWork AI Studio/Tools/Services/MediaTranscriptionService.cs @@ -447,6 +447,7 @@ public sealed class MediaTranscriptionService(RustService rustService, SettingsM providerSettings.Model); var providerResult = await provider.TranscribeAudioAsync(providerSettings.Model, normalized.Result.OutputPath, settingsManager, operation.Cancellation.Token); + operation.Cancellation.Token.ThrowIfCancellationRequested(); if (!providerResult.Success) { logger.LogWarning("The transcription provider failed for '{MediaPath}': {Diagnostic}", mediaPath, providerResult.ErrorMessage);