vincelwt / harmony

:musical_note: Sleek music player for Spotify, SoundCloud, Google Play Music and your local files
http://getharmony.xyz
859 stars 58 forks source link

Google Play Music incomplete collection #150

Open Feichtmeier opened 7 years ago

Feichtmeier commented 7 years ago

Ubuntu 16.04. Unity 7.4 Harmony 0.4.5

The albums from my online collection miss songs and are not complete.

image

vincelwt commented 7 years ago

Hi, Are you using the paid tier of Google Play Music ? Are you able to find to find similarities behind the tracks not showing?

It would also be useful to have the log, right after your refresh your music library. You can find the log by pressing ctrl+alt+i and opening the 'console' tab

Feichtmeier commented 7 years ago

Yes I am using the paid tier. here is a picture of a log, and an example album where 1 song is missing. I didn't see any similarities. Sometimes 1 sometimes more songs are missing

image

jessehouwing commented 7 years ago

I have a similar problem on win32 with the latest 0.5 version. The logs don't show anything useful, but from the 37000 tracks on google music, only a fraction is returned:

C:\Users\JesseHouwing\AppData\Local\Programs\Harmony\0.4.7>
[13352:0319/152752.566:INFO:CONSOLE(25)] "We are on a -win32- system", source: C:\Users\JesseHouwing\AppData\Local\Programs\Harmony\0.4.7\resources\app\node_modules\console-redirect\index.js (25)
[13352:0319/152752.704:INFO:CONSOLE(25)] "Mediakeys module not found.", source: C:\Users\JesseHouwing\AppData\Local\Programs\Harmony\0.4.7\resources\app\node_modules\console-redirect\index.js (25)
[13352:0319/152752.711:INFO:CONSOLE(25)] "ll-keyboard-hook-win module not found.", source: C:\Users\JesseHouwing\AppData\Local\Programs\Harmony\0.4.7\resources\app\node_modules\console-redirect\index.js (25)
[13352:0319/152755.130:INFO:CONSOLE(25)] "Testing internet...", source: C:\Users\JesseHouwing\AppData\Local\Programs\Harmony\0.4.7\resources\app\node_modules\console-redirect\index.js (25)
[13352:0319/152756.832:INFO:CONSOLE(25)] "Latest release is v0.5.0 and we're running undefined", source: C:\Users\JesseHouwing\AppData\Local\Programs\Harmony\0.4.7\resources\app\node_modules\console-redirect\index.js (25)
[13352:0319/152801.558:INFO:CONSOLE(25)] "Fetching services data over.", source: C:\Users\JesseHouwing\AppData\Local\Programs\Harmony\0.4.7\resources\app\node_modules\console-redirect\index.js (25)
[13352:0319/152918.634:INFO:CONSOLE(25)] "Testing internet...", source: C:\Users\JesseHouwing\AppData\Local\Programs\Harmony\0.4.7\resources\app\node_modules\console-redirect\index.js (25)
[13352:0319/152919.792:INFO:CONSOLE(25)] "Latest release is v0.5.0 and we're running undefined", source: C:\Users\JesseHouwing\AppData\Local\Programs\Harmony\0.4.7\resources\app\node_modules\console-redirect\index.js (25)
[13352:0319/152922.790:INFO:CONSOLE(25)] "Fetching services data over.", source: C:\Users\JesseHouwing\AppData\Local\Programs\Harmony\0.4.7\resources\app\node_modules\console-redirect\index.js (25)

Didn't find anything in the logs that makes sense. Apart from the missing tracks, a lot of the playlists come up empty too.

vincelwt commented 7 years ago

@jessehouwing Are you also using the paid tier of Google Play Music ?

jessehouwing commented 7 years ago

I'm using free tier and have a few bought albums. Using 2FA and on an app-password, no clue if that makes any difference.

vincelwt commented 7 years ago

@jessehouwing Can you find any pattern with the tracks missing? I really don't see where this is coming from.

also @Feichtmeier what is the approximate size of your library in terms of tracks ?

jessehouwing commented 7 years ago

I tried to capture a fiddler trace, but the calls to google music don't seem to flow through the local proxy, I don't see any traffic that indicates funny behavior, other than seeing no traffic at all. I'm using 2FA and an app password, and Google triggers a "New device" warning on my phone the first time I try to sync my library. It looks like about 1000 tracks of the total 32000 have made it through. Only one of the playlists has synced, but it shows only one item of 381. The other 6 playlists all contain 0 items, including the auto-playlists. Is there anything I can do to turn on additional?

vincelwt commented 7 years ago

I'm not sure if this is an issue with harmony or the playmusic module. The only explanation I see for now is that maybe a Play Music request only returns 1000 tracks but more requests are needed for the rest, like Spotify do for example. I actually just checked and my library (on Harmony) is showing exactly 1000 tracks, which seems like too big of a coincidence. That would explain why some of your playlists appear empty, as for free users the playlists tracks are taken from the library.

I'll take a more in depth look at that over the next days, thanks for the help! I'll open an issue on the playmusic module if I can't fix it.

vincelwt commented 7 years ago

OK after analysing the request, Google indeed returns a 'nextPageToken' for more than 1000 tracks.

vincelwt commented 7 years ago

Fixed ;) Thanks to this issue. Will be available with 0.5.1 :)

vincelwt commented 7 years ago

Should be ok now with 0.5.1 :)

jessehouwing commented 7 years ago

Hmmm... completely broken for me with 0.5.1:

C:\Users\JesseHouwing\AppData\Local\Programs\Harmony\0.4.7>
[27808:0326/122639.648:INFO:CONSOLE(25)] "We are on a -win32- system", source: C:\Users\JesseHouwing\AppData\Local\Programs\Harmony\0.4.7\resources\app.asar\node_modules\console-redirect\index.js (25)
[27808:0326/122639.848:INFO:CONSOLE(25)] "Testing internet...", source: C:\Users\JesseHouwing\AppData\Local\Programs\Harmony\0.4.7\resources\app.asar\node_modules\console-redirect\index.js (25)
[27808:0326/122641.094:INFO:CONSOLE(25)] "Latest release is v0.5.1 and we're running 0.5.1", source: C:\Users\JesseHouwing\AppData\Local\Programs\Harmony\0.4.7\resources\app.asar\node_modules\console-redirect\index.js (25)
[27808:0326/122650.469:INFO:CONSOLE(25)] "Error fetching data.", source: C:\Users\JesseHouwing\AppData\Local\Programs\Harmony\0.4.7\resources\app.asar\node_modules\console-redirect\index.js (25)
[27808:0326/122847.497:INFO:CONSOLE(25)] "Testing internet...", source: C:\Users\JesseHouwing\AppData\Local\Programs\Harmony\0.4.7\resources\app.asar\node_modules\console-redirect\index.js (25)
[27808:0326/122848.139:INFO:CONSOLE(25)] "Latest release is v0.5.1 and we're running 0.5.1", source: C:\Users\JesseHouwing\AppData\Local\Programs\Harmony\0.4.7\resources\app.asar\node_modules\console-redirect\index.js (25)
[27808:0326/122857.634:INFO:CONSOLE(25)] "Error fetching data.", source: C:\Users\JesseHouwing\AppData\Local\Programs\Harmony\0.4.7\resources\app.asar\node_modules\console-redirect\index.js (25)

No other useful information in the logs. PS on windows I can't get ctrl-alt-i to work to view logs. I'm still running with --enable-logging and grab the logs from the commandline console.

vincelwt commented 7 years ago

@jessehouwing Could you try resetting your data (settings window) and login again? There was some changes that might need a reset.

jessehouwing commented 7 years ago

did a reset. No dice. But I did find a better error message for you:

We are on a -win32- system
Testing internet...
Latest release is v0.5.1 and we're running 0.5.1
Error fetching data. Error: error getting library: Error: 500 error from server
    at C:\Users\JesseHouwing\AppData\Local\Programs\Harmony\0.4.7\resources\app.asar\node_modules\playmusic\play.js:265:33
    at IncomingMessage.<anonymous> (C:\Users\JesseHouwing\AppData\Local\Programs\Harmony\0.4.7\resources\app.asar\node_modules\playmusic\play.js:86:48)
    at emitNone (events.js:91:20)
    at IncomingMessage.emit (events.js:185:7)
    at endReadableNT (_stream_readable.js:974:12)
    at _combinedTickCallback (internal/process/next_tick.js:74:11)
    at process._tickCallback (internal/process/next_tick.js:98:9)
We are on a -win32- system
Reseting all...
We are on a -win32- system
Testing internet...
Latest release is v0.5.1 and we're running 0.5.1
Error fetching data. Error: error getting library: Error: 500 error from server
    at C:\Users\JesseHouwing\AppData\Local\Programs\Harmony\0.4.7\resources\app.asar\node_modules\playmusic\play.js:265:33
    at IncomingMessage.<anonymous> (C:\Users\JesseHouwing\AppData\Local\Programs\Harmony\0.4.7\resources\app.asar\node_modules\playmusic\play.js:86:48)
    at emitNone (events.js:91:20)
    at IncomingMessage.emit (events.js:185:7)
    at endReadableNT (_stream_readable.js:974:12)
    at _combinedTickCallback (internal/process/next_tick.js:74:11)
    at process._tickCallback (internal/process/next_tick.js:98:9)
Feichtmeier commented 7 years ago

Yay I think it is working! And the unity7 sound menu integration too! Great work!

image

vincelwt commented 7 years ago

@Feichtmeier Great!

@jessehouwing Hm, seems like an error communicating with the Google servers :/ maybe your library is too big to be sent with one request ? I'm not sure, maybe trying again later will do the trick

jessehouwing commented 7 years ago

If you want to do a screenshare in which I give you a temporary google app password, I can do that...

jessehouwing commented 7 years ago

@vincelwt tried again today. Logged off, reset, logged on, restarted, used a fresh 2FA token. No dice. Same error as above.

Update 7 april: not a time based issue. Reset &restart, still not working,

vincelwt commented 6 years ago

@jessehouwing I think it should now be fixed as the play music library fixed an error regarding 500 status codes