Are there any known issues (that I couldn’t find) related to Vaadin’s Upload component on iOS/Safari?
We have the weird problem, that for most files the uploading connection and even the WebSocket (which shouldn’t be directly involved in the upload AFAIK) are closed.
See below for the exception logged on the server. iOS Safari seems to receive HTTP status 500 and also logs that the WebSocket connection was closed unexpectedly. After a bit the browser/the Vaadin application reconnects and is responsive again.
Any idea on what might close those connections? Both sides seem kind of surprised based on the logs. There’s no (reverse) proxy in between.
The Vaadin application is a Spring Boot fat jar with embedded Tomcat. Vaadin is 23.3.25.
java.io.IOException: Stream closed
at org.apache.catalina.connector.InputBuffer.throwIfClosed(InputBuffer.java:520)
at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:331)
at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:132)
at org.apache.commons.fileupload.MultipartStream$ItemInputStream.makeAvailable(MultipartStream.java:1027)
at org.apache.commons.fileupload.MultipartStream$ItemInputStream.read(MultipartStream.java:931)
at java.base/java.io.InputStream.read(InputStream.java:205)
at org.apache.commons.fileupload.util.Streams.copy(Streams.java:98)
at org.apache.commons.fileupload.util.Streams.copy(Streams.java:68)
at org.apache.commons.fileupload.MultipartStream.readBodyData(MultipartStream.java:622)
at org.apache.commons.fileupload.MultipartStream.discardBodyData(MultipartStream.java:646)
at org.apache.commons.fileupload.MultipartStream.skipPreamble(MultipartStream.java:664)
...