浏览代码

@uppy/companion: remove `error.extraData` (#5198)

See discussion in #3832.
Mikael Finstad 11 月之前
父节点
当前提交
2f21ce99c9
共有 2 个文件被更改,包括 7 次插入9 次删除
  1. 3 0
      docs/guides/migration-guides.md
  2. 4 9
      packages/@uppy/companion/src/server/Uploader.js

+ 3 - 0
docs/guides/migration-guides.md

@@ -18,6 +18,9 @@ These cover all the major Uppy versions and how to migrate to them.
     `getExtraGrantConfig`.
     `getExtraGrantConfig`.
 - Endpoint `GET /s3/params` now returns `{ method: "POST" }` instead of
 - Endpoint `GET /s3/params` now returns `{ method: "POST" }` instead of
   `{ method: "post" }`. This will not affect most people.
   `{ method: "post" }`. This will not affect most people.
+- The Companion [`error` event](https://uppy.io/docs/companion/#events) now no
+  longer includes `extraData` inside the `payload.error` property. `extraData`
+  is (and was also before) included in the `payload`.
 
 
 ### `@uppy/companion-client`
 ### `@uppy/companion-client`
 
 

+ 4 - 9
packages/@uppy/companion/src/server/Uploader.js

@@ -49,11 +49,7 @@ function sanitizeMetadata(inputMetadata) {
 }
 }
 
 
 class ValidationError extends Error {
 class ValidationError extends Error {
-  constructor(message) {
-    super(message)
-
-    this.name = 'ValidationError'
-  }
+  name = 'ValidationError'
 }
 }
 
 
 /**
 /**
@@ -340,7 +336,7 @@ class Uploader {
         return
         return
       }
       }
       logger.error(err, 'uploader.error', this.shortToken)
       logger.error(err, 'uploader.error', this.shortToken)
-      this.#emitError(err)
+      await this.#emitError(err)
     } finally {
     } finally {
       emitter().removeAllListeners(`pause:${this.token}`)
       emitter().removeAllListeners(`pause:${this.token}`)
       emitter().removeAllListeners(`resume:${this.token}`)
       emitter().removeAllListeners(`resume:${this.token}`)
@@ -487,14 +483,13 @@ class Uploader {
    */
    */
   async #emitError(err) {
   async #emitError(err) {
     // delete stack to avoid sending server info to client
     // delete stack to avoid sending server info to client
-    // todo remove also extraData from serializedErr in next major,
     // see PR discussion https://github.com/transloadit/uppy/pull/3832
     // see PR discussion https://github.com/transloadit/uppy/pull/3832
+    // @ts-ignore
     const { serializeError } = await import('serialize-error')
     const { serializeError } = await import('serialize-error')
     const { stack, ...serializedErr } = serializeError(err)
     const { stack, ...serializedErr } = serializeError(err)
     const dataToEmit = {
     const dataToEmit = {
       action: 'error',
       action: 'error',
-      // @ts-ignore
-      payload: { ...err.extraData, error: serializedErr },
+      payload: { error: serializedErr },
     }
     }
     this.saveState(dataToEmit)
     this.saveState(dataToEmit)
     emitter().emit(this.token, dataToEmit)
     emitter().emit(this.token, dataToEmit)