/
/
/
# What does this implement/fix? When a sync group streams over a shared protocol (AirPlay, Sendspin), it decides whether it can drop back to the leader's own protocol. That check asked the wrong question: it only treated a speaker as needing the shared protocol if that protocol was its *one and only* way to play. Since every AirPlay speaker also gets a Sendspin bridge, no AirPlay speaker ever qualified, so the group would favour a leader on a protocol those speakers cannot actually play on. The same went for players added through a Universal Player, which have no protocol of their own at all. It now asks whether every remaining speaker can play on the leader's own protocol, and only drops back when they all can. This only steers which speaker the group prefers as leader; the protocol itself is re-negotiated when the group re-forms, so a wrong preference corrected itself. No playback breakage was reported — hence `maintenance`. **Related issue (if applicable):** - n/a ## Types of changes - [ ] Bugfix (non-breaking change which fixes an issue) — `bugfix` - [ ] New feature (non-breaking change which adds functionality) — `new-feature` - [ ] Enhancement to an existing feature — `enhancement` - [ ] New music/player/metadata/plugin provider — `new-provider` - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) — `breaking-change` - [ ] Refactor (no behaviour change) — `refactor` - [ ] Documentation only — `documentation` - [x] Maintenance / chore — `maintenance` - [ ] CI / workflow change — `ci` - [ ] Dependencies bump — `dependencies` ## Checklist - [x] The code change is tested and works locally. - [x] `pre-commit run --all-files` passes. - [x] `pytest` passes, and tests have been added/updated under `tests/` where applicable. - [ ] For changes to shared models, the companion PR in `music-assistant/models` is linked. - [ ] For changes affecting the UI, the companion PR in `music-assistant/frontend` is linked. - [x] I have read and complied with the project's [AI Policy](https://github.com/music-assistant/.github/blob/main/AI_POLICY.md) for any AI-assisted contributions. - [ ] I have [raised a PR against the documentation repository](https://github.com/music-assistant/music-assistant.io/blob/main/CONTRIBUTING.md) targeting the main or beta branch as appropriate.