This is most likely related to the server-side modailty feature in Vaadin. This is a security feature that makes sure users cannot interact with components that are “behind” a modal dialog just by disabling the modailty curtain through the browser’s developer tools.
I guess we should adjust the upload handlig to explicitly bypass these checks specifically for the events that can happen after the upload has started (while still being strict with not starting an upload while the component is behind a modal dialog). Could you please file a ticket about this at GitHub · Where software is built.
I guess you could create your own simple component wrapper around the <vaadin-upload> web component. The main trick is to set the external URL as the target attribute of the upload element.
I set a shortcut on the escape key for each dialog to quickly close them. Now, with the implemented workound, if there is a second dialog above the first one and i press escape both dialogs are closed. Is there any way to workaround this? I just want the topmost dialog to be closed.
Modal dialogs should automatically close on Escape, unless you have disabled that: Dialog component | Vaadin components. The built-in logic should take care of only closing the top-most dialog.