Page MenuHomePhabricator

Upload wizard: Improve progress bar
Closed, ResolvedPublic

Description

  • Add progress bar for compatible browsers
  • Fix inconsistency for the others (some testers reported increasing instead of decreasing countdown)

Version: unspecified
Severity: normal

Details

Reference
bz24759

Related Objects

StatusSubtypeAssignedTask
ResolvedNone
ResolvedNone
ResolvedNone
ResolvedNone

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 11:07 PM
bzimport added a project: UploadWizard.
bzimport set Reference to bz24759.

Maybe we should just display the progress bar when we have reliable data (most recent browsers) and not display it at all when we don't?

neilk wrote:

It is possible for the countdown to increase if the program thinks that the uploads are going slower. That said it does sound like a bug.

It isn't a matter of reliable data, exactly; some modern browsers can tell us how the upload is progressing as it is happening.

With older browsers we have to wait for at least one upload to complete first. In the case of uploading just one file, we never get to show the progress bar.

We don't currently seem to display an upload progress bar at all, but just a spinner. Is bug 30242 a dupe of this, or is this something separate...?

neilk wrote:

There is a progress bar. It's actually constantly polling all the uploads for progress info and trying to display a summary result.

But it only shows when there is some information about how well uploads are progressing. At the moment, that only occurs after the first upload has completed. If you're uploading a single file, you won't see the progress bar. And if you upload small files or less than three files, the files will probably complete at about the same time anyway, so the progress bar won't show up.

However, Chrome and other modern browsers offer ways to know how the upload is progressing, even in traditionally submitted POST-to-iframe uploads. And of course the FileAPI / chunked method will give us even more info. So we just need to write a few more lines of code here to get a working progress bar.

neilk wrote:

*** Bug 30242 has been marked as a duplicate of this bug. ***

mr.heat wrote:

Currently I never see a progress bar. Even in very simple cases when I upload a single large file it shows no progress. Only the spinning indicators. While testing there was only a single case where the progress bar showed up: When uploading a small and a big file, the progress bar was shown for a short time after the small file was finished but the large file was not. I don't know if this is a browser issue (Opera 11.51) but I expect it to work in all modern browsers including this one.

I found several issues, a lot minor and a few major, all described here (including this one):
http://commons.wikimedia.org/wiki/Commons:Prototype_upload_wizard_feedback#Not_usable_at_all_due_to_security_errors_and_other_exceptions

The basic HTML-form-submission upload system doesn't actually provide a good way to do a progress bar for any individual file, which is probably why you only see a progress bar to track how many files have been uploaded out of a batch.

As noted in some comments above, we'll be able to do a progress bar _during_ each individual upload on many -- but not all -- browsers once chunked uploads are supported on both the upload API and UploadWizard's front-end code. This will upload the file in smaller pieces over multiple requests, which is both more resilient to network errors (can simply reconnect & continue if any individual chunk fails) and will be able to track the upload progress directly from the JavaScript.

mr.heat wrote:

(In reply to comment #8)

The basic HTML-form-submission upload system

I don't get it. I'm talking about the upload wizard, not about the basic upload form. Currently the progress bar in the wizard is broken because it is almost never shown except for some uncommon cases when multiple files are uploaded and the last file is bigger than all other files. In most cases the only thing I see is some flickering bar where the progress bar should be. It's flickering for the fraction of a second in the moment the upload is finished. I know the progress bar worked a lot better in the same browser some months ago when I tested the upload wizard first.

What we're talking about isn't what it *looks like* but *how the file is transferred from your browser to the web server*.

How that is done makes a difference to what progress data we can report.

mr.heat wrote:

I'm pretty sure nobody cares about this. The file is uploaded with the upload wizard. Why is there a difference between uploading a single file and uploading multiple files? If there is a progress bar, why is it missing when uploading a single file? Why is it displayed for the fraction of a second (that's what i call "flickering") in the moment the upload of the file ended? When uploading two files, why is it missing when uploading the first file but displayed when uploading the second file? This is confusing. If it's impossible to add a reliable progress bar, remove it please.

Right, that's the subject of this bug report.

neilk wrote:

Not sure if our progress bar is "reliable" but it more or less works now, even with multiple files, in modern browsers.

Gilles raised the priority of this task from Medium to Unbreak Now!.Dec 4 2014, 10:27 AM
Gilles added a project: Multimedia.
Gilles moved this task from Untriaged to Done on the Multimedia board.
Gilles lowered the priority of this task from Unbreak Now! to Medium.Dec 4 2014, 11:22 AM