From a0b7d1654e445d25084ac303297af0bfde6b5093 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Mon, 19 Feb 2024 16:25:01 +0100 Subject: [PATCH] update `UppyFile` objects before emitting events (#4928) --- packages/@uppy/aws-s3-multipart/src/index.js | 2 +- packages/@uppy/aws-s3/src/MiniXHRUpload.js | 4 ++-- .../companion-client/src/RequestClient.ts | 20 +++++++++++++------ packages/@uppy/tus/src/index.ts | 4 ++-- packages/@uppy/xhr-upload/src/index.ts | 16 +++++++++++---- 5 files changed, 31 insertions(+), 15 deletions(-) diff --git a/packages/@uppy/aws-s3-multipart/src/index.js b/packages/@uppy/aws-s3-multipart/src/index.js index a2ddf19f54..4c23ae9772 100644 --- a/packages/@uppy/aws-s3-multipart/src/index.js +++ b/packages/@uppy/aws-s3-multipart/src/index.js @@ -754,7 +754,7 @@ export default class AwsS3Multipart extends BasePlugin { #uploadLocalFile (file) { return new Promise((resolve, reject) => { const onProgress = (bytesUploaded, bytesTotal) => { - this.uppy.emit('upload-progress', file, { + this.uppy.emit('upload-progress', this.uppy.getFile(file.id), { uploader: this, bytesUploaded, bytesTotal, diff --git a/packages/@uppy/aws-s3/src/MiniXHRUpload.js b/packages/@uppy/aws-s3/src/MiniXHRUpload.js index 4b3dc0a688..e4fbc1e28c 100644 --- a/packages/@uppy/aws-s3/src/MiniXHRUpload.js +++ b/packages/@uppy/aws-s3/src/MiniXHRUpload.js @@ -134,7 +134,7 @@ export default class MiniXHRUpload { timer.progress() if (ev.lengthComputable) { - this.uppy.emit('upload-progress', file, { + this.uppy.emit('upload-progress', this.uppy.getFile(file.id), { uploader: this, bytesUploaded: ev.loaded, bytesTotal: ev.total, @@ -162,7 +162,7 @@ export default class MiniXHRUpload { uploadURL, } - this.uppy.emit('upload-success', file, uploadResp) + this.uppy.emit('upload-success', this.uppy.getFile(file.id), uploadResp) if (uploadURL) { this.uppy.log(`Download ${file.name} from ${uploadURL}`) diff --git a/packages/@uppy/companion-client/src/RequestClient.ts b/packages/@uppy/companion-client/src/RequestClient.ts index e45c3d9046..d39ba09bc3 100644 --- a/packages/@uppy/companion-client/src/RequestClient.ts +++ b/packages/@uppy/companion-client/src/RequestClient.ts @@ -481,15 +481,23 @@ export default class RequestClient { switch (action) { case 'progress': { - emitSocketProgress(this, payload, file) + emitSocketProgress( + this, + payload, + this.uppy.getFile(file.id), + ) break } case 'success': { - // @ts-expect-error event expects a lot more data. - // TODO: add missing data? - this.uppy.emit('upload-success', file, { - uploadURL: payload.url, - }) + this.uppy.emit( + 'upload-success', + this.uppy.getFile(file.id), + // @ts-expect-error event expects a lot more data. + // TODO: add missing data? + { + uploadURL: payload.url, + }, + ) socketAbortController?.abort?.() resolve() break diff --git a/packages/@uppy/tus/src/index.ts b/packages/@uppy/tus/src/index.ts index 9abf12b962..53dd280f4e 100644 --- a/packages/@uppy/tus/src/index.ts +++ b/packages/@uppy/tus/src/index.ts @@ -312,7 +312,7 @@ export default class Tus extends BasePlugin< if (typeof opts.onProgress === 'function') { opts.onProgress(bytesUploaded, bytesTotal) } - this.uppy.emit('upload-progress', file, { + this.uppy.emit('upload-progress', this.uppy.getFile(file.id), { // TODO: remove `uploader` in next major // @ts-expect-error untyped uploader: this, @@ -331,7 +331,7 @@ export default class Tus extends BasePlugin< this.resetUploaderReferences(file.id) queuedRequest.done() - this.uppy.emit('upload-success', file, uploadResp) + this.uppy.emit('upload-success', this.uppy.getFile(file.id), uploadResp) if (upload.url) { // @ts-expect-error not typed in tus-js-client diff --git a/packages/@uppy/xhr-upload/src/index.ts b/packages/@uppy/xhr-upload/src/index.ts index 35eb664173..494b3c3b17 100644 --- a/packages/@uppy/xhr-upload/src/index.ts +++ b/packages/@uppy/xhr-upload/src/index.ts @@ -324,7 +324,7 @@ export default class XHRUpload< timer.progress() if (ev.lengthComputable) { - this.uppy.emit('upload-progress', file, { + this.uppy.emit('upload-progress', this.uppy.getFile(file.id), { // TODO: do not send `uploader` in next major // @ts-expect-error we can't type this and we should remove it uploader: this, @@ -354,7 +354,11 @@ export default class XHRUpload< uploadURL, } - this.uppy.emit('upload-success', file, uploadResp) + this.uppy.emit( + 'upload-success', + this.uppy.getFile(file.id), + uploadResp, + ) if (uploadURL) { this.uppy.log(`Download ${file.name} from ${uploadURL}`) @@ -475,7 +479,7 @@ export default class XHRUpload< if (!ev.lengthComputable) return files.forEach((file) => { - this.uppy.emit('upload-progress', file, { + this.uppy.emit('upload-progress', this.uppy.getFile(file.id), { // TODO: do not send `uploader` in next major // @ts-expect-error we can't type this and we should remove it uploader: this, @@ -496,7 +500,11 @@ export default class XHRUpload< body, } files.forEach((file) => { - this.uppy.emit('upload-success', file, uploadResp) + this.uppy.emit( + 'upload-success', + this.uppy.getFile(file.id), + uploadResp, + ) }) return resolve() }