Polymer 1 - Upload Component Question

I am trying to resolve an issue I have with Vaadin-UPload v2.2.0.

I have a Polymer 1 website hosted in Node.js Express. I use an http-proxy-middleware proxy router to route calls to my API to an iis hosted WCF restfull API.

Everything seems to work fine on my local machine but when I move it to our external servers I am getting undesirable behavior.

For a ~7mb the upload component whips through the progress bar in ~ 2secs and then waits for 25 secs “processing”.
The API is simply reading the data of a stream and writing it to disk. The processing log suggests continual processing of chunks over 27 secs.

If I now scale up the file size to ~100mb the file progress trots up to 100% in just over a minute and then proceeds to sit in processing for a further 2 mins before a timeout breaks the connection. If I use postman to call the API with this file the log shows roughly 7 mins of continual processing. Also note this file can be processed in a matter of seconds if called locally.

My concern is that the V-upload component is not accurately reporting the progress, causing it to go into this “processing” state, which then times out after 2 mins.

Can someone explain the process that occurs when a file is uploaded? How is the progress calculated? Is this an issue that has been fixed in later versions of the component? I believe 2.2 is the most recent polymer 1 compatible version I can use.

Thanks in advance
Mike

A guess the issue may come from the data being 100% sent (as reported by widget) but not 100% received by API.