MarshallOfSound / Google-Play-Music-Desktop-Player-UNOFFICIAL-

A beautiful cross platform Desktop Player for Google Play Music
https://www.googleplaymusicdesktopplayer.com
MIT License
8.28k stars 767 forks source link

Cast Button Disappears With Awkward Networking #3560

Open BTZuckier opened 5 years ago

BTZuckier commented 5 years ago

Checklist:

OS: Win10 1809 w/ newest Security Update as of post

GPMDP Version: 4.6.1

Issue Descriptions: When there is an active ethernet connection that doesn't have a connection to the internet, and also a WiFi connection that does have internet access - the cast button does not show up. The program functions in all other aspects, to my knowledge.

I don't know how far this goes. That is to say: I have other ethernet adapters enabled on my computer, but they are inactive. Like my VPN. These don't bother the program at all. So 'active' seems to be a component. I don't know if it only breaks casting when ethernet is the bad guy and WiFi is the good guy or if the other way works too. I don't know if the ethernet not being connected to a network (it couldn't get an IP address) at all, not being connected to the internet, or not being connected to the same network as my WiFi/Google Home Mini is what causes the problem. etc.

Other weirdness in the broken state: when I reconnect (toggle on and off) the WiFi connection with GPMDP open, the cast button reappears. Yet when I click it, instead of showing my 3 devices, it shows a blank list that responds to clicking but doesn't do anything.

I am aware of and in compliance with the firewall and bonjour situation. Also, I don't necessarily know if this is fixable. Ie if it is a 'you thing' or a 'Windows/networking thing'.

Steps to Reproduce: Boot Windows 10. Connect ethernet to a bad network that doesn't resolve an IP. Connect WiFi to the same network as a cast device which usually works. Open GPMDP. Observe the lack of cast button.

EDIT: Did a bit more testing. If I am first connected to just WiFi and am casting to my Home Mini, then I connect the bad ethernet with everything open and playing, it works even if I turn off WiFi, wait for GPDMP to complain, turn back on WiFi - the cast button is still present (with the bad ethernet still connected). This is also the case if I am first connected to just WiFi and am casting to my Home Mini, then I first disconnect WiFi then connect the bad ethernet with everything open and playing and turn WiFi back on again - everything works as above (even with bad ethernet still connected). Although, after the above, while it's functioning I now have 3 copies of that cast device in the list of "Choose Cast Device" and the list is wayyy too long. It has my 3 actual devices (let's call them) d1, d2, d3, and then numerous blank lines, (that sort of respond to being clicked, as described in the issue post above when it isn't working) and then d1, d1. However, also of note in both of these (similar) working cases (connecting the bad ethernet and cycling the good WiFi in some capacity), if I close and open GPMDP without changing anything else, the cast button is no longer present (need to disconnect ethernet, have the good WiFi, and close and reopen GPMDP to get the button back).

Edit2: I opened google chrome in the same way as GPMDP (both programs fully closed, bad ethernet and good WiFi connected, open both programs). GPMDP did not have the option to cast (as outlined in my issue post above) but YouTube/Chrome presented the cast menu and casting functioned properly. This leads me to believe that there is not an insurmountable underlying problem with Windows/Networking.

I also discovered the following sequence of actions and outcomes: Fully close GPMDP, connect bad ethernet, connect good WiFi, open GPMDP => Cast button is not displayed and GPMDP is in the classic error state described in the issues section above. (Continuing from here) GPMDP is in error state, disconnect the offending bad ethernet, press control+R which refreshes the program (a soft reboot, I guess?) => the cast button is back and fixed! I don't know if this is interesting. Namely if there's any fundamental difference between this soft reboot and just actually closing and reopening the program entirely.

NOTES:

  1. Having my music cut in and out and not being able to listen to it while writing and examining this issue was very stressful.
  2. No, I don't think "just don't have a bad ethernet connection while trying to cast" is a good solution.
  3. I did this to procrastinate an English essay assignment.
  4. Does anyone have a summer internship for me? I'm (humbly) a dedicated and good college student who is getting kinda desperate now (my other plans fell-through :/) thanks.
  5. Whoops. Speaking of college, I accidentally posted this with my college GitHub account...
welcome[bot] commented 5 years ago

πŸ‘‹ Thanks for opening your first issue here! If you're reporting a 🐞 bug, please make sure you include steps to reproduce it. We get a lot of duplicate issues on this repo, so please double check now that your issue has not already been solved or doesn't have an open issue already. To help make it easier for us to investigate your issue, please follow the contributing guidelines and ensure the issue template was filled out.

jeffstokes72 commented 5 years ago

This also occurs when I have Hyper-V enabled (which throws a few network interfaces onto the system, most don't go anywhere).

My steps to reproduce.

I suspect it has to do with default routes for interfaces of different metric values. I also have PrivateInternetAccess VPN installed but disabled, its presence does not seem to impact the player though.

jeffstokes72 commented 5 years ago

More info on the Hyper-v example.

If you enable Hyper-v but do not create a network switch, music player can cast. If I make another external based network for my VMs, it can't.

image works

image doesnt work

jeffstokes72 commented 5 years ago
  1. Does anyone have a summer internship for me? I'm (humbly) a dedicated and good college student who is getting kinda desperate now (my other plans fell-through :/) thanks.
  2. Whoops. Speaking of college, I accidentally posted this with my college GitHub account...

jeff.stokes@tanium.com, email me.

crzdmniac commented 4 years ago

Uninstalling Npcap fixed this for me. Thanks for pointing me in the right direction!

AndrewMuise commented 4 years ago

Along a similar line, disabling the Hyper-V network also resolved the issue for me, as well as when I did this GPMDP re-asked for firewall access, almost like it had created the firewall rules for the wrong network

Works image

Didn't work image

But re-enabling seemed fine afterwards

Steps to resolve

  1. Close GPMDP
  2. Check to see if there are networks GPMDP may have confused for the intended network for configuring firewall rules
  3. Disable the offending networks temporarily
  4. Press ctrl/cmd+R to refresh GPMDP Launch GPMDP and check if the cast button is as expected in the bottom right corner
  5. Re-enable networks as required

The next time you launch the application it should still have the cast button. I will report here if I can reproduce this issue, and if the resolution is repeatable. https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-/issues/3605 Is a similar issue with less helpful discussion, but with a similar conclusion that network weirdness is the cause

This issue is reproducible, by enabling the offending networks and reloading GPDMP