From f7f69c3bc4c1cf4f0d4cdd6a36b518248bf187ad Mon Sep 17 00:00:00 2001 From: Peng Xiao Date: Mon, 30 Jun 2025 14:00:53 +0800 Subject: [PATCH] chore(core): do remove timeout for audio transcription job (#12965) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #### PR Dependency Tree * **PR #12965** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) ## Summary by CodeRabbit * **Bug Fixes** * Improved request timeout handling to ensure timeouts are only set when appropriate and provide clearer error messages. * Updated audio transcription submission to wait indefinitely for completion, preventing requests from being aborted due to timeouts. --- .../frontend/core/src/modules/cloud/services/fetch.ts | 9 ++++++--- .../media/entities/audio-transcription-job-store.ts | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/frontend/core/src/modules/cloud/services/fetch.ts b/packages/frontend/core/src/modules/cloud/services/fetch.ts index f7e769222..d5c7cf8a9 100644 --- a/packages/frontend/core/src/modules/cloud/services/fetch.ts +++ b/packages/frontend/core/src/modules/cloud/services/fetch.ts @@ -41,9 +41,12 @@ export class FetchService extends Service { }); const timeout = init?.timeout ?? 15000; - const timeoutId = setTimeout(() => { - abortController.abort('timeout'); - }, timeout); + const timeoutId = + timeout > 0 + ? setTimeout(() => { + abortController.abort(new Error('timeout after ' + timeout + 'ms')); + }, timeout) + : undefined; let res: Response; diff --git a/packages/frontend/core/src/modules/media/entities/audio-transcription-job-store.ts b/packages/frontend/core/src/modules/media/entities/audio-transcription-job-store.ts index a8788257e..b9a61459d 100644 --- a/packages/frontend/core/src/modules/media/entities/audio-transcription-job-store.ts +++ b/packages/frontend/core/src/modules/media/entities/audio-transcription-job-store.ts @@ -43,7 +43,7 @@ export class AudioTranscriptionJobStore extends Entity<{ } const files = await this.props.getAudioFiles(); const response = await graphqlService.gql({ - timeout: 600_000, // default 15s is too short for audio transcription + timeout: 0, // default 15s is too short for audio transcription query: submitAudioTranscriptionMutation, variables: { workspaceId: this.currentWorkspaceId,