Server: Uploading multiple files : progress bar disappear when 1st file completes - NextCloud 13

Created on 30 Jan 2018  路  16Comments  路  Source: nextcloud/server

Steps to reproduce

  1. Upload two files by drag-dropping them into the browser window
  2. Wait until 1st file completes uploading

Expected behaviour

Progress bar should still appear until all files have been uploaded.

Actual behaviour

Progress bar disappears as soon as the 1st file finishes uploading. The other file(s) will continue being uploaded, but no progress is shown.
See bottom of post for video of this bug in action.

Server configuration

Operating system:
Raspberry Pi, Raspbian (Debian) 9 Stretch (NextCloudPi v0.44.15)

Web server:
Apache 2.4.25

Database:
MySQL

PHP version:
7.0.19

Nextcloud version: (see Nextcloud admin page)
13.0 RC3

Updated from an older Nextcloud/ownCloud or fresh install:
Updated from 13.0 RC2

Where did you install Nextcloud from:
Downloaded .zip, extracted...

Signing status:


Signing status

No errors have been found.

List of activated apps:


App list

Enabled:
  - activity: 2.6.1
  - admin_audit: 1.3.0
  - admin_notifications: 1.0.1
  - comments: 1.3.0
  - dav: 1.4.6
  - federatedfilesharing: 1.3.1
  - federation: 1.3.0
  - files: 1.8.0
  - files_pdfviewer: 1.2.0
  - files_sharing: 1.5.0
  - files_texteditor: 2.5.1
  - files_trashbin: 1.3.0
  - files_versions: 1.6.0
  - files_videoplayer: 1.2.0
  - firstrunwizard: 2.2.1
  - gallery: 18.0.0
  - logreader: 2.0.0
  - lookup_server_connector: 1.1.0
  - nextcloud_announcements: 1.2.0
  - notifications: 2.1.2
  - oauth2: 1.1.0
  - password_policy: 1.3.0
  - provisioning_api: 1.3.0
  - serverinfo: 1.3.0
  - sharebymail: 1.3.0
  - survey_client: 1.1.0
  - systemtags: 1.3.0
  - theming: 1.4.1
  - twofactor_backupcodes: 1.2.3
  - updatenotification: 1.3.0
  - workflowengine: 1.3.0
Disabled:
  - encryption
  - files_external
  - user_external
  - user_ldap

Nextcloud configuration:


Config report

pi@nextcloudpi:/var/www/nextcloud $ sudo -u www-data php occ config:list system
{
    "system": {
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "localhost",
            "192.168.155.32",
            "192.168.155.32",
            "host.domain.com"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "overwrite.cli.url": "http:\/\/localhost",
        "overwritehost": "host.domain.com",
        "overwriteprotocol": "https",
        "dbtype": "mysql",
        "version": "13.0.0.12",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "memcache.local": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 0,
            "timeout": 0,
            "password": "***REMOVED SENSITIVE VALUE***"
        },
        "mail_smtpmode": "smtp",
        "mail_smtpauthtype": "LOGIN",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "maintenance": false,
        "logfile": "\/media\/myCloudDrive\/ncdata\/nextcloud.log",
        "loglevel": "2",
        "log_type": "file",
        "updater.release.channel": "beta",
        "theme": "",
        "mail_smtpsecure": "tls",
        "mail_smtpport": "587",
        "mail_smtpauth": 1,
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***"
    }
}

Are you using external storage, if yes which one: local USB drive

Are you using encryption: no

Are you using an external user-backend, if yes which one: no

Client configuration

Browser: Google Chrome Version 63.0.3239.132 (Official Build) (64-bit)

Operating system: Mac High Sierra 10.13.3

Browser log

Here's how it looks, in the browser:
https://youtransfer.pommepause.com/download/3a902b7be21169f5fc7bbae998fafcdc (movie file)

1. to develop bug files

Most helpful comment

Hello everyone,

Before the futur buid of NextCloud 13 for resolving this bug, i research a solution. If someone need to faster solve this misterious progressbar problem :

  1. Edit the file "/nextcloud/apps/files/js/file-upload.js"
  1. in the function "fileupload.on('fileuploaddone', function(e, data)" (approx line 1175)
    Edit the first subfunction "upload.done().then(function() {}"
    and replace the line :
    self._hideProgressBar();
    By :
if($('#uploadprogressbar').attr('aria-valuenow')=='100'){   
  self._hideProgressBar();
}else{
  $('#uploadprogressbar').attr('title',$('#uploadprogressbar').attr('original-title'));
}

The else option set the title of progress bar to permit users to show the data value in progress with mouseover.

Enjoy...

Sorry for my poor english...

All 16 comments

@danxuliu

Note: I'm a PHP & web developer. If anyone has a pointer at where I could look for the issue, I can try to identify the problem myself, and suggest a solution.

@gboudreau Thanks a lot! But you do not need to worry about this one; I was already working on it ;-)

Having said that, if you find any other issue that you would like to tackle please feel free to do so! :-)

@gboudreau Yes, as @danxuliu said, we have some nice issues labeled as good first issue. Contributions are very welcome.

Hello everyone,

Before the futur buid of NextCloud 13 for resolving this bug, i research a solution. If someone need to faster solve this misterious progressbar problem :

  1. Edit the file "/nextcloud/apps/files/js/file-upload.js"
  1. in the function "fileupload.on('fileuploaddone', function(e, data)" (approx line 1175)
    Edit the first subfunction "upload.done().then(function() {}"
    and replace the line :
    self._hideProgressBar();
    By :
if($('#uploadprogressbar').attr('aria-valuenow')=='100'){   
  self._hideProgressBar();
}else{
  $('#uploadprogressbar').attr('title',$('#uploadprogressbar').attr('original-title'));
}

The else option set the title of progress bar to permit users to show the data value in progress with mouseover.

Enjoy...

Sorry for my poor english...

Is it fixed in 13.0.1 RC-1?

Is it fixed in 13.0.1 RC-1?

I intended to fix it for 13.0.1. Unfortunately, while fixing it I found some difficult to reproduce corner cases in the upload code, and what I expected to be a quick fix turned out to be way more time consuming. The result is that I missed the pull request window for 13.0.1, so it will be fixed in 13.0.2 instead. Sorry :-(

We definitely need to rework our uploader anyway! :)

@skjnldsv for the rework, see: https://github.com/nextcloud/server/issues/8972

@danxuliu Which problems did you encounter?

I tried to fix the issue by moving the hide to blueimps stop event:
https://github.com/huzergackl/server/commit/56738891444cebb6a8da91ac610dd3ed03f8ea74

This seems to work as expected even if there are conflicts and the conflict window is kept open for a longer time.

@LaurentNEBUT can you create a new pull request with your fix please? :)

@huzergackl Yes, that is the proper way to fix this issue. And I have the fix sitting on my hard drive since quite some time now; the problem is that the fix reveals a different problem in which sometimes the upload fails due to a race condition and the stop event is not called, so in that case the progress bar is not hidden. I have also fixed that, it is simply that I have been busy with other tasks and I did not send those pull requests yet :-)

Anyway, I will send them tonight or tomorrow (so @huzergackl and @LaurentNEBUT please do not send pull requests with your changes to avoid duplicating efforts :-) ), sorry for the delay!

Yeah sorry @danxuliu I was planning to fix it for 14, but other work caught me up :/

fix is not working for me @LaurentNEBUT ..
NC 13.0.1.
I am uploading Folder with 270 Images. Progressbar shows and disappears directly.

@lenusch Did you manually merge the changes of LaurentNEBUT to NC 13.0.1?
This version of Nextcloud does not contain the bugfix if you just installed it.

The fix has been commited to Nextcloud 14 and it is tagged with "backport-request" so that it might be backported to version 13. It is possible that the fix will be included in NC 13.0.2 (planned due date: April 26)

The fix has been commited to Nextcloud 14 and it is tagged with "backport-request" so that it might be backported to version 13. It is possible that the fix will be included in NC 13.0.2 (planned due date: April 26)

Indeed; please see #9124 :-)

Was this page helpful?
0 / 5 - 0 ratings