While one should not do this intentionally as I did, it is sure to occur to some accidentally.
There are lots of possible ways to deal with it. Here are some suggestions, some of which complement each other, and some of which are exclusionary. Obviously, there are many possible edge cases. Some of these are simple (a), others not as much.
a. tell the user that the player is a group member, and it can't be disabled or deleted until it is first manually removed from the group(s). List the groups to help the user do this.
b. same as a, but the player automatically gets removed from the group(s)
c. keep the disabled player in the groups, but display its name rather than the odd string, and show it as disabled (maybe a different color, stricken, etc). For the delete case, automatically remove it from the groups.
d. automatically disable group(s) whose members are disabled. For deleted members, just remove them
e. keep the disabled player in the group, and allow the group to be used for playback, but only on the remaining (enabled) players members
f. if there are no remaining members (all members deleted), delete the group, and notify the user
g. if the group contains only disabled members, automatically disable it, too
What version of Home Assistant Core are your running
What version of Music Assistant has the issue?
2.0.7
What version of the Home Assistant Integration have you got installed?
2024.6.2
Have you tried everything in the Troubleshooting FAQ and reviewed the Open and Closed Issues and Discussions to resolve this yourself?
The problem
It is possible to delete or disable a player that is part of a group, but display and playback issues ensue
How to reproduce
While 10 and 15 are two different issues, I believe they stem from the same invalid state created in step 8.
The same symptoms occur if a member is deleted in step 8, rather than disabled.
Music Providers
File system (remote)
Player Providers
Airplay
Full log output
log.txt
Additional information
While one should not do this intentionally as I did, it is sure to occur to some accidentally.
There are lots of possible ways to deal with it. Here are some suggestions, some of which complement each other, and some of which are exclusionary. Obviously, there are many possible edge cases. Some of these are simple (a), others not as much.
a. tell the user that the player is a group member, and it can't be disabled or deleted until it is first manually removed from the group(s). List the groups to help the user do this. b. same as a, but the player automatically gets removed from the group(s) c. keep the disabled player in the groups, but display its name rather than the odd string, and show it as disabled (maybe a different color, stricken, etc). For the delete case, automatically remove it from the groups. d. automatically disable group(s) whose members are disabled. For deleted members, just remove them e. keep the disabled player in the group, and allow the group to be used for playback, but only on the remaining (enabled) players members f. if there are no remaining members (all members deleted), delete the group, and notify the user g. if the group contains only disabled members, automatically disable it, too
What version of Home Assistant Core are your running
2024.6.2
What type of installation are you running?
Home Assistant OS
On what type of hardware are you running?
Windows