Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Uppy 4x breaking changes #5200

Merged
merged 15 commits into from
May 31, 2024
Merged

Uppy 4x breaking changes #5200

merged 15 commits into from
May 31, 2024

Conversation

mifi
Copy link
Contributor

@mifi mifi commented May 28, 2024

No description provided.

@mifi mifi mentioned this pull request May 28, 2024
38 tasks
Copy link
Contributor

github-actions bot commented May 28, 2024

Diff output files
diff --git a/packages/@uppy/aws-s3/lib/MultipartUploader.js b/packages/@uppy/aws-s3/lib/MultipartUploader.js
index 8a50ce9..f5ac046 100644
--- a/packages/@uppy/aws-s3/lib/MultipartUploader.js
+++ b/packages/@uppy/aws-s3/lib/MultipartUploader.js
@@ -185,7 +185,7 @@ class MultipartUploader {
     if (opts != null && opts.really) _classPrivateFieldLooseBase(this, _abortUpload)[_abortUpload]();
     else this.pause();
   }
-  get chunkState() {
+  [Symbol.for("uppy test: getChunkState")]() {
     return _classPrivateFieldLooseBase(this, _chunkState)[_chunkState];
   }
 }
diff --git a/packages/@uppy/aws-s3/lib/index.js b/packages/@uppy/aws-s3/lib/index.js
index a2fb0b7..30c18d3 100644
--- a/packages/@uppy/aws-s3/lib/index.js
+++ b/packages/@uppy/aws-s3/lib/index.js
@@ -66,6 +66,7 @@ const defaultOptions = {
 };
 var _companionCommunicationQueue = _classPrivateFieldLooseKey("companionCommunicationQueue");
 var _client = _classPrivateFieldLooseKey("client");
+var _assertHost = _classPrivateFieldLooseKey("assertHost");
 var _cachedTemporaryCredentials = _classPrivateFieldLooseKey("cachedTemporaryCredentials");
 var _getTemporarySecurityCredentials = _classPrivateFieldLooseKey("getTemporarySecurityCredentials");
 var _setS3MultipartState = _classPrivateFieldLooseKey("setS3MultipartState");
@@ -99,6 +100,9 @@ export default class AwsS3Multipart extends BasePlugin {
     Object.defineProperty(this, _getTemporarySecurityCredentials, {
       value: _getTemporarySecurityCredentials2,
     });
+    Object.defineProperty(this, _assertHost, {
+      value: _assertHost2,
+    });
     Object.defineProperty(this, _companionCommunicationQueue, {
       writable: true,
       value: void 0,
@@ -232,7 +236,6 @@ export default class AwsS3Multipart extends BasePlugin {
       );
     this.uploaders = Object.create(null);
     this.uploaderEvents = Object.create(null);
-    this.uploaderSockets = Object.create(null);
   }
   [Symbol.for("uppy test: getClient")]() {
     return _classPrivateFieldLooseBase(this, _client)[_client];
@@ -255,20 +258,9 @@ export default class AwsS3Multipart extends BasePlugin {
       this.uploaderEvents[fileID].remove();
       this.uploaderEvents[fileID] = null;
     }
-    if (this.uploaderSockets[fileID]) {
-      this.uploaderSockets[fileID].close();
-      this.uploaderSockets[fileID] = null;
-    }
-  }
-  assertHost(method) {
-    if (!this.opts.companionUrl) {
-      throw new Error(
-        `Expected a \`companionUrl\` option containing a Companion address, or if you are not using Companion, a custom \`${method}\` implementation.`,
-      );
-    }
   }
   createMultipartUpload(file, signal) {
-    this.assertHost("createMultipartUpload");
+    _classPrivateFieldLooseBase(this, _assertHost)[_assertHost]("createMultipartUpload");
     throwIfAborted(signal);
     const allowedMetaFields = getAllowedMetaFields(this.opts.allowedMetaFields, file.meta);
     const metadata = getAllowedMetadata({
@@ -291,7 +283,7 @@ export default class AwsS3Multipart extends BasePlugin {
       signal,
     } = _ref4;
     (_signal = signal) != null ? _signal : signal = oldSignal;
-    this.assertHost("listParts");
+    _classPrivateFieldLooseBase(this, _assertHost)[_assertHost]("listParts");
     throwIfAborted(signal);
     const filename = encodeURIComponent(key);
     return _classPrivateFieldLooseBase(this, _client)[_client].get(
@@ -310,7 +302,7 @@ export default class AwsS3Multipart extends BasePlugin {
       signal,
     } = _ref5;
     (_signal2 = signal) != null ? _signal2 : signal = oldSignal;
-    this.assertHost("completeMultipartUpload");
+    _classPrivateFieldLooseBase(this, _assertHost)[_assertHost]("completeMultipartUpload");
     throwIfAborted(signal);
     const filename = encodeURIComponent(key);
     const uploadIdEnc = encodeURIComponent(uploadId);
@@ -360,7 +352,7 @@ export default class AwsS3Multipart extends BasePlugin {
       partNumber,
       signal,
     } = _ref6;
-    this.assertHost("signPart");
+    _classPrivateFieldLooseBase(this, _assertHost)[_assertHost]("signPart");
     throwIfAborted(signal);
     if (uploadId == null || key == null || partNumber == null) {
       throw new Error("Cannot sign without a key, an uploadId, and a partNumber");
@@ -373,15 +365,13 @@ export default class AwsS3Multipart extends BasePlugin {
       },
     ).then(assertServerError);
   }
-  abortMultipartUpload(file, _ref7, oldSignal) {
-    var _signal3;
+  abortMultipartUpload(file, _ref7) {
     let {
       key,
       uploadId,
       signal,
     } = _ref7;
-    (_signal3 = signal) != null ? _signal3 : signal = oldSignal;
-    this.assertHost("abortMultipartUpload");
+    _classPrivateFieldLooseBase(this, _assertHost)[_assertHost]("abortMultipartUpload");
     const filename = encodeURIComponent(key);
     const uploadIdEnc = encodeURIComponent(uploadId);
     return _classPrivateFieldLooseBase(this, _client)[_client].delete(
@@ -532,11 +522,18 @@ export default class AwsS3Multipart extends BasePlugin {
     );
   }
 }
+function _assertHost2(method) {
+  if (!this.opts.companionUrl) {
+    throw new Error(
+      `Expected a \`companionUrl\` option containing a Companion address, or if you are not using Companion, a custom \`${method}\` implementation.`,
+    );
+  }
+}
 async function _getTemporarySecurityCredentials2(options) {
   throwIfAborted(options == null ? void 0 : options.signal);
   if (_classPrivateFieldLooseBase(this, _cachedTemporaryCredentials)[_cachedTemporaryCredentials] == null) {
     if (this.opts.getTemporarySecurityCredentials === true) {
-      this.assertHost("getTemporarySecurityCredentials");
+      _classPrivateFieldLooseBase(this, _assertHost)[_assertHost]("getTemporarySecurityCredentials");
       _classPrivateFieldLooseBase(this, _cachedTemporaryCredentials)[_cachedTemporaryCredentials] =
         _classPrivateFieldLooseBase(this, _client)[_client].get("s3/sts", options).then(assertServerError);
     } else {
@@ -560,8 +557,10 @@ function _uploadLocalFile2(file) {
   var _this = this;
   return new Promise((resolve, reject) => {
     const onProgress = (bytesUploaded, bytesTotal) => {
-      this.uppy.emit("upload-progress", this.uppy.getFile(file.id), {
-        uploader: this,
+      var _latestFile$progress$;
+      const latestFile = this.uppy.getFile(file.id);
+      this.uppy.emit("upload-progress", latestFile, {
+        uploadStarted: (_latestFile$progress$ = latestFile.progress.uploadStarted) != null ? _latestFile$progress$ : 0,
         bytesUploaded,
         bytesTotal,
       });
diff --git a/packages/@uppy/core/lib/Uppy.js b/packages/@uppy/core/lib/Uppy.js
index 8cd1571..cf5b770 100644
--- a/packages/@uppy/core/lib/Uppy.js
+++ b/packages/@uppy/core/lib/Uppy.js
@@ -1306,12 +1306,7 @@ function _addListeners2() {
     }]));
     this.patchFilesState(filesState);
   };
-  this.on("upload-start", files => {
-    files.forEach(file => {
-      this.emit("upload-started", file);
-    });
-    onUploadStarted(files);
-  });
+  this.on("upload-start", onUploadStarted);
   this.on("upload-progress", this.calculateProgress);
   this.on("upload-success", (file, uploadResp) => {
     if (file == null || !this.getFile(file.id)) {
diff --git a/packages/@uppy/dashboard/lib/Dashboard.js b/packages/@uppy/dashboard/lib/Dashboard.js
index 5caace8..125a9b6 100644
--- a/packages/@uppy/dashboard/lib/Dashboard.js
+++ b/packages/@uppy/dashboard/lib/Dashboard.js
@@ -71,7 +71,6 @@ const defaultOptions = {
   showNativeVideoCameraButton: false,
   theme: "light",
   autoOpen: null,
-  autoOpenFileEditor: false,
   disabled: false,
   disableLocalFiles: false,
   doneButtonHandler: null,
@@ -90,15 +89,8 @@ var _autoDiscoverPlugins = _classPrivateFieldLooseKey("autoDiscoverPlugins");
 var _addSupportedPluginIfNoTarget = _classPrivateFieldLooseKey("addSupportedPluginIfNoTarget");
 export default class Dashboard extends UIPlugin {
   constructor(uppy, _opts) {
-    var _this$opts4, _this$opts4$doneButto, _this$opts5, _this$opts5$onRequest;
-    let autoOpen;
-    if (!_opts) {
-      autoOpen = null;
-    } else if (_opts.autoOpen === undefined) {
-      autoOpen = _opts.autoOpenFileEditor ? "imageEditor" : null;
-    } else {
-      autoOpen = _opts.autoOpen;
-    }
+    var _opts$autoOpen, _this$opts4, _this$opts4$doneButto, _this$opts5, _this$opts5$onRequest;
+    const autoOpen = (_opts$autoOpen = _opts == null ? void 0 : _opts.autoOpen) != null ? _opts$autoOpen : null;
     super(uppy, {
       ...defaultOptions,
       ..._opts,
diff --git a/packages/@uppy/drop-target/lib/index.js b/packages/@uppy/drop-target/lib/index.js
index 23ba3c0..15c0f1a 100644
--- a/packages/@uppy/drop-target/lib/index.js
+++ b/packages/@uppy/drop-target/lib/index.js
@@ -138,7 +138,6 @@ export default class DropTarget extends BasePlugin {
     };
     this.type = "acquirer";
     this.id = this.opts.id || "DropTarget";
-    this.title = "Drop Target";
   }
   install() {
     this.setPluginState({
diff --git a/packages/@uppy/golden-retriever/lib/IndexedDBStore.js b/packages/@uppy/golden-retriever/lib/IndexedDBStore.js
index 969e1e2..a89942f 100644
--- a/packages/@uppy/golden-retriever/lib/IndexedDBStore.js
+++ b/packages/@uppy/golden-retriever/lib/IndexedDBStore.js
@@ -102,9 +102,6 @@ class IndexedDBStore {
   get ready() {
     return Promise.resolve(_classPrivateFieldLooseBase(this, _ready)[_ready]);
   }
-  set ready(val) {
-    _classPrivateFieldLooseBase(this, _ready)[_ready] = val;
-  }
   key(fileID) {
     return `${this.name}!${fileID}`;
   }
diff --git a/packages/@uppy/golden-retriever/lib/ServiceWorkerStore.js b/packages/@uppy/golden-retriever/lib/ServiceWorkerStore.js
index aff7658..36ac828 100644
--- a/packages/@uppy/golden-retriever/lib/ServiceWorkerStore.js
+++ b/packages/@uppy/golden-retriever/lib/ServiceWorkerStore.js
@@ -37,9 +37,6 @@ class ServiceWorkerStore {
   get ready() {
     return Promise.resolve(_classPrivateFieldLooseBase(this, _ready)[_ready]);
   }
-  set ready(val) {
-    _classPrivateFieldLooseBase(this, _ready)[_ready] = val;
-  }
   async list() {
     await _classPrivateFieldLooseBase(this, _ready)[_ready];
     return new Promise((resolve, reject) => {
diff --git a/packages/@uppy/locales/lib/ar_SA.js b/packages/@uppy/locales/lib/ar_SA.js
index 5915840..e89ad6a 100644
--- a/packages/@uppy/locales/lib/ar_SA.js
+++ b/packages/@uppy/locales/lib/ar_SA.js
@@ -133,7 +133,4 @@ ar_SA.strings = {
   unselectFileNamed: "%{name} إلغاء تحديد الملف",
   openFolderNamed: "%{name} افتح المجلد",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.ar_SA = ar_SA;
-}
 export default ar_SA;
diff --git a/packages/@uppy/locales/lib/bg_BG.js b/packages/@uppy/locales/lib/bg_BG.js
index 0dece3b..0a58793 100644
--- a/packages/@uppy/locales/lib/bg_BG.js
+++ b/packages/@uppy/locales/lib/bg_BG.js
@@ -151,7 +151,4 @@ bg_BG.strings = {
     "1": "Трябва да изберете поне %{smart_count} файла",
   },
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.bg_BG = bg_BG;
-}
 export default bg_BG;
diff --git a/packages/@uppy/locales/lib/ca_ES.js b/packages/@uppy/locales/lib/ca_ES.js
index baeca93..8d98d64 100644
--- a/packages/@uppy/locales/lib/ca_ES.js
+++ b/packages/@uppy/locales/lib/ca_ES.js
@@ -214,7 +214,4 @@ ca_ES.strings = {
   selectFileNamed: "Selecciona arxiu %{name}",
   unselectFileNamed: "Desselecciona arxiu %{name}",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.ca_ES = ca_ES;
-}
 export default ca_ES;
diff --git a/packages/@uppy/locales/lib/cs_CZ.js b/packages/@uppy/locales/lib/cs_CZ.js
index de382bf..79b83c0 100644
--- a/packages/@uppy/locales/lib/cs_CZ.js
+++ b/packages/@uppy/locales/lib/cs_CZ.js
@@ -149,7 +149,4 @@ cs_CZ.strings = {
     "2": "Je třeba vybrat alespoň %{smart_count} souborů",
   },
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.cs_CZ = cs_CZ;
-}
 export default cs_CZ;
diff --git a/packages/@uppy/locales/lib/da_DK.js b/packages/@uppy/locales/lib/da_DK.js
index f36c939..c6885ff 100644
--- a/packages/@uppy/locales/lib/da_DK.js
+++ b/packages/@uppy/locales/lib/da_DK.js
@@ -134,7 +134,4 @@ da_DK.strings = {
     "1": "Du skal vælge mindst %{smart_count} filer",
   },
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.da_DK = da_DK;
-}
 export default da_DK;
diff --git a/packages/@uppy/locales/lib/de_DE.js b/packages/@uppy/locales/lib/de_DE.js
index bc46cfd..f7d2d6a 100644
--- a/packages/@uppy/locales/lib/de_DE.js
+++ b/packages/@uppy/locales/lib/de_DE.js
@@ -194,7 +194,4 @@ de_DE.strings = {
   zoomIn: "Vergrößern",
   zoomOut: "Verkleinern",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.de_DE = de_DE;
-}
 export default de_DE;
diff --git a/packages/@uppy/locales/lib/el_GR.js b/packages/@uppy/locales/lib/el_GR.js
index 2599cf9..69a0037 100644
--- a/packages/@uppy/locales/lib/el_GR.js
+++ b/packages/@uppy/locales/lib/el_GR.js
@@ -134,7 +134,4 @@ el_GR.strings = {
     "1": "Πρέπει να επιλέξετε τουλάχιστον %{smart_count} αρχείο",
   },
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.el_GR = el_GR;
-}
 export default el_GR;
diff --git a/packages/@uppy/locales/lib/en_US.js b/packages/@uppy/locales/lib/en_US.js
index f7f3a6e..bea53cc 100644
--- a/packages/@uppy/locales/lib/en_US.js
+++ b/packages/@uppy/locales/lib/en_US.js
@@ -211,7 +211,4 @@ en_US.strings = {
   zoomIn: "Zoom in",
   zoomOut: "Zoom out",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.en_US = en_US;
-}
 export default en_US;
diff --git a/packages/@uppy/locales/lib/es_ES.js b/packages/@uppy/locales/lib/es_ES.js
index b9dc0ba..9bfea2c 100644
--- a/packages/@uppy/locales/lib/es_ES.js
+++ b/packages/@uppy/locales/lib/es_ES.js
@@ -214,7 +214,4 @@ es_ES.strings = {
   selectFileNamed: "Seleccione archivo %{name}",
   unselectFileNamed: "Deseleccionar archivo %{name}",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.es_ES = es_ES;
-}
 export default es_ES;
diff --git a/packages/@uppy/locales/lib/es_MX.js b/packages/@uppy/locales/lib/es_MX.js
index bc9b9d3..64f6feb 100644
--- a/packages/@uppy/locales/lib/es_MX.js
+++ b/packages/@uppy/locales/lib/es_MX.js
@@ -180,7 +180,4 @@ es_MX.strings = {
   zoomIn: "Acercar",
   zoomOut: "Alejar",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.es_MX = es_MX;
-}
 export default es_MX;
diff --git a/packages/@uppy/locales/lib/fa_IR.js b/packages/@uppy/locales/lib/fa_IR.js
index e655e17..0426e72 100644
--- a/packages/@uppy/locales/lib/fa_IR.js
+++ b/packages/@uppy/locales/lib/fa_IR.js
@@ -211,7 +211,4 @@ fa_IR.strings = {
   zoomIn: "بزرگ‌نمایی",
   zoomOut: "کوچک‌نمایی",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.fa_IR = fa_IR;
-}
-export default fa_IR;
+export {};
diff --git a/packages/@uppy/locales/lib/fi_FI.js b/packages/@uppy/locales/lib/fi_FI.js
index 0ffc101..60c74d5 100644
--- a/packages/@uppy/locales/lib/fi_FI.js
+++ b/packages/@uppy/locales/lib/fi_FI.js
@@ -141,7 +141,4 @@ fi_FI.strings = {
   micDisabled: "Käyttäjä on estänyt mikrofonin",
   recording: "Tallennetaan",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.fi_FI = fi_FI;
-}
 export default fi_FI;
diff --git a/packages/@uppy/locales/lib/fr_FR.js b/packages/@uppy/locales/lib/fr_FR.js
index 974a00c..22ee641 100644
--- a/packages/@uppy/locales/lib/fr_FR.js
+++ b/packages/@uppy/locales/lib/fr_FR.js
@@ -158,7 +158,4 @@ fr_FR.strings = {
     "1": "Vous devez sélectionner au moins %{smart_count} fichiers",
   },
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.fr_FR = fr_FR;
-}
 export default fr_FR;
diff --git a/packages/@uppy/locales/lib/gl_ES.js b/packages/@uppy/locales/lib/gl_ES.js
index 6680de3..19fea03 100644
--- a/packages/@uppy/locales/lib/gl_ES.js
+++ b/packages/@uppy/locales/lib/gl_ES.js
@@ -134,7 +134,4 @@ gl_ES.strings = {
   unselectFileNamed: "Deseleccionar arquivo %{name}",
   openFolderNamed: "Cartafol aberto %{name}",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.gl_ES = gl_ES;
-}
 export default gl_ES;
diff --git a/packages/@uppy/locales/lib/he_IL.js b/packages/@uppy/locales/lib/he_IL.js
index 33401b6..eba3cf5 100644
--- a/packages/@uppy/locales/lib/he_IL.js
+++ b/packages/@uppy/locales/lib/he_IL.js
@@ -135,7 +135,4 @@ he_IL.strings = {
     "1": "עליך לבחור לפחות ב %{smart_count} קבצים",
   },
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.he_IL = he_IL;
-}
 export default he_IL;
diff --git a/packages/@uppy/locales/lib/hi_IN.js b/packages/@uppy/locales/lib/hi_IN.js
index 525aa44..1668393 100644
--- a/packages/@uppy/locales/lib/hi_IN.js
+++ b/packages/@uppy/locales/lib/hi_IN.js
@@ -179,7 +179,4 @@ hi_IN.strings = {
   zoomIn: "ज़ूम इन",
   zoomOut: "ज़ूम आउट",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.hi_IN = hi_IN;
-}
 export default hi_IN;
diff --git a/packages/@uppy/locales/lib/hr_HR.js b/packages/@uppy/locales/lib/hr_HR.js
index ee78cbe..d2279a9 100644
--- a/packages/@uppy/locales/lib/hr_HR.js
+++ b/packages/@uppy/locales/lib/hr_HR.js
@@ -135,7 +135,4 @@ hr_HR.strings = {
   unselectFileNamed: "Isključite datoteku %{name}",
   openFolderNamed: "Otvori mapu %{name}",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.hr_HR = hr_HR;
-}
 export default hr_HR;
diff --git a/packages/@uppy/locales/lib/hu_HU.js b/packages/@uppy/locales/lib/hu_HU.js
index eadb895..2bed798 100644
--- a/packages/@uppy/locales/lib/hu_HU.js
+++ b/packages/@uppy/locales/lib/hu_HU.js
@@ -98,7 +98,4 @@ hu_HU.strings = {
   unselectFileNamed: "A fájl törlése %{name}",
   openFolderNamed: "Nyitott mappa %{name}",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.hu_HU = hu_HU;
-}
 export default hu_HU;
diff --git a/packages/@uppy/locales/lib/id_ID.js b/packages/@uppy/locales/lib/id_ID.js
index 0d818a5..440c62c 100644
--- a/packages/@uppy/locales/lib/id_ID.js
+++ b/packages/@uppy/locales/lib/id_ID.js
@@ -134,7 +134,4 @@ id_ID.strings = {
     "1": "Anda harus memilih minimal %{smart_count} berkas",
   },
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.id_ID = id_ID;
-}
 export default id_ID;
diff --git a/packages/@uppy/locales/lib/is_IS.js b/packages/@uppy/locales/lib/is_IS.js
index 9cf6feb..05ffbbe 100644
--- a/packages/@uppy/locales/lib/is_IS.js
+++ b/packages/@uppy/locales/lib/is_IS.js
@@ -136,7 +136,4 @@ is_IS.strings = {
     "1": "Þú verður að velja lágmark %{smart_count} skrár",
   },
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.is_IS = is_IS;
-}
 export default is_IS;
diff --git a/packages/@uppy/locales/lib/it_IT.js b/packages/@uppy/locales/lib/it_IT.js
index fc29a3c..f7e0e7a 100644
--- a/packages/@uppy/locales/lib/it_IT.js
+++ b/packages/@uppy/locales/lib/it_IT.js
@@ -133,7 +133,4 @@ it_IT.strings = {
   unselectFileNamed: "Deseleziona il file %{name}",
   openFolderNamed: "Cartella aperta %{name}",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.it_IT = it_IT;
-}
 export default it_IT;
diff --git a/packages/@uppy/locales/lib/ja_JP.js b/packages/@uppy/locales/lib/ja_JP.js
index b1a1908..2374834 100644
--- a/packages/@uppy/locales/lib/ja_JP.js
+++ b/packages/@uppy/locales/lib/ja_JP.js
@@ -136,7 +136,4 @@ ja_JP.strings = {
   unselectFileNamed: "ファイルの選択を解除 %{name}",
   openFolderNamed: "開いたフォルダ %{name}",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.ja_JP = ja_JP;
-}
 export default ja_JP;
diff --git a/packages/@uppy/locales/lib/ko_KR.js b/packages/@uppy/locales/lib/ko_KR.js
index 5f0515b..c6ec247 100644
--- a/packages/@uppy/locales/lib/ko_KR.js
+++ b/packages/@uppy/locales/lib/ko_KR.js
@@ -100,7 +100,4 @@ ko_KR.strings = {
   youCanOnlyUploadX: "%{smart_count}개의 파일만 업로드할 수 있습니다",
   youHaveToAtLeastSelectX: "최소 %{smart_count}개의 파일을 선택해야 합니다",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.ko_KR = ko_KR;
-}
 export default ko_KR;
diff --git a/packages/@uppy/locales/lib/nb_NO.js b/packages/@uppy/locales/lib/nb_NO.js
index ba6b257..e257ee1 100644
--- a/packages/@uppy/locales/lib/nb_NO.js
+++ b/packages/@uppy/locales/lib/nb_NO.js
@@ -168,7 +168,4 @@ nb_NO.strings = {
   zoomIn: "Zoom inn",
   zoomOut: "Zoom ut",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.nb_NO = nb_NO;
-}
 export default nb_NO;
diff --git a/packages/@uppy/locales/lib/nl_NL.js b/packages/@uppy/locales/lib/nl_NL.js
index 73abe5c..7ae1dd6 100644
--- a/packages/@uppy/locales/lib/nl_NL.js
+++ b/packages/@uppy/locales/lib/nl_NL.js
@@ -195,7 +195,4 @@ nl_NL.strings = {
   zoomIn: "Zoom in",
   zoomOut: "Zoom uit",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.nl_NL = nl_NL;
-}
 export default nl_NL;
diff --git a/packages/@uppy/locales/lib/pl_PL.js b/packages/@uppy/locales/lib/pl_PL.js
index e8d1e7a..79f0601 100644
--- a/packages/@uppy/locales/lib/pl_PL.js
+++ b/packages/@uppy/locales/lib/pl_PL.js
@@ -143,7 +143,4 @@ pl_PL.strings = {
     "1": "Musisz wybrać przynajmniej %{smart_count} pliki",
   },
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.pl_PL = pl_PL;
-}
 export default pl_PL;
diff --git a/packages/@uppy/locales/lib/pt_BR.js b/packages/@uppy/locales/lib/pt_BR.js
index 0bf4cdf..834bc7e 100644
--- a/packages/@uppy/locales/lib/pt_BR.js
+++ b/packages/@uppy/locales/lib/pt_BR.js
@@ -143,7 +143,4 @@ pt_BR.strings = {
   unselectFileNamed: "Deselecionar arquivo %{name}",
   openFolderNamed: "Pasta aberta %{name}",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.pt_BR = pt_BR;
-}
 export default pt_BR;
diff --git a/packages/@uppy/locales/lib/pt_PT.js b/packages/@uppy/locales/lib/pt_PT.js
index 6461841..626921b 100644
--- a/packages/@uppy/locales/lib/pt_PT.js
+++ b/packages/@uppy/locales/lib/pt_PT.js
@@ -134,7 +134,4 @@ pt_PT.strings = {
   unselectFileNamed: "Deselecionar ficheiro %{name}",
   openFolderNamed: "Pasta aberta %{name}",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.pt_PT = pt_PT;
-}
 export default pt_PT;
diff --git a/packages/@uppy/locales/lib/ro_RO.js b/packages/@uppy/locales/lib/ro_RO.js
index b89934d..d34eadf 100644
--- a/packages/@uppy/locales/lib/ro_RO.js
+++ b/packages/@uppy/locales/lib/ro_RO.js
@@ -143,7 +143,4 @@ ro_RO.strings = {
     "1": "Selectează cel puțin %{smart_count} fișiere",
   },
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.ro_RO = ro_RO;
-}
 export default ro_RO;
diff --git a/packages/@uppy/locales/lib/ru_RU.js b/packages/@uppy/locales/lib/ru_RU.js
index c98789d..f82bac0 100644
--- a/packages/@uppy/locales/lib/ru_RU.js
+++ b/packages/@uppy/locales/lib/ru_RU.js
@@ -234,7 +234,4 @@ ru_RU.strings = {
   zoomIn: "Приблизить",
   zoomOut: "Отдалить",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.ru_RU = ru_RU;
-}
 export default ru_RU;
diff --git a/packages/@uppy/locales/lib/sk_SK.js b/packages/@uppy/locales/lib/sk_SK.js
index 6d3ffa8..3f5f569 100644
--- a/packages/@uppy/locales/lib/sk_SK.js
+++ b/packages/@uppy/locales/lib/sk_SK.js
@@ -166,7 +166,4 @@ sk_SK.strings = {
   zoomIn: "Priblížiť",
   zoomOut: "Oddialiť",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.sk_SK = sk_SK;
-}
 export default sk_SK;
diff --git a/packages/@uppy/locales/lib/sr_RS_Cyrillic.js b/packages/@uppy/locales/lib/sr_RS_Cyrillic.js
index 2760fd8..7435325 100644
--- a/packages/@uppy/locales/lib/sr_RS_Cyrillic.js
+++ b/packages/@uppy/locales/lib/sr_RS_Cyrillic.js
@@ -134,7 +134,4 @@ sr_RS_Cyrillic.strings = {
   unselectFileNamed: "Искључите фајл %{name}",
   openFolderNamed: "Отвори фолдер %{name}",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.sr_RS_Cyrillic = sr_RS_Cyrillic;
-}
 export default sr_RS_Cyrillic;
diff --git a/packages/@uppy/locales/lib/sr_RS_Latin.js b/packages/@uppy/locales/lib/sr_RS_Latin.js
index c7aaddf..7a6715d 100644
--- a/packages/@uppy/locales/lib/sr_RS_Latin.js
+++ b/packages/@uppy/locales/lib/sr_RS_Latin.js
@@ -134,7 +134,4 @@ sr_RS_Latin.strings = {
   unselectFileNamed: "Isključite fajl %{name}",
   openFolderNamed: "Otvori folder %{name}",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.sr_RS_Latin = sr_RS_Latin;
-}
 export default sr_RS_Latin;
diff --git a/packages/@uppy/locales/lib/sv_SE.js b/packages/@uppy/locales/lib/sv_SE.js
index 91e97ca..cc14d88 100644
--- a/packages/@uppy/locales/lib/sv_SE.js
+++ b/packages/@uppy/locales/lib/sv_SE.js
@@ -134,7 +134,4 @@ sv_SE.strings = {
     "1": "Du måste välja minst %{smart_count} filer",
   },
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.sv_SE = sv_SE;
-}
 export default sv_SE;
diff --git a/packages/@uppy/locales/lib/th_TH.js b/packages/@uppy/locales/lib/th_TH.js
index 362b5d0..66110e0 100644
--- a/packages/@uppy/locales/lib/th_TH.js
+++ b/packages/@uppy/locales/lib/th_TH.js
@@ -163,7 +163,4 @@ th_TH.strings = {
   zoomIn: "ซูมเข้า",
   zoomOut: "ซูมออก",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.th_TH = th_TH;
-}
 export default th_TH;
diff --git a/packages/@uppy/locales/lib/tr_TR.js b/packages/@uppy/locales/lib/tr_TR.js
index 9e81c81..cea5415 100644
--- a/packages/@uppy/locales/lib/tr_TR.js
+++ b/packages/@uppy/locales/lib/tr_TR.js
@@ -133,7 +133,4 @@ tr_TR.strings = {
   unselectFileNamed: "Dosya seçimini kaldır %{name}",
   openFolderNamed: "Açık dosya %{name}",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.tr_TR = tr_TR;
-}
 export default tr_TR;
diff --git a/packages/@uppy/locales/lib/uk_UA.js b/packages/@uppy/locales/lib/uk_UA.js
index d000314..62fbb0d 100644
--- a/packages/@uppy/locales/lib/uk_UA.js
+++ b/packages/@uppy/locales/lib/uk_UA.js
@@ -222,7 +222,4 @@ uk_UA.strings = {
   zoomIn: "Збільшити",
   zoomOut: "Зменшити",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.uk_UA = uk_UA;
-}
 export default uk_UA;
diff --git a/packages/@uppy/locales/lib/uz_UZ.js b/packages/@uppy/locales/lib/uz_UZ.js
index 618d14f..56cfa49 100644
--- a/packages/@uppy/locales/lib/uz_UZ.js
+++ b/packages/@uppy/locales/lib/uz_UZ.js
@@ -204,7 +204,4 @@ uz_UZ.strings = {
   zoomIn: "Kattalashtirish",
   zoomOut: "Kichraytirish",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.uz_UZ = uz_UZ;
-}
 export default uz_UZ;
diff --git a/packages/@uppy/locales/lib/vi_VN.js b/packages/@uppy/locales/lib/vi_VN.js
index 870f519..29c3308 100644
--- a/packages/@uppy/locales/lib/vi_VN.js
+++ b/packages/@uppy/locales/lib/vi_VN.js
@@ -211,7 +211,4 @@ vi_VN.strings = {
   zoomIn: "Phóng to",
   zoomOut: "Thu nhỏ",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.vi_VN = vi_VN;
-}
 export default vi_VN;
diff --git a/packages/@uppy/locales/lib/zh_CN.js b/packages/@uppy/locales/lib/zh_CN.js
index 23ee83f..aa0013b 100644
--- a/packages/@uppy/locales/lib/zh_CN.js
+++ b/packages/@uppy/locales/lib/zh_CN.js
@@ -114,7 +114,4 @@ zh_CN.strings = {
   youCanOnlyUploadX: "您只能上传 %{smart_count} 个文件",
   youHaveToAtLeastSelectX: "您至少要选择 %{smart_count} 个文件",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.zh_CN = zh_CN;
-}
 export default zh_CN;
diff --git a/packages/@uppy/locales/lib/zh_TW.js b/packages/@uppy/locales/lib/zh_TW.js
index 871c2a1..6cab51f 100644
--- a/packages/@uppy/locales/lib/zh_TW.js
+++ b/packages/@uppy/locales/lib/zh_TW.js
@@ -164,7 +164,4 @@ zh_TW.strings = {
   zoomIn: "放大",
   zoomOut: "縮小",
 };
-if (typeof Uppy !== "undefined") {
-  globalThis.Uppy.locales.zh_TW = zh_TW;
-}
 export default zh_TW;
diff --git a/packages/@uppy/status-bar/lib/StatusBarUI.js b/packages/@uppy/status-bar/lib/StatusBarUI.js
index ea8eba7..da288b3 100644
--- a/packages/@uppy/status-bar/lib/StatusBarUI.js
+++ b/packages/@uppy/status-bar/lib/StatusBarUI.js
@@ -21,7 +21,7 @@ const {
   STATE_POSTPROCESSING,
   STATE_COMPLETE,
 } = statusBarStates;
-export default function StatusBar(props) {
+export default function StatusBarUI(props) {
   const {
     newFiles,
     allowNewUpload,
@@ -226,7 +226,7 @@ export default function StatusBar(props) {
     ),
   );
 }
-StatusBar.defaultProps = {
+StatusBarUI.defaultProps = {
   doneButtonHandler: undefined,
   hideAfterFinish: false,
   hideCancelButton: false,
diff --git a/packages/@uppy/tus/lib/index.js b/packages/@uppy/tus/lib/index.js
index 1d645f2..3bccecb 100644
--- a/packages/@uppy/tus/lib/index.js
+++ b/packages/@uppy/tus/lib/index.js
@@ -241,12 +241,14 @@ function _uploadLocalFile2(file) {
       reject(err);
     };
     uploadOptions.onProgress = (bytesUploaded, bytesTotal) => {
+      var _latestFile$progress$;
       this.onReceiveUploadUrl(file, upload.url);
       if (typeof opts.onProgress === "function") {
         opts.onProgress(bytesUploaded, bytesTotal);
       }
-      this.uppy.emit("upload-progress", this.uppy.getFile(file.id), {
-        uploader: this,
+      const latestFile = this.uppy.getFile(file.id);
+      this.uppy.emit("upload-progress", latestFile, {
+        uploadStarted: (_latestFile$progress$ = latestFile.progress.uploadStarted) != null ? _latestFile$progress$ : 0,
         bytesUploaded,
         bytesTotal,
       });
diff --git a/packages/@uppy/url/lib/Url.js b/packages/@uppy/url/lib/Url.js
index 43a8290..f546240 100644
--- a/packages/@uppy/url/lib/Url.js
+++ b/packages/@uppy/url/lib/Url.js
@@ -54,13 +54,6 @@ export default class Url extends UIPlugin {
     this.getMeta = url => {
       return this.client.post("url/meta", {
         url,
-      }).then(res => {
-        if (res.error) {
-          this.uppy.log("[URL] Error:");
-          this.uppy.log(res.error);
-          throw new Error("Failed to fetch the file");
-        }
-        return res;
       });
     };
     this.addFile = async (protocollessUrl, optionalMeta) => {
diff --git a/packages/@uppy/utils/lib/emitSocketProgress.js b/packages/@uppy/utils/lib/emitSocketProgress.js
index f1e62a9..401781d 100644
--- a/packages/@uppy/utils/lib/emitSocketProgress.js
+++ b/packages/@uppy/utils/lib/emitSocketProgress.js
@@ -6,9 +6,10 @@ function emitSocketProgress(uploader, progressData, file) {
     bytesTotal,
   } = progressData;
   if (progress) {
+    var _file$progress$upload;
     uploader.uppy.log(`Upload progress: ${progress}`);
     uploader.uppy.emit("upload-progress", file, {
-      uploader,
+      uploadStarted: (_file$progress$upload = file.progress.uploadStarted) != null ? _file$progress$upload : 0,
       bytesUploaded,
       bytesTotal,
     });
diff --git a/packages/@uppy/webcam/lib/Webcam.js b/packages/@uppy/webcam/lib/Webcam.js
index cca4d3f..f5f9d58 100644
--- a/packages/@uppy/webcam/lib/Webcam.js
+++ b/packages/@uppy/webcam/lib/Webcam.js
@@ -56,7 +56,6 @@ const defaultOptions = {
   modes: ["video-audio", "video-only", "audio-only", "picture"],
   mirror: true,
   showVideoSourceDropdown: false,
-  facingMode: "user",
   preferredImageMimeType: null,
   preferredVideoMimeType: null,
   showRecordingLength: false,
@@ -156,15 +155,10 @@ export default class Webcam extends UIPlugin {
       && (this.opts.modes.indexOf("video-audio") !== -1 || this.opts.modes.indexOf("video-only") !== -1
         || this.opts.modes.indexOf("picture") !== -1);
     const videoConstraints = {
-      ...(this.opts.videoConstraints || {
-        facingMode: this.opts.facingMode,
+      ...(this.opts.videoConstraints || {}),
+      ...(deviceId != null && {
+        deviceId,
       }),
-      ...(deviceId
-        ? {
-          deviceId,
-          facingMode: null,
-        }
-        : {}),
     };
     return {
       audio: acceptsAudio,
@@ -517,7 +511,6 @@ export default class Webcam extends UIPlugin {
     const {
       mobileNativeCamera,
       modes,
-      facingMode,
       videoConstraints,
     } = this.opts;
     const {
@@ -528,7 +521,7 @@ export default class Webcam extends UIPlugin {
       (_this$getTargetPlugin = this.getTargetPlugin(target)) == null || _this$getTargetPlugin.setOptions({
         showNativeVideoCameraButton: isModeAvailable(modes, "video-only") || isModeAvailable(modes, "video-audio"),
         showNativePhotoCameraButton: isModeAvailable(modes, "picture"),
-        nativeCameraFacingMode: (videoConstraints == null ? void 0 : videoConstraints.facingMode) || facingMode,
+        nativeCameraFacingMode: videoConstraints == null ? void 0 : videoConstraints.facingMode,
       });
       return;
     }
diff --git a/packages/@uppy/xhr-upload/lib/index.js b/packages/@uppy/xhr-upload/lib/index.js
index 5e4f20d..8ab78f4 100644
--- a/packages/@uppy/xhr-upload/lib/index.js
+++ b/packages/@uppy/xhr-upload/lib/index.js
@@ -150,8 +150,11 @@ export default class XHRUpload extends BasePlugin {
             onUploadProgress: event => {
               if (event.lengthComputable) {
                 for (const file of files) {
+                  var _file$progress$upload;
                   this.uppy.emit("upload-progress", file, {
-                    uploader: this,
+                    uploadStarted: (_file$progress$upload = file.progress.uploadStarted) != null
+                      ? _file$progress$upload
+                      : 0,
                     bytesUploaded: event.loaded / event.total * file.size,
                     bytesTotal: file.size,
                   });

@mifi mifi requested review from aduh95 and Murderlon May 29, 2024 18:19
Copy link
Member

@aduh95 aduh95 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should split this so the different changes are listed in the README

packages/@uppy/aws-s3/src/MultipartUploader.ts Outdated Show resolved Hide resolved
packages/@uppy/aws-s3/src/index.test.ts Outdated Show resolved Hide resolved
packages/@uppy/core/src/Uppy.ts Outdated Show resolved Hide resolved
@mifi
Copy link
Contributor Author

mifi commented May 29, 2024

We should split this so the different changes are listed in the README

you mean split each commit into its own PR? aren't all commits listed in the commit message when squashed?

do you know an easy way to automate it? we also probably have to do it in #5198 so it would be a lot of manual labour

@Murderlon
Copy link
Member

I'm okay with doing it in one big PR as long as all the changes are written to migration-guides.md in this PR. We want to get this done sooner rather than later, and 25+ PRs is a big slow down.

@aduh95
Copy link
Member

aduh95 commented May 30, 2024

I'm okay with doing it in one big PR

I guess one PR is OK as long we land it in several commits. I'm fine taking the ownership of landing this (same for #5198)

@aduh95 aduh95 force-pushed the companion-4x-breaking-changes branch 2 times, most recently from 2872f22 to 1b1e5c7 Compare May 30, 2024 15:23
Base automatically changed from companion-4x-breaking-changes to 4.x May 30, 2024 15:26
@aduh95
Copy link
Member

aduh95 commented May 31, 2024

I've rebased fef4f90...c7e0c4b, let's land if CI is green

@aduh95 aduh95 merged commit c39ad85 into 4.x May 31, 2024
17 checks passed
@aduh95 aduh95 deleted the uppy-4x-breaking-changes branch May 31, 2024 11:25
Murderlon added a commit that referenced this pull request Jun 4, 2024
* 4.x: (43 commits)
  remove resetProgress and reset-progress (#5221)
  @uppy/audio: remove unused component props (#5209)
  @uppy/angular: fix invalid char in `package.json` (#5224)
  meta: use default argument value instead of `defaultProps` (#5222)
  @uppy/angular: upgrade to Angular 18 (#5215)
  @uppy/utils: remove unused `settle` (#5210)
  @uppy/form: move internal property to private field (#5214)
  @uppy/dashboard: remove unused component props (#5213)
  @uppy/status-bar: remove unused component props (#5211)
  @uppy/audio: move internal property to private field (#5207)
  @uppy/aws-s3: remove todo (#5200)
  @uppy/core: remove unnecessary todo (#5200)
  @uppy/aws-s3: do not expose internal `assertHost` method (#5200)
  @uppy/aws-s3: make passing `signal` consistent (#5200)
  @uppy/core: remove `'upload-started'` event (#5200)
  @uppy/aws-s3: remove `chunkState` getter (#5200)
  @uppy/drop-target: remove `title` property (#5200)
  @uppy/golden-retriever: remove unused `ready` setters (#5200)
  @uppy/dashboard: remove deprecated `autoOpenFileEditor` option (#5200)
  @uppy/aws-s3: remove `uploaderSockets` (#5200)
  ...
Murderlon added a commit that referenced this pull request Jun 4, 2024
* 4.x: (44 commits)
  remove resetProgress and reset-progress (#5221)
  @uppy/audio: remove unused component props (#5209)
  @uppy/angular: fix invalid char in `package.json` (#5224)
  meta: use default argument value instead of `defaultProps` (#5222)
  @uppy/angular: upgrade to Angular 18 (#5215)
  @uppy/utils: remove unused `settle` (#5210)
  @uppy/form: move internal property to private field (#5214)
  @uppy/dashboard: remove unused component props (#5213)
  @uppy/status-bar: remove unused component props (#5211)
  @uppy/audio: move internal property to private field (#5207)
  @uppy/aws-s3: remove todo (#5200)
  @uppy/core: remove unnecessary todo (#5200)
  @uppy/aws-s3: do not expose internal `assertHost` method (#5200)
  @uppy/aws-s3: make passing `signal` consistent (#5200)
  @uppy/core: remove `'upload-started'` event (#5200)
  @uppy/aws-s3: remove `chunkState` getter (#5200)
  @uppy/drop-target: remove `title` property (#5200)
  @uppy/golden-retriever: remove unused `ready` setters (#5200)
  @uppy/dashboard: remove deprecated `autoOpenFileEditor` option (#5200)
  @uppy/aws-s3: remove `uploaderSockets` (#5200)
  ...
github-actions bot added a commit that referenced this pull request Jun 4, 2024
| Package                |       Version | Package                |       Version |
| ---------------------- | ------------- | ---------------------- | ------------- |
| @uppy/angular          |  0.7.0-beta.5 | @uppy/instagram        |  4.0.0-beta.6 |
| @uppy/audio            |  2.0.0-beta.6 | @uppy/locales          |  4.0.0-beta.2 |
| @uppy/aws-s3           |  4.0.0-beta.5 | @uppy/onedrive         |  4.0.0-beta.6 |
| @uppy/aws-s3-multipart |  4.0.0-beta.6 | @uppy/provider-views   |  4.0.0-beta.7 |
| @uppy/box              |  3.0.0-beta.6 | @uppy/status-bar       |  4.0.0-beta.9 |
| @uppy/companion        |  5.0.0-beta.9 | @uppy/transloadit      |  4.0.0-beta.7 |
| @uppy/companion-client |  4.0.0-beta.7 | @uppy/tus              |  4.0.0-beta.6 |
| @uppy/core             |  4.0.0-beta.9 | @uppy/unsplash         |  4.0.0-beta.7 |
| @uppy/dashboard        |  4.0.0-beta.9 | @uppy/url              |  4.0.0-beta.7 |
| @uppy/drop-target      |  3.0.0-beta.5 | @uppy/utils            |  6.0.0-beta.8 |
| @uppy/dropbox          |  4.0.0-beta.7 | @uppy/webcam           |  4.0.0-beta.8 |
| @uppy/facebook         |  4.0.0-beta.6 | @uppy/xhr-upload       |  4.0.0-beta.6 |
| @uppy/form             |  4.0.0-beta.4 | @uppy/zoom             |  3.0.0-beta.6 |
| @uppy/golden-retriever |  4.0.0-beta.5 | uppy                   | 4.0.0-beta.10 |
| @uppy/google-drive     |  4.0.0-beta.6 |                        |               |

- @uppy/audio: remove unused component props (Antoine du Hamel / #5209)
- @uppy/angular: fix invalid char in `package.json` (Antoine du Hamel / #5224)
- meta: use default argument value instead of `defaultProps` (Antoine du Hamel / #5222)
- @uppy/angular: upgrade to Angular 18 (Antoine du Hamel / #5215)
- @uppy/utils: remove unused `settle` (Antoine du Hamel / #5210)
- @uppy/form: move internal property to private field (Antoine du Hamel / #5214)
- @uppy/dashboard: remove unused component props (Antoine du Hamel / #5213)
- @uppy/status-bar: remove unused component props (Antoine du Hamel / #5211)
- @uppy/audio: move internal property to private field (Antoine du Hamel / #5207)
- @uppy/aws-s3: remove todo (Mikael Finstad / #5200)
- @uppy/core: remove unnecessary todo (Mikael Finstad / #5200)
- @uppy/aws-s3: do not expose internal `assertHost` method (Mikael Finstad / #5200)
- @uppy/aws-s3: make passing `signal` consistent (Mikael Finstad / #5200)
- @uppy/core: remove `'upload-started'` event (Mikael Finstad / #5200)
- @uppy/aws-s3: remove `chunkState` getter (Mikael Finstad / #5200)
- @uppy/drop-target: remove `title` property (Mikael Finstad / #5200)
- @uppy/golden-retriever: remove unused `ready` setters (Mikael Finstad / #5200)
- @uppy/dashboard: remove deprecated `autoOpenFileEditor` option (Mikael Finstad / #5200)
- @uppy/aws-s3: remove `uploaderSockets` (Mikael Finstad / #5200)
- @uppy/locales: remove hacks for legacy bundle (Mikael Finstad / #5200)
- @uppy/status-bar: rename `StatusBar` to `StatusBarUI` (Mikael Finstad / #5200)
- @uppy/url: remove unused error handler (Mikael Finstad / #5200)
- @uppy/aws-s3,@uppy/tus,@uppy/utils,@uppy/xhr-upload: remove `uploader` from `upload-progress` event (Mikael Finstad / #5200)
- @uppy/webcam: remove `facingMode` option (Mikael Finstad / #5200)
- @uppy/companion: invert some internal boolean options (Mikael Finstad / #5198)
- @uppy/companion: rename `authProvider` to `oauthProvider` (Mikael Finstad / #5198)
- @uppy/companion: remove unused headers (Mikael Finstad / #5198)
- @uppy/companion: remove sanitizing of metadata (Mikael Finstad / #5198)
- @uppy/companion-client: do not allow boolean `RequestOptions` (Mikael Finstad / #5198)
- @uppy/companion-client: remove deprecated options (Mikael Finstad / #5198)
- @uppy/companion: remove `error.extraData` (Mikael Finstad / #5198)
- @uppy/companion-client: make `supportsRefreshToken` default (Mikael Finstad / #5198)
- @uppy/companion-client: remove optional chaining (Mikael Finstad / #5198)
- @uppy/companion: capitalize POST (Mikael Finstad / #5198)
- @uppy/companion: simplify code by using modern Node.js APIs (Mikael Finstad / #5198)
- @uppy/companion-client: remove `Socket` (Mikael Finstad / #5198)
- @uppy/companion: rename `getExtraConfig` to `getExtraGrantConfig` (Mikael Finstad / #5198)
- @uppy/companion: change `COMPANION_ENABLE_URL_ENDPOINT` default (Mikael Finstad / #5198)
- @uppy/companion: change default value for Redis session prefix (Mikael Finstad / #5198)
- examples: make React example up-to-date (Merlijn Vos / #5205)
- @uppy/core: add type tests (Merlijn Vos / #5153)
- @uppy/provider-views: PartialTree - get rid of `.onFirstRender()` (Evgenia Karunus / #5187)
- @uppy/core: pass file to events consistently (Merlijn Vos / #5136)
- docs: assume tree-shaking bundler is the most common case (Antoine du Hamel / #5160)
- @uppy/core: remove `reason` (Antoine du Hamel / #5159)
- @uppy/core: remove `resetProgress` and `reset-progress` (Mikael Finstad / #5221)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants