/
/
/
# What does this implement/fix? Speakers can keep a source like Spotify Connect loaded and reported as *paused* long after the app abandoned it, offering nothing that tells such a dead session apart from a real pause. Playback commands then go to that dead session, so pressing play resumes the app instead of starting your Music Assistant queue. That was fixed for Sonos in #5688. The same handling now lives with the players in general, so a speaker that behaves this way only has to opt in. It is switched on for HEOS, WiiM and Home Assistant players, which all keep such a source paused indefinitely with nothing that ever corrects it. No reports for those yet — this is applying a known fix where the same shape exists, rather than waiting for it to be hit. Pausing an external source from Music Assistant and picking it straight back up still works, and pausing your own queue is never affected. **Related issue (if applicable):** - Follow-up to #5688 ## 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 - Move the grace period for a paused external source out of the Sonos provider, so any player can use it - Switch it on for HEOS, WiiM and Home Assistant players - Only give up on a source that is really external, never on Music Assistant's own playback or on audio we render ourselves - Keep giving up right away on a source a speaker refuses to resume ## 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.