From 2f21ce99c993b5de50bb2d3a22b49f622b356f41 Mon Sep 17 00:00:00 2001 From: Mikael Finstad Date: Fri, 24 May 2024 23:45:55 +0200 Subject: [PATCH] @uppy/companion: remove `error.extraData` (#5198) See discussion in #3832. --- docs/guides/migration-guides.md | 3 +++ packages/@uppy/companion/src/server/Uploader.js | 13 ++++--------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/docs/guides/migration-guides.md b/docs/guides/migration-guides.md index 33f8804a0..6d73b4b0a 100644 --- a/docs/guides/migration-guides.md +++ b/docs/guides/migration-guides.md @@ -18,6 +18,9 @@ These cover all the major Uppy versions and how to migrate to them. `getExtraGrantConfig`. - Endpoint `GET /s3/params` now returns `{ method: "POST" }` instead of `{ 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` diff --git a/packages/@uppy/companion/src/server/Uploader.js b/packages/@uppy/companion/src/server/Uploader.js index e7383c0cb..c46a3f9fe 100644 --- a/packages/@uppy/companion/src/server/Uploader.js +++ b/packages/@uppy/companion/src/server/Uploader.js @@ -49,11 +49,7 @@ function sanitizeMetadata(inputMetadata) { } class ValidationError extends Error { - constructor(message) { - super(message) - - this.name = 'ValidationError' - } + name = 'ValidationError' } /** @@ -340,7 +336,7 @@ class Uploader { return } logger.error(err, 'uploader.error', this.shortToken) - this.#emitError(err) + await this.#emitError(err) } finally { emitter().removeAllListeners(`pause:${this.token}`) emitter().removeAllListeners(`resume:${this.token}`) @@ -487,14 +483,13 @@ class Uploader { */ async #emitError(err) { // 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 + // @ts-ignore const { serializeError } = await import('serialize-error') const { stack, ...serializedErr } = serializeError(err) const dataToEmit = { action: 'error', - // @ts-ignore - payload: { ...err.extraData, error: serializedErr }, + payload: { error: serializedErr }, } this.saveState(dataToEmit) emitter().emit(this.token, dataToEmit)