Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Very slow - JavaScript does not respond #359

Closed
LukeOwlclaw opened this issue Apr 4, 2015 · 2 comments
Closed

Very slow - JavaScript does not respond #359

LukeOwlclaw opened this issue Apr 4, 2015 · 2 comments

Comments

@LukeOwlclaw
Copy link

Steps to reproduce

  1. Load about 10,000 music files into owncloud
  2. Browse to music app and allow it to scan all files (took several hours in my case)
  3. Browse again to music app.

Expected behaviour

First few albums should be displayed immediately. Play should have immediate effect.

Actual behaviour

Loading the music landing page takes is very slow. My browser hangs and finally tells me that javascript do not respond (JQuery and AngularJS). When I stop all scripts at the first browser warning albums are loading up to C. Below I just see a lot of Angular placeholders {{artist.name}}

It seems that there are just too many albums/items to be handle at once.

When waiting until page has loaded completely and then click play (no matter if it is first or last song in list), it takes about 5 minutes until the songs starts playing.

Server configuration

Operating system: Ubuntu 14.04

Web server: Apache

Database: MySQL

PHP version: 5.x

ownCloud version: 8.0.2

Updated from an older ownCloud or fresh install: Updated from 7.

List of activated apps: Default apps + Calendar, Contacts, Deleted Files + Music 0.3.5

Are you using external storage, if yes which one: Internal HDD

Are you using encryption: no

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

Client configuration

Browser: Firefox 36.0.1 and Chromium 36.0.1950.0

Operating system: Win7, 32bit

Browser log

Diese Website hat eine ungültige Strict-Transport-Security-Kopfzeile angegeben.[Weitere Informationen] music
Diese Website verwendet ein SHA-1-Zertifikat; es wird empfohlen, Zertifikate mit Signaturalgorithmen zu verwenden, die stärkere Hashfunktionen verwenden als SHA-1.[Weitere Informationen] music
Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead jquery.min.js:1:0
Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead jquery-migrate.min.js:3:0
window.controllers sollte nicht mehr verwendet werden. Verwenden Sie es nicht für die Browser-Erkennung. ace.js:1716:0
"Error: artist.name is undefined
$scope.update/<@https://myserver:4444/apps/music/js/public/app.js?v=4865f29e65f7ce76a72673e936ccd181:88:6
ye/e/l.promise.then/L@https://myserver:4444/apps/music/js/vendor/angular/angular.min.js?v=4865f29e65f7ce76a72673e936ccd181:99:460
ye/f/<.then/<@https://myserver:4444/apps/music/js/vendor/angular/angular.min.js?v=4865f29e65f7ce76a72673e936ccd181:101:126
Zd/this.$get</k.prototype.$eval@https://myserver:4444/apps/music/js/vendor/angular/angular.min.js?v=4865f29e65f7ce76a72673e936ccd181:111:369
Zd/this.$get</k.prototype.$digest@https://myserver:4444/apps/music/js/vendor/angular/angular.min.js?v=4865f29e65f7ce76a72673e936ccd181:108:454
Zd/this.$get</k.prototype.$apply@https://myserver:4444/apps/music/js/vendor/angular/angular.min.js?v=4865f29e65f7ce76a72673e936ccd181:112:171
h@https://myserver:4444/apps/music/js/vendor/angular/angular.min.js?v=4865f29e65f7ce76a72673e936ccd181:72:298
w@https://myserver:4444/apps/music/js/vendor/angular/angular.min.js?v=4865f29e65f7ce76a72673e936ccd181:77:288
we/</A.onreadystatechange@https://myserver:4444/apps/music/js/vendor/angular/angular.min.js?v=4865f29e65f7ce76a72673e936ccd181:78:375
" angular.min.js:92:137

getPreventDefault() sollte nicht mehr verwendet werden. Verwenden Sie stattdessen defaultPrevented. jquery.min.js:5:0
Error: Script terminated by timeout at:
.css@https://myserver:4444/core/vendor/jquery/jquery.min.js?v=4865f29e65f7ce76a72673e936ccd181:6:1
$.fn.imageplaceholder@https://myserver:4444/core/js/placeholder.js?v=4865f29e65f7ce76a72673e936ccd181:61:3
setAlbumart@https://myserver:4444/apps/music/js/public/app.js?v=4865f29e65f7ce76a72673e936ccd181:510:6
ic/this.$get</Ob.prototype.$set/<@https://myserver:4444/apps/music/js/vendor/angular/angular.min.js?v=4865f29e65f7ce76a72673e936ccd181:65:411
q@https://myserver:4444/apps/music/js/vendor/angular/angular.min.js?v=4865f29e65f7ce76a72673e936ccd181:7:288
ic/this.$get</Ob.prototype.$set@https://myserver:4444/apps/music/js/vendor/angular/angular.min.js?v=4865f29e65f7ce76a72673e936ccd181:65:388
P/<.compile/<.pre/<@https://myserver:4444/apps/music/js/vendor/angular/angular.min.js?v=4865f29e65f7ce76a72673e936ccd181:63:164
Zd/this.$get</k.prototype.$digest@https://myserver:4444/apps/music/js/vendor/angular/angular.min.js?v=4865f29e65f7ce76a72673e936ccd181:109:211
Zd/this.$get</k.prototype.$apply@https://myserver:4444/apps/music/js/vendor/angular/angular.min.js?v=4865f29e65f7ce76a72673e936ccd181:112:171
h@https://myserver:4444/apps/music/js/vendor/angular/angular.min.js?v=4865f29e65f7ce76a72673e936ccd181:72:298
w@https://myserver:4444/apps/music/js/vendor/angular/angular.min.js?v=4865f29e65f7ce76a72673e936ccd181:77:288
we/</A.onreadystatechange@https://myserver:4444/apps/music/js/vendor/angular/angular.min.js?v=4865f29e65f7ce76a72673e936ccd181:78:375
 jquery.min.js:6:0
Error: [$rootScope:inprog] http://errors.angularjs.org/1.2.21/$rootScope/inprog?p0=%24digest angular.min.js:6:449

@paulijar
Copy link
Collaborator

The PR #564 improving the performance especially with large collections was merged yesterday. If you are willing to test with development version, I would be interested to hear how it works now with large real-life music collections and what is the practical collection size limit for usability. I would recommend using Chrome browser with large music collections.

@paulijar
Copy link
Collaborator

The Music app version 0.4.1 containing #564 has been released to ownCloud marketplace and Nextcloud app store. There's always room for improvement on performance, but IMHO, the app is now quite usable at least with several thousands of tracks. The javascript unresponsiveness described in the OP should no longer happen. Hence, I'm closing this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants