From 92380bf25e821e7c45fce24b26af822a3f9859aa Mon Sep 17 00:00:00 2001 From: Artur Paikin Date: Fri, 29 Jul 2022 01:09:10 +0100 Subject: [PATCH 01/11] website: Docs and header fix (#3920) * Remote sources typo + website mobile header fix * Fix support url --- website/src/_template/integration_help.md | 2 +- website/src/docs/remote-sources.md | 2 +- website/themes/uppy/source/css/_common.scss | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/website/src/_template/integration_help.md b/website/src/_template/integration_help.md index 841eb263fe..5eedaff00e 100644 --- a/website/src/_template/integration_help.md +++ b/website/src/_template/integration_help.md @@ -6,4 +6,4 @@ We offer also a different category of support that we like to call Integration H As much as we at Transloadit would like to provide detailed Integration Help to every non-paying user, Uppy has reached a point where this is no longer sustainable for our small crew. If we end up investing our time in a million different apps that use Uppy, as long as no money is flowing back, we won’t be able to ramp up our team to meet the demand. This would spread the team ever thinner and eventually grind development to a halt. -That is not where we want to be. So, to offer enthusiasts, businesses, and enterprises help in a sustainable way, we’re providing community-based Integration Help for free at . If you are unable to solve your problem with help of the Uppy community, we offer paid Integration Help via . +That is not where we want to be. So, to offer enthusiasts, businesses, and enterprises help in a sustainable way, we’re providing community-based Integration Help for free at . If you are unable to solve your problem with help of the Uppy community, we offer paid Integration Help via . diff --git a/website/src/docs/remote-sources.md b/website/src/docs/remote-sources.md index c902e43ad0..311458a6f9 100644 --- a/website/src/docs/remote-sources.md +++ b/website/src/docs/remote-sources.md @@ -15,7 +15,7 @@ tagline: "Uppy plugin that includes all remote sources that Uppy+Companion offer ```js import Uppy from '@uppy/core' import Dashbaord from '@uppy/dashboard' -import RemoteSources from '@uppy/compressor' +import RemoteSources from '@uppy/remote-sources' const uppy = new Uppy() uppy.use(Dashboard) diff --git a/website/themes/uppy/source/css/_common.scss b/website/themes/uppy/source/css/_common.scss index 07d172b238..874ca442b2 100644 --- a/website/themes/uppy/source/css/_common.scss +++ b/website/themes/uppy/source/css/_common.scss @@ -309,7 +309,7 @@ hr { } &-about { - display: flex; + // display: flex; align-items: center; justify-content: center; } From c1a09fe204c96da19e5c595db1ac0d859afb5f6a Mon Sep 17 00:00:00 2001 From: Artur Paikin Date: Fri, 29 Jul 2022 14:34:34 +0100 Subject: [PATCH 02/11] Fix Robodog CDN url in readme.md (#3922) --- packages/@uppy/robodog/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/@uppy/robodog/README.md b/packages/@uppy/robodog/README.md index 0df10f71fd..ac7659bf07 100644 --- a/packages/@uppy/robodog/README.md +++ b/packages/@uppy/robodog/README.md @@ -18,8 +18,8 @@ $ npm install @uppy/robodog Alternatively, you can also use this package in a pre-built bundle from Transloadit’s CDN: Edgly. ```html - - + + ``` Then, a global `Robodog` variable will be available. For usage instructions, please see the [main Robodog documentation](https://uppy.io/docs/robodog). From 3dcbae73c74b9798ea89716826779386eccc1082 Mon Sep 17 00:00:00 2001 From: Ikko Ashimine Date: Fri, 29 Jul 2022 22:35:32 +0900 Subject: [PATCH 03/11] doc: Fix typo in image-editor.md (#3921) therefor -> therefore --- website/src/docs/image-editor.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/src/docs/image-editor.md b/website/src/docs/image-editor.md index 8decd5e5e0..2c4968ede5 100644 --- a/website/src/docs/image-editor.md +++ b/website/src/docs/image-editor.md @@ -89,7 +89,7 @@ Quality of the resulting blob that will be saved in Uppy after editing/cropping. ### `cropperOptions` Image Editor is using the excellent [Cropper.js](https://fengyuanchen.github.io/cropperjs/). -`cropperOptions` will be directly passed to `Cropper` and therefor can expect the same values as documented +`cropperOptions` will be directly passed to `Cropper` and therefore can expect the same values as documented in their [README](https://github.com/fengyuanchen/cropperjs/blob/HEAD/README.md#options), with the addition of `croppedCanvasOptions`, which will be passed to [`getCroppedCanvas`](https://github.com/fengyuanchen/cropperjs/blob/HEAD/README.md#getcroppedcanvasoptions). From 6531df67df3ca464ea045b19972a1e1b076d2099 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Sun, 31 Jul 2022 15:49:49 +0200 Subject: [PATCH 04/11] doc: fix linter failure in `image-editor.md` (#3924) * Revert "doc: Fix typo in image-editor.md (#3921)" This reverts commit 3dcbae73c74b9798ea89716826779386eccc1082. * Update image-editor.md --- website/src/docs/image-editor.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/src/docs/image-editor.md b/website/src/docs/image-editor.md index 2c4968ede5..4b7511cbb1 100644 --- a/website/src/docs/image-editor.md +++ b/website/src/docs/image-editor.md @@ -89,7 +89,7 @@ Quality of the resulting blob that will be saved in Uppy after editing/cropping. ### `cropperOptions` Image Editor is using the excellent [Cropper.js](https://fengyuanchen.github.io/cropperjs/). -`cropperOptions` will be directly passed to `Cropper` and therefore can expect the same values as documented +`cropperOptions` will be directly passed to `Cropper` and thus can expect the same values as documented in their [README](https://github.com/fengyuanchen/cropperjs/blob/HEAD/README.md#options), with the addition of `croppedCanvasOptions`, which will be passed to [`getCroppedCanvas`](https://github.com/fengyuanchen/cropperjs/blob/HEAD/README.md#getcroppedcanvasoptions). From f5d5e8bb096c8367d6d587940cff2fbb69a97c2f Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Sun, 31 Jul 2022 15:50:19 +0200 Subject: [PATCH 05/11] @uppy/tus: fix dependencies (#3923) `@jest/globals` should be in the `devDependencies` list, not in the `peerDependencies`. Refs: https://community.transloadit.com/t/why-is-jest-globals-a-peer-dependency-of-every-uppy-package/16182/1 --- packages/@uppy/tus/package.json | 4 +++- yarn.lock | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/@uppy/tus/package.json b/packages/@uppy/tus/package.json index ef5a8eb948..8af5aa7e1c 100644 --- a/packages/@uppy/tus/package.json +++ b/packages/@uppy/tus/package.json @@ -27,8 +27,10 @@ "@uppy/utils": "workspace:^", "tus-js-client": "^2.1.1" }, + "devDependencies": { + "@jest/globals": "^27.4.2" + }, "peerDependencies": { - "@jest/globals": "^27.4.2", "@uppy/core": "workspace:^" } } diff --git a/yarn.lock b/yarn.lock index a528c40a8d..9d07aabd30 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10498,11 +10498,11 @@ __metadata: version: 0.0.0-use.local resolution: "@uppy/tus@workspace:packages/@uppy/tus" dependencies: + "@jest/globals": ^27.4.2 "@uppy/companion-client": "workspace:^" "@uppy/utils": "workspace:^" tus-js-client: ^2.1.1 peerDependencies: - "@jest/globals": ^27.4.2 "@uppy/core": "workspace:^" languageName: unknown linkType: soft From 976be39cee26227151bed6b0f01eea709e14ff4f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Aug 2022 16:02:55 +0100 Subject: [PATCH 06/11] Bump guzzlehttp/guzzle from 7.4.1 to 7.4.5 in /examples/aws-presigned-url (#3842) Bump guzzlehttp/guzzle in /examples/aws-presigned-url Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.1 to 7.4.5. - [Release notes](https://github.com/guzzle/guzzle/releases) - [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md) - [Commits](https://github.com/guzzle/guzzle/compare/7.4.1...7.4.5) --- updated-dependencies: - dependency-name: guzzlehttp/guzzle dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- examples/aws-presigned-url/composer.lock | 87 ++++++++++++------------ 1 file changed, 45 insertions(+), 42 deletions(-) diff --git a/examples/aws-presigned-url/composer.lock b/examples/aws-presigned-url/composer.lock index df8ef8ef3e..b82773cfac 100644 --- a/examples/aws-presigned-url/composer.lock +++ b/examples/aws-presigned-url/composer.lock @@ -149,22 +149,22 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.4.1", + "version": "7.4.5", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "ee0a041b1760e6a53d2a39c8c34115adc2af2c79" + "reference": "1dd98b0564cb3f6bd16ce683cb755f94c10fbd82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/ee0a041b1760e6a53d2a39c8c34115adc2af2c79", - "reference": "ee0a041b1760e6a53d2a39c8c34115adc2af2c79", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/1dd98b0564cb3f6bd16ce683cb755f94c10fbd82", + "reference": "1dd98b0564cb3f6bd16ce683cb755f94c10fbd82", "shasum": "" }, "require": { "ext-json": "*", "guzzlehttp/promises": "^1.5", - "guzzlehttp/psr7": "^1.8.3 || ^2.1", + "guzzlehttp/psr7": "^1.9 || ^2.4", "php": "^7.2.5 || ^8.0", "psr/http-client": "^1.0", "symfony/deprecation-contracts": "^2.2 || ^3.0" @@ -191,12 +191,12 @@ } }, "autoload": { - "psr-4": { - "GuzzleHttp\\": "src/" - }, "files": [ "src/functions_include.php" - ] + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -253,7 +253,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.4.1" + "source": "https://github.com/guzzle/guzzle/tree/7.4.5" }, "funding": [ { @@ -269,7 +269,7 @@ "type": "tidelift" } ], - "time": "2021-12-06T18:43:05+00:00" + "time": "2022-06-20T22:16:13+00:00" }, { "name": "guzzlehttp/promises", @@ -298,12 +298,12 @@ } }, "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, "files": [ "src/functions_include.php" - ] + ], + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -357,16 +357,16 @@ }, { "name": "guzzlehttp/psr7", - "version": "2.1.0", + "version": "2.4.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72" + "reference": "13388f00956b1503577598873fffb5ae994b5737" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/089edd38f5b8abba6cb01567c2a8aaa47cec4c72", - "reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/13388f00956b1503577598873fffb5ae994b5737", + "reference": "13388f00956b1503577598873fffb5ae994b5737", "shasum": "" }, "require": { @@ -390,7 +390,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "2.4-dev" } }, "autoload": { @@ -452,7 +452,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.1.0" + "source": "https://github.com/guzzle/psr7/tree/2.4.0" }, "funding": [ { @@ -468,7 +468,7 @@ "type": "tidelift" } ], - "time": "2021-10-06T17:43:30+00:00" + "time": "2022-06-20T21:43:11+00:00" }, { "name": "mtdowling/jmespath.php", @@ -737,25 +737,25 @@ }, { "name": "symfony/deprecation-contracts", - "version": "v3.0.0", + "version": "v2.5.1", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "c726b64c1ccfe2896cb7df2e1331c357ad1c8ced" + "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/c726b64c1ccfe2896cb7df2e1331c357ad1c8ced", - "reference": "c726b64c1ccfe2896cb7df2e1331c357ad1c8ced", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66", + "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66", "shasum": "" }, "require": { - "php": ">=8.0.2" + "php": ">=7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "2.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -784,7 +784,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.0.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.1" }, "funding": [ { @@ -800,32 +800,35 @@ "type": "tidelift" } ], - "time": "2021-11-01T23:48:49+00:00" + "time": "2022-01-02T09:53:40+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.23.1", + "version": "v1.26.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6" + "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6", - "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e", + "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e", "shasum": "" }, "require": { "php": ">=7.1" }, + "provide": { + "ext-mbstring": "*" + }, "suggest": { "ext-mbstring": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.26-dev" }, "thanks": { "name": "symfony/polyfill", @@ -833,12 +836,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -864,7 +867,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.26.0" }, "funding": [ { @@ -880,7 +883,7 @@ "type": "tidelift" } ], - "time": "2021-05-27T12:26:48+00:00" + "time": "2022-05-24T11:49:31+00:00" } ], "packages-dev": [], @@ -891,5 +894,5 @@ "prefer-lowest": false, "platform": [], "platform-dev": [], - "plugin-api-version": "2.1.0" + "plugin-api-version": "2.3.0" } From e72b7de585f6ff540ec8e4276c2f279946a94b98 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Tue, 2 Aug 2022 13:02:06 +0200 Subject: [PATCH 07/11] e2e: fix Transloadit test suite with Cypress 10 (#3936) --- e2e/cypress/integration/dashboard-transloadit.spec.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/e2e/cypress/integration/dashboard-transloadit.spec.ts b/e2e/cypress/integration/dashboard-transloadit.spec.ts index ade35cd048..5ece6bbcc8 100644 --- a/e2e/cypress/integration/dashboard-transloadit.spec.ts +++ b/e2e/cypress/integration/dashboard-transloadit.spec.ts @@ -45,7 +45,7 @@ describe('Dashboard with Transloadit', () => { }) it('should not create assembly when all individual files have been cancelled', () => { - cy.get('@file-input').attachFile(['images/cat.jpg', 'images/traffic.jpg']) + cy.get('@file-input').selectFile(['cypress/fixtures/images/cat.jpg', 'cypress/fixtures/images/traffic.jpg'], { force: true }) cy.get('.uppy-StatusBar-actionBtn--upload').click() cy.window().then(({ uppy }) => { @@ -62,7 +62,7 @@ describe('Dashboard with Transloadit', () => { // Not working, the upstream changes have not landed yet. it.skip('should create assembly if there is still one file to upload', () => { - cy.get('@file-input').attachFile(['images/cat.jpg', 'images/traffic.jpg']) + cy.get('@file-input').selectFile(['cypress/fixtures/images/cat.jpg', 'cypress/fixtures/images/traffic.jpg'], { force:true }) cy.get('.uppy-StatusBar-actionBtn--upload').click() cy.window().then(({ uppy }) => { @@ -81,7 +81,7 @@ describe('Dashboard with Transloadit', () => { // Not working, the upstream changes have not landed yet. it.skip('should complete upload if one gets cancelled mid-flight', () => { - cy.get('@file-input').attachFile(['images/cat.jpg', 'images/traffic.jpg']) + cy.get('@file-input').selectFile(['cypress/fixtures/images/cat.jpg', 'cypress/fixtures/images/traffic.jpg'], { force:true }) cy.get('.uppy-StatusBar-actionBtn--upload').click() cy.wait('@createAssemblies') From a6d6f0bb94624f55f6c2c50d69936745355bae9a Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Tue, 2 Aug 2022 18:27:27 +0200 Subject: [PATCH 08/11] meta: `keepNames` in bundle (#3926) We rely on `.name` for the `@uppy/remote-sources` plugin. --- bin/build-bundle.mjs | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/build-bundle.mjs b/bin/build-bundle.mjs index 6474615abb..4038fef21f 100644 --- a/bin/build-bundle.mjs +++ b/bin/build-bundle.mjs @@ -20,6 +20,7 @@ function buildBundle (srcFile, bundleFile, { minify = true, standalone = '', plu js: '"use strict";', }, minify, + keepNames: true, plugins, target, }).then(() => { From 376e3aa8f7877aaf3e883ad58287e8ee61f7c8be Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Tue, 2 Aug 2022 18:28:58 +0200 Subject: [PATCH 09/11] @uppy/transloadit: send `assembly-cancelled` only once (#3937) --- .../integration/dashboard-transloadit.spec.ts | 49 ++++++++++++++++++- packages/@uppy/transloadit/src/index.js | 3 +- 2 files changed, 48 insertions(+), 4 deletions(-) diff --git a/e2e/cypress/integration/dashboard-transloadit.spec.ts b/e2e/cypress/integration/dashboard-transloadit.spec.ts index 5ece6bbcc8..9e08920941 100644 --- a/e2e/cypress/integration/dashboard-transloadit.spec.ts +++ b/e2e/cypress/integration/dashboard-transloadit.spec.ts @@ -18,6 +18,8 @@ describe('Dashboard with Transloadit', () => { }) it('should close assembly polling when cancelled', () => { + const spy = cy.spy() + cy.get('@file-input').selectFile(['cypress/fixtures/images/cat.jpg', 'cypress/fixtures/images/traffic.jpg'], { force:true }) cy.get('.uppy-StatusBar-actionBtn--upload').click() @@ -30,11 +32,15 @@ describe('Dashboard with Transloadit', () => { { statusCode: 204, body: {} }, ) cy.intercept( - { method: 'DELETE', pathname: '/resumable/files/*', times: 1 }, + { method: 'DELETE', pathname: '/resumable/files/*', times: 2 }, { statusCode: 204, body: {} }, - ) + ).as('fileDeletion') + cy.intercept( + { method: 'DELETE', pathname: '/assemblies/*', times: 1 }, + ).as('assemblyDeletion') cy.wait('@assemblyPolling') cy.window().then(({ uppy }) => { + uppy.on('transloadit:assembly-cancelled', spy) expect(Object.values(uppy.getPlugin('Transloadit').activeAssemblies).every((a: any) => a.pollInterval)).to.equal(true) }) cy.get('button[data-cy=cancel]').click() @@ -42,6 +48,45 @@ describe('Dashboard with Transloadit', () => { cy.window().then(({ uppy }) => { expect(Object.values(uppy.getPlugin('Transloadit').activeAssemblies).some((a: any) => a.pollInterval)).to.equal(false) }) + cy.wait('@assemblyDeletion').then(() => { + expect(spy).to.be.calledOnce + }) + }) + + it('should close assembly polling when all files are removed', () => { + const spy = cy.stub() + + cy.get('@file-input').selectFile(['cypress/fixtures/images/cat.jpg', 'cypress/fixtures/images/traffic.jpg'], { force:true }) + cy.get('.uppy-StatusBar-actionBtn--upload').click() + + cy.intercept({ + method: 'GET', + url: '/assemblies/*', + }).as('assemblyPolling') + cy.intercept( + { method: 'PATCH', pathname: '/files/*', times: 1 }, + { statusCode: 204, body: {} }, + ) + cy.intercept( + { method: 'DELETE', pathname: '/resumable/files/*', times: 2 }, + { statusCode: 204, body: {} }, + ).as('fileDeletion') + cy.intercept( + { method: 'DELETE', pathname: '/assemblies/*', times: 1 }, + ).as('assemblyDeletion') + cy.wait('@assemblyPolling') + cy.window().then(({ uppy }) => { + uppy.on('transloadit:assembly-cancelled', spy) + expect(Object.values(uppy.getPlugin('Transloadit').activeAssemblies).every((a: any) => a.pollInterval)).to.equal(true) + + const { files } = uppy.getState() + uppy.removeFiles(Object.keys(files)) + + cy.wait('@assemblyDeletion').then(() => { + expect(Object.values(uppy.getPlugin('Transloadit').activeAssemblies).some((a: any) => a.pollInterval)).to.equal(false) + expect(spy).to.be.calledOnce + }) + }) }) it('should not create assembly when all individual files have been cancelled', () => { diff --git a/packages/@uppy/transloadit/src/index.js b/packages/@uppy/transloadit/src/index.js index 22a664493b..7eeeac7b28 100644 --- a/packages/@uppy/transloadit/src/index.js +++ b/packages/@uppy/transloadit/src/index.js @@ -238,14 +238,13 @@ export default class Transloadit extends BasePlugin { const fileRemovedHandler = (fileRemoved, reason) => { if (reason === 'cancel-all') { assembly.close() - this.client.cancelAssembly(newAssembly).catch(() => { /* ignore potential errors */ }) this.uppy.off(fileRemovedHandler) } else if (fileRemoved.id in updatedFiles) { delete updatedFiles[fileRemoved.id] const nbOfRemainingFiles = Object.keys(updatedFiles).length if (nbOfRemainingFiles === 0) { assembly.close() - this.client.cancelAssembly(newAssembly).catch(() => { /* ignore potential errors */ }) + this.#cancelAssembly(newAssembly).catch(() => { /* ignore potential errors */ }) this.uppy.off(fileRemovedHandler) } else { this.client.updateNumberOfFilesInAssembly(newAssembly, nbOfRemainingFiles) From 55581bcf77d1d949a774f557be47ad31bc7a9275 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 2 Aug 2022 18:00:48 +0100 Subject: [PATCH 10/11] Release: uppy@2.13.2 (#3939) | Package | Version | Package | Version | | ----------------- | ------- | ----------------- | ------- | | @uppy/transloadit | 2.3.6 | @uppy/robodog | 2.9.2 | | @uppy/tus | 2.4.2 | uppy | 2.13.2 | - @uppy/transloadit: send `assembly-cancelled` only once (Antoine du Hamel / #3937) - meta: `keepNames` in bundle (Antoine du Hamel / #3926) - meta: e2e: fix Transloadit test suite with Cypress 10 (Antoine du Hamel / #3936) - meta: Bump guzzlehttp/guzzle from 7.4.1 to 7.4.5 in /examples/aws-presigned-url (dependabot[bot] / #3842) - @uppy/tus: fix dependencies (Antoine du Hamel / #3923) - meta: doc: fix linter failure in `image-editor.md` (Antoine du Hamel / #3924) - meta: doc: Fix typo in image-editor.md (Ikko Ashimine / #3921) - @uppy/robodog: Fix Robodog CDN url in readme.md (Artur Paikin / #3922) - website: Docs and header fix (Artur Paikin / #3920) --- BUNDLE-README.md | 2 +- CHANGELOG.md | 20 ++++++++++ README.md | 37 ++++++++++--------- examples/cdn-example/index.html | 4 +- examples/transloadit-textarea/index.html | 2 +- .../uppy-with-companion/client/index.html | 4 +- packages/@uppy/robodog/CHANGELOG.md | 7 ++++ packages/@uppy/robodog/README.md | 4 +- packages/@uppy/robodog/package.json | 2 +- packages/@uppy/transloadit/CHANGELOG.md | 7 ++++ packages/@uppy/transloadit/package.json | 2 +- packages/@uppy/tus/CHANGELOG.md | 7 ++++ packages/@uppy/tus/package.json | 2 +- packages/uppy/package.json | 2 +- website/src/docs/index.md | 10 ++--- website/src/docs/locales.md | 2 +- website/src/docs/migration-guides.md | 6 +-- website/src/docs/robodog-form.md | 6 +-- website/src/docs/robodog.md | 4 +- website/src/examples/i18n/app.html | 6 +-- .../src/examples/markdown-snippets/app.es6 | 2 +- .../src/examples/markdown-snippets/app.html | 2 +- website/themes/uppy/layout/index.ejs | 6 +-- 23 files changed, 94 insertions(+), 52 deletions(-) diff --git a/BUNDLE-README.md b/BUNDLE-README.md index a9df210430..0592a33363 100644 --- a/BUNDLE-README.md +++ b/BUNDLE-README.md @@ -1,7 +1,7 @@ # Uppy Hi, thanks for trying out the bundled version of the Uppy File Uploader. You can use -this from a CDN (``) or bundle it with your webapp. +this from a CDN (``) or bundle it with your webapp. Note that the recommended way to use Uppy is to install it with yarn/npm and use a bundler like Webpack so that you can create a smaller custom build with only the diff --git a/CHANGELOG.md b/CHANGELOG.md index c8edfb6ed8..f72614548f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,26 @@ Please add your entries in this format: In the current stage we aim to release a new version at least every month. +## 2.13.2 + +Released: 2022-08-02 + +| Package | Version | Package | Version | +| ----------------- | ------- | ----------------- | ------- | +| @uppy/transloadit | 2.3.6 | @uppy/robodog | 2.9.2 | +| @uppy/tus | 2.4.2 | uppy | 2.13.2 | + +- @uppy/transloadit: send `assembly-cancelled` only once (Antoine du Hamel / #3937) +- meta: `keepNames` in bundle (Antoine du Hamel / #3926) +- meta: e2e: fix Transloadit test suite with Cypress 10 (Antoine du Hamel / #3936) +- meta: Bump guzzlehttp/guzzle from 7.4.1 to 7.4.5 in /examples/aws-presigned-url (dependabot[bot] / #3842) +- @uppy/tus: fix dependencies (Antoine du Hamel / #3923) +- meta: doc: fix linter failure in `image-editor.md` (Antoine du Hamel / #3924) +- meta: doc: Fix typo in image-editor.md (Ikko Ashimine / #3921) +- @uppy/robodog: Fix Robodog CDN url in readme.md (Artur Paikin / #3922) +- website: Docs and header fix (Artur Paikin / #3920) + + ## 2.13.1 Released: 2022-07-27 diff --git a/README.md b/README.md index 54909311c9..dbec12507c 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ const uppy = new Uppy({ autoProceed: false }) $ npm install @uppy/core @uppy/dashboard @uppy/tus ``` -Add CSS [uppy.min.css](https://releases.transloadit.com/uppy/v2.13.1/uppy.min.css), either to your HTML page’s `` or include in JS, if your bundler of choice supports it. +Add CSS [uppy.min.css](https://releases.transloadit.com/uppy/v2.13.2/uppy.min.css), either to your HTML page’s `` or include in JS, if your bundler of choice supports it. Alternatively, you can also use a pre-built bundle from Transloadit’s CDN: Edgly. In that case `Uppy` will attach itself to the global `window.Uppy` object. @@ -75,10 +75,10 @@ Alternatively, you can also use a pre-built bundle from Transloadit’s CDN: Edg ```html - + - +
@@ -184,7 +184,7 @@ If you’re using Uppy from CDN, those polyfills are already included in the leg bundle, so no need to include anything additionally: ```html - + ``` ## FAQ @@ -250,9 +250,9 @@ Use Uppy in your project? [Let us know](https://github.com/transloadit/uppy/issu :---: |:---: |:---: |:---: |:---: |:---: | [AJvanLoon](https://github.com/AJvanLoon) |[nqst](https://github.com/nqst) |[Murderlon](https://github.com/Murderlon) |[mifi](https://github.com/mifi) |[lakesare](https://github.com/lakesare) |[kiloreux](https://github.com/kiloreux) | -[sadovnychyi](https://github.com/sadovnychyi) |[samuelayo](https://github.com/samuelayo) |[richardwillars](https://github.com/richardwillars) |[github-actions[bot]](https://github.com/apps/github-actions) |[ajkachnic](https://github.com/ajkachnic) |[dependabot[bot]](https://github.com/apps/dependabot) | +[sadovnychyi](https://github.com/sadovnychyi) |[samuelayo](https://github.com/samuelayo) |[github-actions[bot]](https://github.com/apps/github-actions) |[richardwillars](https://github.com/richardwillars) |[ajkachnic](https://github.com/ajkachnic) |[dependabot[bot]](https://github.com/apps/dependabot) | :---: |:---: |:---: |:---: |:---: |:---: | -[sadovnychyi](https://github.com/sadovnychyi) |[samuelayo](https://github.com/samuelayo) |[richardwillars](https://github.com/richardwillars) |[github-actions\[bot\]](https://github.com/apps/github-actions) |[ajkachnic](https://github.com/ajkachnic) |[dependabot\[bot\]](https://github.com/apps/dependabot) | +[sadovnychyi](https://github.com/sadovnychyi) |[samuelayo](https://github.com/samuelayo) |[github-actions\[bot\]](https://github.com/apps/github-actions) |[richardwillars](https://github.com/richardwillars) |[ajkachnic](https://github.com/ajkachnic) |[dependabot\[bot\]](https://github.com/apps/dependabot) | [zcallan](https://github.com/zcallan) |[tim-kos](https://github.com/tim-kos) |[YukeshShr](https://github.com/YukeshShr) |[janko](https://github.com/janko) |[wilkoklak](https://github.com/wilkoklak) |[oliverpool](https://github.com/oliverpool) | :---: |:---: |:---: |:---: |:---: |:---: | @@ -270,25 +270,25 @@ Use Uppy in your project? [Let us know](https://github.com/transloadit/uppy/issu :---: |:---: |:---: |:---: |:---: |:---: | [juliangruber](https://github.com/juliangruber) |[bertho-zero](https://github.com/bertho-zero) |[tranvansang](https://github.com/tranvansang) |[ap--](https://github.com/ap--) |[MikeKovarik](https://github.com/MikeKovarik) |[pauln](https://github.com/pauln) | -[toadkicker](https://github.com/toadkicker) |[ofhope](https://github.com/ofhope) |[johnnyperkins](https://github.com/johnnyperkins) |[dargmuesli](https://github.com/dargmuesli) |[manuelkiessling](https://github.com/manuelkiessling) |[nndevstudio](https://github.com/nndevstudio) | +[toadkicker](https://github.com/toadkicker) |[ofhope](https://github.com/ofhope) |[eltociear](https://github.com/eltociear) |[johnnyperkins](https://github.com/johnnyperkins) |[dargmuesli](https://github.com/dargmuesli) |[manuelkiessling](https://github.com/manuelkiessling) | :---: |:---: |:---: |:---: |:---: |:---: | -[toadkicker](https://github.com/toadkicker) |[ofhope](https://github.com/ofhope) |[johnnyperkins](https://github.com/johnnyperkins) |[dargmuesli](https://github.com/dargmuesli) |[manuelkiessling](https://github.com/manuelkiessling) |[nndevstudio](https://github.com/nndevstudio) | +[toadkicker](https://github.com/toadkicker) |[ofhope](https://github.com/ofhope) |[eltociear](https://github.com/eltociear) |[johnnyperkins](https://github.com/johnnyperkins) |[dargmuesli](https://github.com/dargmuesli) |[manuelkiessling](https://github.com/manuelkiessling) | -[ogtfaber](https://github.com/ogtfaber) |[sksavant](https://github.com/sksavant) |[suchoproduction](https://github.com/suchoproduction) |[timodwhit](https://github.com/timodwhit) |[yonahforst](https://github.com/yonahforst) |[a-kriya](https://github.com/a-kriya) | +[nndevstudio](https://github.com/nndevstudio) |[ogtfaber](https://github.com/ogtfaber) |[sksavant](https://github.com/sksavant) |[suchoproduction](https://github.com/suchoproduction) |[timodwhit](https://github.com/timodwhit) |[yonahforst](https://github.com/yonahforst) | :---: |:---: |:---: |:---: |:---: |:---: | -[ogtfaber](https://github.com/ogtfaber) |[sksavant](https://github.com/sksavant) |[suchoproduction](https://github.com/suchoproduction) |[timodwhit](https://github.com/timodwhit) |[yonahforst](https://github.com/yonahforst) |[a-kriya](https://github.com/a-kriya) | +[nndevstudio](https://github.com/nndevstudio) |[ogtfaber](https://github.com/ogtfaber) |[sksavant](https://github.com/sksavant) |[suchoproduction](https://github.com/suchoproduction) |[timodwhit](https://github.com/timodwhit) |[yonahforst](https://github.com/yonahforst) | -[bencergazda](https://github.com/bencergazda) |[stephentuso](https://github.com/stephentuso) |[jhen0409](https://github.com/jhen0409) |[mskelton](https://github.com/mskelton) |[ahmedkandel](https://github.com/ahmedkandel) |[btrice](https://github.com/btrice) | +[a-kriya](https://github.com/a-kriya) |[bencergazda](https://github.com/bencergazda) |[stephentuso](https://github.com/stephentuso) |[jhen0409](https://github.com/jhen0409) |[mskelton](https://github.com/mskelton) |[ahmedkandel](https://github.com/ahmedkandel) | :---: |:---: |:---: |:---: |:---: |:---: | -[bencergazda](https://github.com/bencergazda) |[stephentuso](https://github.com/stephentuso) |[jhen0409](https://github.com/jhen0409) |[mskelton](https://github.com/mskelton) |[ahmedkandel](https://github.com/ahmedkandel) |[btrice](https://github.com/btrice) | +[a-kriya](https://github.com/a-kriya) |[bencergazda](https://github.com/bencergazda) |[stephentuso](https://github.com/stephentuso) |[jhen0409](https://github.com/jhen0409) |[mskelton](https://github.com/mskelton) |[ahmedkandel](https://github.com/ahmedkandel) | -[behnammodi](https://github.com/behnammodi) |[BePo65](https://github.com/BePo65) |[bradedelman](https://github.com/bradedelman) |[Burkes](https://github.com/Burkes) |[camiloforero](https://github.com/camiloforero) |[craigjennings11](https://github.com/craigjennings11) | +[btrice](https://github.com/btrice) |[behnammodi](https://github.com/behnammodi) |[BePo65](https://github.com/BePo65) |[bradedelman](https://github.com/bradedelman) |[Burkes](https://github.com/Burkes) |[camiloforero](https://github.com/camiloforero) | :---: |:---: |:---: |:---: |:---: |:---: | -[behnammodi](https://github.com/behnammodi) |[BePo65](https://github.com/BePo65) |[bradedelman](https://github.com/bradedelman) |[Burkes](https://github.com/Burkes) |[camiloforero](https://github.com/camiloforero) |[craigjennings11](https://github.com/craigjennings11) | +[btrice](https://github.com/btrice) |[behnammodi](https://github.com/behnammodi) |[BePo65](https://github.com/BePo65) |[bradedelman](https://github.com/bradedelman) |[Burkes](https://github.com/Burkes) |[camiloforero](https://github.com/camiloforero) | -[davekiss](https://github.com/davekiss) |[DenysNosov](https://github.com/DenysNosov) |[ethanwillis](https://github.com/ethanwillis) |[frobinsonj](https://github.com/frobinsonj) |[geertclerx](https://github.com/geertclerx) |[eltociear](https://github.com/eltociear) | +[craigjennings11](https://github.com/craigjennings11) |[davekiss](https://github.com/davekiss) |[DenysNosov](https://github.com/DenysNosov) |[ethanwillis](https://github.com/ethanwillis) |[frobinsonj](https://github.com/frobinsonj) |[geertclerx](https://github.com/geertclerx) | :---: |:---: |:---: |:---: |:---: |:---: | -[davekiss](https://github.com/davekiss) |[DenysNosov](https://github.com/DenysNosov) |[ethanwillis](https://github.com/ethanwillis) |[frobinsonj](https://github.com/frobinsonj) |[geertclerx](https://github.com/geertclerx) |[eltociear](https://github.com/eltociear) | +[craigjennings11](https://github.com/craigjennings11) |[davekiss](https://github.com/davekiss) |[DenysNosov](https://github.com/DenysNosov) |[ethanwillis](https://github.com/ethanwillis) |[frobinsonj](https://github.com/frobinsonj) |[geertclerx](https://github.com/geertclerx) | [ghasrfakhri](https://github.com/ghasrfakhri) |[jasonbosco](https://github.com/jasonbosco) |[jedwood](https://github.com/jedwood) |[dogrocker](https://github.com/dogrocker) |[lamartire](https://github.com/lamartire) |[lafe](https://github.com/lafe) | :---: |:---: |:---: |:---: |:---: |:---: | @@ -378,9 +378,9 @@ Use Uppy in your project? [Let us know](https://github.com/transloadit/uppy/issu :---: |:---: |:---: |:---: |:---: |:---: | [jonathanarbely](https://github.com/jonathanarbely) |[jderrough](https://github.com/jderrough) |[jorgeepc](https://github.com/jorgeepc) |[jszobody](https://github.com/jszobody) |[jcalonso](https://github.com/jcalonso) |[jmontoyaa](https://github.com/jmontoyaa) | -[justinjurenka](https://github.com/justinjurenka) |[tykarol](https://github.com/tykarol) |[kaspermeinema](https://github.com/kaspermeinema) |[firesharkstudios](https://github.com/firesharkstudios) |[kevin-west-10x](https://github.com/kevin-west-10x) |[elkebab](https://github.com/elkebab) | +[mellow-fellow](https://github.com/mellow-fellow) |[tykarol](https://github.com/tykarol) |[kaspermeinema](https://github.com/kaspermeinema) |[firesharkstudios](https://github.com/firesharkstudios) |[kevin-west-10x](https://github.com/kevin-west-10x) |[elkebab](https://github.com/elkebab) | :---: |:---: |:---: |:---: |:---: |:---: | -[justinjurenka](https://github.com/justinjurenka) |[tykarol](https://github.com/tykarol) |[kaspermeinema](https://github.com/kaspermeinema) |[firesharkstudios](https://github.com/firesharkstudios) |[kevin-west-10x](https://github.com/kevin-west-10x) |[elkebab](https://github.com/elkebab) | +[mellow-fellow](https://github.com/mellow-fellow) |[tykarol](https://github.com/tykarol) |[kaspermeinema](https://github.com/kaspermeinema) |[firesharkstudios](https://github.com/firesharkstudios) |[kevin-west-10x](https://github.com/kevin-west-10x) |[elkebab](https://github.com/elkebab) | [kyleparisi](https://github.com/kyleparisi) |[leaanthony](https://github.com/leaanthony) |[larowlan](https://github.com/larowlan) |[dviry](https://github.com/dviry) |[galli-leo](https://github.com/galli-leo) |[leods92](https://github.com/leods92) | :---: |:---: |:---: |:---: |:---: |:---: | @@ -471,3 +471,4 @@ We use Browserstack for manual testing - + - + + + + ``` Then, a global `Robodog` variable will be available. For usage instructions, please see the [main Robodog documentation](https://uppy.io/docs/robodog). diff --git a/packages/@uppy/robodog/package.json b/packages/@uppy/robodog/package.json index f9aeff28ab..1b3d8ee6b5 100644 --- a/packages/@uppy/robodog/package.json +++ b/packages/@uppy/robodog/package.json @@ -1,7 +1,7 @@ { "name": "@uppy/robodog", "description": "Transloadit SDK for browsers based on Uppy", - "version": "2.9.1", + "version": "2.9.2", "license": "MIT", "main": "lib/index.js", "jsnext:main": "src/index.js", diff --git a/packages/@uppy/transloadit/CHANGELOG.md b/packages/@uppy/transloadit/CHANGELOG.md index 2237ed746c..16138977ee 100644 --- a/packages/@uppy/transloadit/CHANGELOG.md +++ b/packages/@uppy/transloadit/CHANGELOG.md @@ -1,5 +1,12 @@ # @uppy/transloadit +## 2.3.6 + +Released: 2022-08-02 +Included in: Uppy v2.13.2 + +- @uppy/transloadit: send `assembly-cancelled` only once (Antoine du Hamel / #3937) + ## 2.3.5 Released: 2022-07-27 diff --git a/packages/@uppy/transloadit/package.json b/packages/@uppy/transloadit/package.json index 224f87eca7..7f2c2e140e 100644 --- a/packages/@uppy/transloadit/package.json +++ b/packages/@uppy/transloadit/package.json @@ -1,7 +1,7 @@ { "name": "@uppy/transloadit", "description": "The Transloadit plugin can be used to upload files to Transloadit for all kinds of processing, such as transcoding video, resizing images, zipping/unzipping, and more", - "version": "2.3.5", + "version": "2.3.6", "license": "MIT", "main": "lib/index.js", "types": "types/index.d.ts", diff --git a/packages/@uppy/tus/CHANGELOG.md b/packages/@uppy/tus/CHANGELOG.md index fccc63d9a9..4a0e6ecdb5 100644 --- a/packages/@uppy/tus/CHANGELOG.md +++ b/packages/@uppy/tus/CHANGELOG.md @@ -1,5 +1,12 @@ # @uppy/tus +## 2.4.2 + +Released: 2022-08-02 +Included in: Uppy v2.13.2 + +- @uppy/tus: fix dependencies (Antoine du Hamel / #3923) + ## 2.4.1 Released: 2022-06-07 diff --git a/packages/@uppy/tus/package.json b/packages/@uppy/tus/package.json index 8af5aa7e1c..f425f77944 100644 --- a/packages/@uppy/tus/package.json +++ b/packages/@uppy/tus/package.json @@ -1,7 +1,7 @@ { "name": "@uppy/tus", "description": "Resumable uploads for Uppy using Tus.io", - "version": "2.4.1", + "version": "2.4.2", "license": "MIT", "main": "lib/index.js", "types": "types/index.d.ts", diff --git a/packages/uppy/package.json b/packages/uppy/package.json index f440e9552c..028492f4f7 100644 --- a/packages/uppy/package.json +++ b/packages/uppy/package.json @@ -1,7 +1,7 @@ { "name": "uppy", "description": "Extensible JavaScript file upload widget with support for drag&drop, resumable uploads, previews, restrictions, file processing/encoding, remote providers like Instagram, Dropbox, Google Drive, S3 and more :dog:", - "version": "2.13.1", + "version": "2.13.2", "license": "MIT", "main": "index.js", "module": "index.mjs", diff --git a/website/src/docs/index.md b/website/src/docs/index.md index b78a047958..8709f3895c 100644 --- a/website/src/docs/index.md +++ b/website/src/docs/index.md @@ -19,12 +19,12 @@ Here’s the simplest example html page with Uppy (it uses a CDN bundle, while w Uppy - +
- + + ``` 2\. Add CSS to ``: ```html - + ``` 3\. Initialize at the bottom of the closing `` tag: @@ -181,5 +181,5 @@ export * from '@uppy/core' If you’re using Uppy from CDN, those polyfills are already included in the bundle, no need to include anything additionally: ```html - + ``` diff --git a/website/src/docs/locales.md b/website/src/docs/locales.md index c09b3d6cf5..89a94e80ea 100644 --- a/website/src/docs/locales.md +++ b/website/src/docs/locales.md @@ -34,7 +34,7 @@ const uppy = new Uppy({ Add a ` + + - - + + ``` Please note that while you may be able to get 2.0 to work in IE11 this way, we do not officially support it anymore. diff --git a/website/src/docs/robodog-form.md b/website/src/docs/robodog-form.md index 7478d9201a..108d75acbf 100644 --- a/website/src/docs/robodog-form.md +++ b/website/src/docs/robodog-form.md @@ -150,7 +150,7 @@ Make sure to also include the Uppy css file in your `` tag in case you wan ```html - + ``` @@ -162,7 +162,7 @@ Notice how the form is submitted to the inexistant `/uploads` route once all tra Testing Robodog - +
@@ -172,7 +172,7 @@ Notice how the form is submitted to the inexistant `/uploads` route once all tra
- + + + ``` diff --git a/website/src/examples/i18n/app.html b/website/src/examples/i18n/app.html index 357b5e6758..e351b10032 100644 --- a/website/src/examples/i18n/app.html +++ b/website/src/examples/i18n/app.html @@ -1,7 +1,7 @@ - +
@@ -12,8 +12,8 @@
Uploaded files:
- - + + +// const robodog = require('@uppy/robodog') const TRANSLOADIT_EXAMPLE_KEY = '35c1aed03f5011e982b6afe82599b6a0' diff --git a/website/src/examples/markdown-snippets/app.html b/website/src/examples/markdown-snippets/app.html index 045903991b..8cb559860d 100644 --- a/website/src/examples/markdown-snippets/app.html +++ b/website/src/examples/markdown-snippets/app.html @@ -1,6 +1,6 @@ + -->

Create a new snippet

diff --git a/website/themes/uppy/layout/index.ejs b/website/themes/uppy/layout/index.ejs index 9ca9e87326..f4a6a6e18c 100644 --- a/website/themes/uppy/layout/index.ejs +++ b/website/themes/uppy/layout/index.ejs @@ -187,9 +187,9 @@

© <%- date(Date.now(), 'YYYY') %> Transloadit

- - - + + +