/
/
/
# What does this implement/fix? <!-- Quick description and explanation of changes. --> Before playing to a Cast device, Music Assistant asks the device to open a receiver app. Some devices refuse. Music Assistant ignored the refusal and carried on as though the app had opened, then sent the play command to an app that was not running. Nothing played, and nothing was written to the log, so these devices were very hard to troubleshoot. This checks whether the app actually opened. If it did not, playback stops with a clear error instead of failing quietly. The log now also shows the reason the device gave, which the cast library only records at debug level and is normally hidden. The setting that picks which receiver app to use is left alone. If the launch fails, the warning suggests trying the other setting, but Music Assistant will not switch it on its own. Note this does not get the device in the linked issue working. It is what we need in order to see why that device is saying no **Related issue (if applicable):** - related issue https://github.com/music-assistant/support/issues/5981 ## Types of changes <!-- Tick exactly one box. CI (.github/workflows/pr-labels.yaml) derives the label from the ticked box and applies it automatically; the release-notes generator uses that same label to slot this change into the next release notes. --> - [X] 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` - [ ] 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. Co-authored-by: Claude <[email protected]> Co-authored-by: Marcel van der Veldt <[email protected]>