Comment 0 for bug 675065

Roman Yepishev (rye) wrote :

STR:

1. Set up dbus-monitor --session member=DownloadFileProgress
2. Upload a file larger than 64K to the web interface, but less than 63 MiB
3. Wait for it to sync to local storage
4. Check the monitor

Expected results:
Information about file download progress

Actual results:
Nothing

The same goes for UploadFileProgress.

Reason #1:
# progress threshold to emit a download/upload progress event: 64Kb
TRANSFER_PROGRESS_THRESHOLD = 64*1024*1024

This sets TRANSFER_PROGRESS_THRESHOLD to 64 MiB, which is a pretty high value for this purpose. It should get set to 64*1024.

Reason #2:
When #1 is fixed the following check is made in action_queue.py:
if n_bytes_read(4874086) - n_bytes_read_last(4873786) < TRANSFER_PROGRESS_THRESHOLD(65536)
  return
That checks previous reading for file handle and the difference most likely will never get more than threshold. The overall progress should be tracked instead of two adjacent points.

More investigation is required for DownloadFileProgress since it turns out that music store plugin uses the old 1-second polling method to show file progress downloads.