From 03a4cd854a21eb7f5786f0ee8cf7633208f59e8a Mon Sep 17 00:00:00 2001 From: Merlijn Vos Date: Tue, 2 Jul 2024 17:52:17 +0200 Subject: [PATCH 1/2] @uppy/form: do not emit `'submit'` event more than once (#5299) Instead of using `requestSubmit` from the `'submit'` event handler (which was causing a loop), we can call `submit()` after checking `reportValidity` to get the same result without re-emitting the event. --- packages/@uppy/form/src/index.ts | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/packages/@uppy/form/src/index.ts b/packages/@uppy/form/src/index.ts index 9ad700aefe..27f92c6c4f 100644 --- a/packages/@uppy/form/src/index.ts +++ b/packages/@uppy/form/src/index.ts @@ -52,12 +52,6 @@ export default class Form extends BasePlugin< form: HTMLFormElement // TODO: make this private (or at least, mark it as readonly) - /** - * Unfortunately Uppy isn't a state machine in which we can guarantee it's - * currently in one state and one state only so we use this completed property which is set on `upload-success'. - */ - #completed = false - constructor(uppy: Uppy, opts?: FormOptions) { super(uppy, { ...defaultOptions, ...opts }) this.type = 'acquirer' @@ -71,25 +65,28 @@ export default class Form extends BasePlugin< } handleUploadStart(): void { - this.#completed = false if (this.opts.getMetaFromForm) { this.getMetaFromForm() } } handleSuccess(result: Result): void { - this.#completed = true if (this.opts.addResultToForm) { this.addResultToForm(result) } if (this.opts.submitOnSuccess) { - this.form.requestSubmit() + // Returns true if the element's child controls satisfy their validation constraints. + // When false is returned, cancelable invalid events are fired for each invalid child + // and validation problems are reported to the user. + if (this.form.reportValidity()) { + this.form.submit() + } } } handleFormSubmit(ev: Event): void { - if (this.opts.triggerUploadOnSubmit && !this.#completed) { + if (this.opts.triggerUploadOnSubmit) { ev.preventDefault() const elements = toArray((ev.target as HTMLFormElement).elements) const disabledByUppy: HTMLButtonElement[] = [] From 937107a4a4bbe877b5cf667e7ee812bce271a0db Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 21:51:55 +0000 Subject: [PATCH 2/2] Release: uppy@3.27.2 (#5301) | Package | Version | Package | Version | | ---------------------- | ------- | ---------------------- | ------- | | @uppy/companion | 4.15.0 | @uppy/drag-drop | 3.1.1 | | @uppy/companion-client | 3.8.2 | @uppy/form | 3.2.2 | | @uppy/core | 3.13.1 | uppy | 3.27.2 | - @uppy/form: do not emit `'submit'` event more than once (Merlijn Vos / #5299) - @uppy/companion: add `s3.forcePathStyle` option (Nadeem Reinhardt / #5066) - meta: fix broken workflow status badges in README (Alexander Zaytsev / #5298) - @uppy/core: add `clearUploadedFiles` to type definition (Augustine Smith / #5295) - @uppy/companion: add `oauthOrigin` option (Antoine du Hamel / #5297) - meta: add dark-mode Transloadit logo in README (Alexander Zaytsev / #5291) - docs,@uppy/drag-drop: `uppy.io/docs` - fix typos/broken links (Evgenia Karunus / #5296) - meta: Bump docker/build-push-action from 6.1.0 to 6.2.0 (dependabot[bot] / #5290) --- BUNDLE-README.md | 2 +- CHANGELOG.md | 20 ++++ README.md | 105 +++++++++--------- examples/aws-nodejs/public/index.html | 4 +- examples/cdn-example/index.html | 6 +- .../uppy-with-companion/client/index.html | 4 +- packages/@uppy/companion-client/package.json | 2 +- packages/@uppy/companion/CHANGELOG.md | 8 ++ packages/@uppy/companion/package.json | 2 +- packages/@uppy/core/CHANGELOG.md | 7 ++ packages/@uppy/core/package.json | 2 +- packages/@uppy/drag-drop/CHANGELOG.md | 7 ++ packages/@uppy/drag-drop/package.json | 2 +- packages/@uppy/form/CHANGELOG.md | 7 ++ packages/@uppy/form/package.json | 2 +- packages/uppy/package.json | 2 +- 16 files changed, 116 insertions(+), 66 deletions(-) diff --git a/BUNDLE-README.md b/BUNDLE-README.md index f14ac0db1e..2ba14d0e3f 100644 --- a/BUNDLE-README.md +++ b/BUNDLE-README.md @@ -2,7 +2,7 @@ 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. Note that the recommended way to use Uppy is to install it with yarn/npm and use diff --git a/CHANGELOG.md b/CHANGELOG.md index 22389018ea..377df7f792 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. +## 3.27.2 + +Released: 2024-07-02 + +| Package | Version | Package | Version | +| ---------------------- | ------- | ---------------------- | ------- | +| @uppy/companion | 4.15.0 | @uppy/drag-drop | 3.1.1 | +| @uppy/companion-client | 3.8.2 | @uppy/form | 3.2.2 | +| @uppy/core | 3.13.1 | uppy | 3.27.2 | + +- @uppy/form: do not emit `'submit'` event more than once (Merlijn Vos / #5299) +- @uppy/companion: add `s3.forcePathStyle` option (Nadeem Reinhardt / #5066) +- meta: fix broken workflow status badges in README (Alexander Zaytsev / #5298) +- @uppy/core: add `clearUploadedFiles` to type definition (Augustine Smith / #5295) +- @uppy/companion: add `oauthOrigin` option (Antoine du Hamel / #5297) +- meta: add dark-mode Transloadit logo in README (Alexander Zaytsev / #5291) +- docs,@uppy/drag-drop: `uppy.io/docs` - fix typos/broken links (Evgenia Karunus / #5296) +- meta: Bump docker/build-push-action from 6.1.0 to 6.2.0 (dependabot[bot] / #5290) + + ## 3.27.1 Released: 2024-06-27 diff --git a/README.md b/README.md index 605b4935f0..65cde932e7 100644 --- a/README.md +++ b/README.md @@ -87,7 +87,7 @@ npm install @uppy/core @uppy/dashboard @uppy/tus ``` Add CSS -[uppy.min.css](https://releases.transloadit.com/uppy/v3.27.1/uppy.min.css), +[uppy.min.css](https://releases.transloadit.com/uppy/v3.27.2/uppy.min.css), either to your HTML page’s `` or include in JS, if your bundler of choice supports it. @@ -102,7 +102,7 @@ object. ```html @@ -113,7 +113,7 @@ object. Uppy, Dashboard, Tus, - } from 'https://releases.transloadit.com/uppy/v3.27.1/uppy.min.mjs' + } from 'https://releases.transloadit.com/uppy/v3.27.2/uppy.min.mjs' const uppy = new Uppy() uppy.use(Dashboard, { target: '#files-drag-drop' }) @@ -248,7 +248,7 @@ If you’re using Uppy from CDN, those polyfills are already included in the legacy bundle, so no need to include anything additionally: ```html - + ``` ## FAQ @@ -340,7 +340,7 @@ Use Uppy in your project? - + @@ -357,55 +357,56 @@ Use Uppy in your project? - - - + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
arturigoto-bus-stopkvzaduh95ifedapoolarewajuhedgerh
MurderlonAJvanLoonnqstmifigithub-actions[bot]lakesare
MurderlonnqstAJvanLoonmifigithub-actions[bot]lakesare
dependabot[bot]kiloreuxsamuelayosadovnychyirichardwillarsajkachnic
zcallanYukeshShrjankooliverpoolBotzmcallistertyler
mokutsu-courseradschmidtDJWassinkmrbatistataoqftimodwhit
AndrwMbehnammodiBePo65bradedelmancamiloforerocommand-tab
craig-jenningsdavekissdenysdesignethanwillisfrobinsonjrichmeij
richartkeilpaescujmsandmartiuslimMartin005mskelton
mactavishzlafedogrockerjedwoodgeertclerxjasonbosco
ghasrfakhrirartrossngscherromanrobwilson1SxDx
reforaulibanezluarmreman8519Pzocoppadmavilasom
mactavishzlafedogrockerjedwoodjasonboscogeertclerx
ghasrfakhrirossngscherromanrobwilson1SxDxrefo
raulibanezluarmreman8519pedantic-gitPzocoppadmavilasom
phillipalexanderpmusarajpedrofsplnetopatricklindsaypascalwengerter
JimmyLvTashowstajstrayersjauldsteverob
amaituquigebowaptikSpazzMarticusszhsergei-zelinsky
sebasegovia01sdebackerRattonesamuelcolburnfortunto2GNURub
ParsaArvanehPAken-kuromilannakummkopinskymhulethrsh
mauricioribeiromatthewhartstongemjesuelemattfikmateuscruzmasumulu28
masaokmartin-brennanmarcusforsbergmarcosthejewmperrandoonhate
Tashowstajstrayersjauldsteverobamaitu
quigebowaptikSpazzMarticusszhsergei-zelinskysebasegovia01
sdebackerRattonesamuelcolburnfortunto2GNURubrart
ParsaArvanehPAachmiralken-kuromilannakummkopinskymhulet
hrshmauricioribeiromatthewhartstongemjesuelemattfikmateuscruz
masumulu28masaokmartin-brennanmarcusforsbergmarcosthejewmperrando
cryptic022Ozodbek1405leftdevelnil1511coreprocessnicojones
trungcva10a6tnnaveed-ahmadpleasespammelatermarton-laszlo-attilanavruzmmogzol
shahimcltmnafeesboudraMitchell8210achmiralnetdown
mosi-khamaddy-jomdxiaohumagumbojx-zyfkode-ninja
sontixyoujur-ngjohnmanjiro13jyoungbloodgreen-mikegaelicwinter
francklfingulelliotsayesdzcpydkisiczanzlender
olitomasyoann-hellopretvedran555tusharjkhuntthanhthotstduhpf
slawexxx44rtaiebrmoura-92rlebosserhymesluntta
phil714ordagoodselsevierninesaltneuronet77willycamargo
weston-sankey-mark43dwnstenagyvstiigvalentinolivially
bodryitrivikrtop-mastertvaliasektomekptomsaleeba
WIStudenttmaierTiarhaitwarloptcgjcraigcbrunner
codehero7386christianwengertcgoinglovecanvasbhc0b41avalla
argghalfatvagreene-courseraaduh95-test-accountsartoshi-foot-daozackbloom
zlawson-utzachconneryafkariYehudaKremerxhocquetsercraig
ardeoisCommanderRootczjcbush06Aarbelcfra
cspranceprattcmpsubvertallchrischarlybillaudCretezychao
cellvinchungcartfiskcyubryanjswiftbedgerottoeliOcs
yoldarefbautistaemuellEdgarSantiago93sweetrojeetiss
DennisKofflardhoangsvitdavilima6akizorKaminskiDaniellCantabar
mrboomerdanilatdanschalowdanmichaeloCruaierfunctino
amitporttekacsDogfaloalirezahiaalepisalexnj
asmt3ahmadissaadritasharmaAdrreiadityapatadiaadamvigneault
ajh-sradamdottvabannachsuperhawk610ajschmidt8wbaaron
Quorafindbducharmeazizkazeembaayhankesiciogluavneetmalhotra
atsawinash-jc-allenapuyouarthurdennerAbourasstyndria
anthony0030andychongyzandrii-bodnarsuperandrew213radarherekevin-west-10x
kergekacsafiresharkstudioskaspermeinematykaroljveltenmellow-fellow
jmontoyaajcalonsojbelejjszobodyjorgeepcjondewoo
jonathanarbelyjsanchez034Jokcychromacomaprofsmallpinemarc-mabe
Lucklj521lucax88xlucaperretombrlouimdolphinigle
leomelzerleods92galli-leodvirylarowlanleaanthony
hoangbitslabohkip81kyleparisielkebabkidonngIanVS
huydodHussainAlkhalifahHughbertDhiromi2424giacomocerquoneroenschg
gjungbgeoffapplefordgabiganamfuadscodesdtrucsferdiusa
fgallinariGkleinerevaepexaEnricoSottileelliotdickisontheJoeBiz
Jmalesjessica-courseravithjanwiltsjanklimojamestiotio
jcjmccleanJbithellJakubHaladejjakemcallistergaejabongJacobMGEvans
mazorussGreenJimmyintenziveNaxYoishendyweb
trungcva10a6tnnaveed-ahmadnadeemcpleasespammelatermarton-laszlo-attilanavruzm
mogzolshahimcltmnafeesboudraMitchell8210JimmyLv
netdownmosi-khamaddy-jomdxiaohumagumbojx-zyf
kode-ninjasontixyoujur-ngjohnmanjiro13jyoungbloodgreen-mike
gaelicwinterfrancklfingulelliotsayesdzcpydkisic
zanzlenderolitomasyoann-hellopretvedran555tusharjkhuntthanhthot
stduhpfslawexxx44rtaiebrmoura-92rlebosserhymes
lunttaphil714ordagoodselsevierninesaltneuronet77
willycamargoweston-sankey-mark43dwnstenagyvstiigvalentinoli
viallybodryitrivikrtop-mastertvaliasektomekp
tomsaleebaWIStudenttmaierTiarhaitwarloptcgj
craigcbrunnercodehero7386christianwengertcgoinglovecanvasbhc0b41
avallaargghalfatvagreene-courseraaduh95-test-accountsartoshi-foot-dao
zackbloomzlawson-utzachconneryafkariYehudaKremerxhocquet
eliOcsardeoisCommanderRootczjcbush06Aarbel
cfracspranceprattcmpsubvertallchrischarlybillaudCretezy
chaocellvinchungcartfiskcyubryanjswiftbedgerotto
wbaaronyoldarefbautistaemuellEdgarSantiago93sweetro
jeetissDennisKofflardhoangsvitdavilima6akizorKaminskiDaniell
CantabarmrboomerdanilatdanschalowdanmichaeloCruaier
sercraigfunctinoamitporttekacsDogfaloalirezahi
aalepisalexnjasmt3ahmadissaadritasharmaAdrrei
adityapatadiaadamvigneaultajh-sradamdottvabannachsuperhawk610
ajschmidt8Quorafindbducharmeazizkazeembaayhankesicioglu
avneetmalhotraThe-Flashatsawinash-jc-allenapuyouarthurdenner
Abourasstyndriaanthony0030andychongyzandrii-bodnarsuperandrew213
radarhereonhatekevin-west-10xkergekacsafiresharkstudioskaspermeinema
tykaroljveltenmellow-fellowjmontoyaajcalonsojbelej
jszobodyjorgeepcjondewoojonathanarbelyjsanchez034Jokcy
chromacomaprofsmallpinemarc-mabeLucklj521lucax88xlucaperret
ombrlouimdolphinigleleomelzerleods92galli-leo
dvirylarowlanleaanthonyhoangbitslabohkip81kyleparisi
elkebabkidonngIanVShuydodHussainAlkhalifahHughbertD
hiromi2424giacomocerquoneroenschggjungbgeoffapplefordgabiganam
fuadscodesdtrucsferdiusafgallinariGkleinerevaepexa
EnricoSottileelliotdickisontheJoeBizJmalesjessica-courseravith
janwiltsjanklimojamestiotiojcjmccleanJbithellJakubHaladej
jakemcallistergaejabongJacobMGEvansmazorussGreenJimmyintenzive
NaxYoishendyweb
diff --git a/examples/aws-nodejs/public/index.html b/examples/aws-nodejs/public/index.html index 1fa0a6bc0b..b67036e1cc 100644 --- a/examples/aws-nodejs/public/index.html +++ b/examples/aws-nodejs/public/index.html @@ -4,7 +4,7 @@ Uppy – AWS upload example @@ -16,7 +16,7 @@

AWS upload example

Uppy, Dashboard, AwsS3, - } from 'https://releases.transloadit.com/uppy/v3.27.1/uppy.min.mjs' + } from 'https://releases.transloadit.com/uppy/v3.27.2/uppy.min.mjs' /** * This generator transforms a deep object into URL-encodable pairs * to work with `URLSearchParams` on the client and `body-parser` on the server. diff --git a/examples/cdn-example/index.html b/examples/cdn-example/index.html index c0f3b656c1..0f84045601 100644 --- a/examples/cdn-example/index.html +++ b/examples/cdn-example/index.html @@ -5,7 +5,7 @@ @@ -19,7 +19,7 @@ Dashboard, Webcam, Tus, - } from 'https://releases.transloadit.com/uppy/v3.27.1/uppy.min.mjs' + } from 'https://releases.transloadit.com/uppy/v3.27.2/uppy.min.mjs' const uppy = new Uppy({ debug: true, autoProceed: false }) .use(Dashboard, { trigger: '#uppyModalOpener' }) @@ -34,7 +34,7 @@