From 736cc50fa7f11d85943d9e84f946c9c471111835 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Wed, 24 Dec 2025 14:15:31 +0100 Subject: [PATCH 1/2] Fix aborted UrlSource not aborting request --- src/source.ts | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/source.ts b/src/source.ts index efd4879..0059189 100644 --- a/src/source.ts +++ b/src/source.ts @@ -263,6 +263,11 @@ export class BlobSource extends Source { } worker.running = false; + + if (worker.aborted) { + // MDN: "Calling this method signals a loss of interest in the stream by a consumer." + await reader?.cancel(); + } } /** @internal */ @@ -556,7 +561,7 @@ export class UrlSource extends Source { } if (worker.aborted) { - break; + continue; // Cleanup happens in next iteration } const { done, value } = readResult; @@ -578,14 +583,8 @@ export class UrlSource extends Source { this.onread?.(worker.currentPos, worker.currentPos + value.length); this._orchestrator.supplyWorkerData(worker, value); } - - if (worker.aborted) { - break; - } } - worker.running = false; - // The previous UrlSource had logic for circumventing https://issues.chromium.org/issues/436025873; I haven't // been able to observe this bug with the new UrlSource (maybe because we're using response streaming), so the // logic for that has vanished for now. Leaving a comment here if this becomes relevant again. From 05070f7c88a018f1ca2db271eb4f975ab4d149d8 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Wed, 24 Dec 2025 14:17:46 +0100 Subject: [PATCH 2/2] Bump patch --- package-lock.json | 12 ++++++------ package.json | 2 +- packages/mp3-encoder/package.json | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1757614..1abaef6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mediabunny", - "version": "1.27.1", + "version": "1.27.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mediabunny", - "version": "1.27.1", + "version": "1.27.2", "license": "MPL-2.0", "workspaces": [ "packages/*" @@ -7739,9 +7739,9 @@ } }, "node_modules/mediabunny": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.27.0.tgz", - "integrity": "sha512-u1Xm/HRs4g+cJM8IWcraaWlDmPnAr0FvEbFNbTm46bFA1GPoNRpmBeCq3aPlj9sjyqb0c7TMbW/i/pPupjwJog==", + "version": "1.27.1", + "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.27.1.tgz", + "integrity": "sha512-XdgXNox1hx2ynQy3jcCbzX1YsJt9en9VnZVidNXTNnQUdl6q2twSoV1GjgTb7Wlw9evCYXcKkgjE8KNU7K5trg==", "license": "MPL-2.0", "peer": true, "workspaces": [ @@ -12065,7 +12065,7 @@ }, "packages/mp3-encoder": { "name": "@mediabunny/mp3-encoder", - "version": "1.27.1", + "version": "1.27.2", "license": "MPL-2.0", "devDependencies": { "@types/emscripten": "^1.40.1" diff --git a/package.json b/package.json index 32d7949..208366d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "mediabunny", "author": "Vanilagy", - "version": "1.27.1", + "version": "1.27.2", "description": "Pure TypeScript media toolkit for reading, writing, and converting media files, directly in the browser.", "type": "module", "workspaces": [ diff --git a/packages/mp3-encoder/package.json b/packages/mp3-encoder/package.json index 8ad9e62..d4f239b 100644 --- a/packages/mp3-encoder/package.json +++ b/packages/mp3-encoder/package.json @@ -1,7 +1,7 @@ { "name": "@mediabunny/mp3-encoder", "author": "Vanilagy", - "version": "1.27.1", + "version": "1.27.2", "description": "MP3 encoder extension for Mediabunny, based on LAME.", "main": "./dist/bundles/mediabunny-mp3-encoder.mjs", "module": "./dist/bundles/mediabunny-mp3-encoder.mjs",