/
/
/
# What does this implement/fix? When a speaker registers, we restore the output connections (AirPlay, Sendspin, ...) we saved for it earlier. That restore path added the entries straight into the player's internal list instead of going through the setter, so it was the only add/remove path in the file that skipped the normal "player changed" notification. It relied on the player still being mid-registration, even though the pass a few lines above it already goes through the setter in that exact same window. Now it collects the restored entries and hands them to the setter in one go, so the code no longer depends on where it is called from. **Related issue (if applicable):** - follow-up on #5660 ## 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` ## Changes - Restored connections are collected and applied in a single call through the same setter every other add/remove path uses. - The duplicate check reads the collected entries, so it keeps working unchanged now that they are no longer added one by one. - Added a test for the restore path. ## 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.