Upload progress bar doesn't work in Android Browser
Summary: It simply never moves, which makes the process frustrating.
We should probably go back to Plan A, more extremely. From the beginning of upload, generate a random identifier of some sort, and initiate a work under the User Session that is tracking it. All state changes, including received blocks, get sent to that.
Question: how does this identifier get sent to the client? Does it get generated in the client, and sent as part of the URL, maybe?
Then, Comet-style, once a second the client polls the server, asking for the current state of the upload. While the data is uploading, it advances the bar, up to maybe 2/3 of the way across when the data is fully uploaded; then it continues to track as the image is processed and stored.
The worker sticks around for a while -- maybe a minute -- after processing is finished, then quietly shuts itself down.