FileDownloader inconsistent with IE and Microsoft Edge

I am using Vaadin 7. I have a case where I do the following:

  1. On click of “Download” button, popup query screen to let user set some parameters. I use the [MessageBox add-on]
    (https://vaadin.com/directory/component/messagebox/3.0.19).
  2. On click of “Submit”, send query parameters to server for processing, getting back a file name to download from application server. This “Submit” button is the one that is extended by FileDownloader.

In all cases, my application server process gets the parameters and produces the needed file. In all cases, I see the file referenced by the Vaadin application in the logs. But in some cases, it downloads fine, in others it does not.

What is weird is that in other screens, with no query window, it more consistently downloads the data in question.

Any ideas?

More Info from some rather extreme troubleshooting steps:
What I did, at a high level, was overrode handleConnectorRequest ( FileDownloader ), getStream ( FileResource ), and writeResponse ( DownloadStream built inside custom getStream ). In the case of handleConnectorRequest, I just added logging before and after calling super.handlerConnectorRequest, so there was no real logic change. For getStream, I added logging and copied the library code for super.getStream to a new method getTempStream ( merely for my convenience ), which I called from my getStream. In getTempStream, I overrode writeResponse for the DownloadStream creation so I could add logging. No logic changes with writeResponse, just more logging. What I see is that the data stream IS being written to the response, as expected. But sometimes IE tries to download it, other times it does not.

None of the new logging really looked much different between the times when it worked and the times when it did not.

I don’t know what else to troubleshoot, so any advice would be appreciated.

Just shot in the dark, have you checked this one https://github.com/vaadin/framework/issues/9100

I don’t use Spring. Also, it always works in Chrome. In Firefox, I actually have a different issue ( second download request just downloads same exact file, does not make a request to the backend process for a new file ). Ignoring Firefox since my boss says no one uses it among our users. So that leaves IE and Edge. In both cases:

  1. Sometimes it downloads, sometimes it does not. It is unpredictable. For instance, I could click it one time and it works, but the next 2 times it won’t download.
  2. I get no error, just nothing downloads ( on the occasions where it does not work )

The issue you mentioned might be right, but I cannot see the headers. When I request the status using either ((VaadinServletResponse) response).getHttpServletResponse().getStatus(); or ((VaadinServletResponse) response).getStatus();, I get NoSuchMethodError exceptions. Same happened with getHeaderNames(). But maybe I can attack it from the browser direction ( ?debug and IE debugging tools ). Because attacking it from the server side seems to be impossible.

What is weird is the inconsistency and unpredictableness. At least with Firefox, it is predictable. With IE, who knows when it will work.