Forráskód Böngészése

update `UppyFile` objects before emitting events (#4928)

Antoine du Hamel 1 éve
szülő
commit
a0b7d1654e

+ 1 - 1
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,

+ 2 - 2
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}`)

+ 14 - 6
packages/@uppy/companion-client/src/RequestClient.ts

@@ -481,15 +481,23 @@ export default class RequestClient<M extends Meta, B extends Body> {
 
                         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

+ 2 - 2
packages/@uppy/tus/src/index.ts

@@ -312,7 +312,7 @@ export default class Tus<M extends Meta, B extends Body> 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<M extends Meta, B extends Body> 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

+ 12 - 4
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()
         }