tsquillario/Jamstash

Albums without tag information break Jamstash UI

Closed this issue · 6 comments

To replicate you can download this album and index it in Subsonic then attempt to load Recently Added in Jamstash: http://baseshare.com/DJFaze/mixtapes/Que-The-Sixth-Man/348/

Nothing will load and it results in the following log error in Chrome v41:
TypeError: Cannot read property 'toString' of undefined
at mapAlbum (scripts.min.5fb148c0.js:1)
at scripts.min.5fb148c0.js:2
at Object.f as forEach
at scripts.min.5fb148c0.js:2
at k (vendor.min.88b5ec62.js:5)
at vendor.min.88b5ec62.js:5
at k.$eval (vendor.min.88b5ec62.js:5)
at k.$digest (vendor.min.88b5ec62.js:5)
at k.$apply (vendor.min.88b5ec62.js:5)
at i (vendor.min.88b5ec62.js:4)vendor.min.88b5ec62.js:5 (anonymous function)

I previously worked around this issue manually with a (obj.album ? obj.album.toString() : '') construct replacing the problem statement(s) however it appears this is now minimized code or perhaps the error is hit in a different place.

Noted, I'll try to replicate it. Thanks for the stacktrace, I know where to look :)

I could replicate and fix it, it'll ship in v4.4.6, I'll notify you when the fix is available in beta.

I just pushed an update to http://beta.jamstash.com, let me know if your issue is resolved.

Cleared my cache for the beta site. Still seeing the failure:

TypeError: Cannot read property 'toString' of undefined
at mapAlbum (scripts.min.af4d8cb1.js:1)
at scripts.min.af4d8cb1.js:1
at Object.f as forEach
at mapAlbums (scripts.min.af4d8cb1.js:1)
at scripts.min.af4d8cb1.js:2
at g.promise.then.k (vendor.min.c9bf7851.js:5)
at vendor.min.c9bf7851.js:5
at k.$get.k.$eval (vendor.min.c9bf7851.js:5)
at k.$get.k.$digest (vendor.min.c9bf7851.js:5)
at k.$get.k.$apply (vendor.min.c9bf7851.js:5)

I just pushed v4.4.6 to http://beta.jamstash.com, I ran a test with the album you provided and saw no error. Is it fixed on your side too ?

Looks like it is working! Thanks!