FLUID-4017: Total file progress information is inaccurate when uploading files with the HTML 5 version of Uploader

Metadata

Source
FLUID-4017
Type
Bug
Priority
Blocker
Status
Closed
Resolution
Fixed
Assignee
Colin Clark
Reporter
Colin Clark
Created
2010-12-22T17:32:11.428-0500
Updated
2011-02-07T11:25:23.579-0500
Versions
  1. 1.3
Fixed Versions
  1. 1.3.1
Component
  1. Uploader

Description

The Uploader currently shows inaccurate or inconsistent information in the total file progress area to the left of the "Add More" button. This is due to the fact that uploads occur concurrently, while there are a number of Flash-era assumptions in the code that files will always be uploaded in a one-by-one manner.

This should be fixed by either ensuring that uploads occur synchronously, or preferably by rewriting the state management code to handle asynchronous, concurrent file uploads.

Environments

Firefox 4, Safari 5, and Chrome

Comments

  • Mike Lam commented 2011-01-27T10:58:48.080-0500

    Fixed the HTML5 so that files are uploaded synchronously. The uploader events were initially chained for synchronous uploading, however, we introduced asynchronous uploading when the HTML5 multi-file uploader was created. We just needed to remove our loop to iterate through all the files to upload and we were back in business. We may want to re-introduce this feature once all A-grade browsers support HTML5 multi-file uploading.

  • Mike Lam commented 2011-01-27T11:03:04.227-0500

    This patch also fixes FLUID-4018. There is now a natural break between files being uploaded due to synchronous uploading which allows the stop button to do it's work.

  • Mike Lam commented 2011-01-27T11:03:30.732-0500

    Awaiting code review and commit

  • Colin Clark commented 2011-01-27T19:25:50.584-0500

    Hey Mike,

    I think you've got it pretty much solved with your patch. One simplification: the FileQueue's current batch object contains a property called fileIdx, which gets incremented each time FileQueue.startFile() gets called. I'm assuming that this is probably the same value as the that.fileToUpload property you are storing in the Uploader's HTML5 remote strategy. Maybe use it instead?

  • Mike Lam commented 2011-01-28T12:25:29.032-0500

    Use the current batch's fileIdx value instead of attaching another counting variable to the model.

  • Mike Lam commented 2011-01-28T13:22:45.971-0500

    Rename the remote start() function to uploadNextFile() to be more descriptive of its actual purpose.

  • Colin Clark commented 2011-02-07T11:24:58.557-0500

    I pushed Mike's main patch to the project repo at revision 243968bbb34175706916 and a modified version of his renaming patch at revision c865c45c503c43df7141. Fixed for 1.3.1

  • Colin Clark commented 2011-02-07T11:25:23.571-0500

    Fixed for 1.3.1