/
/
# What does this implement/fix? A new Sendspin device connects encrypted, but the server activates no roles until the user decides, so until now the only way to make it play was the full pairing flow. Selecting the device now opens a one-time consent page: a plain OK allows it to play without pairing, and an optional checkbox pairs it instead. On a device that also has an audio input, the same page carries a warning that the input stays off unless the device is paired, and a plain OK declines the input (revisable later by pairing from the device settings). Capture-only clients now register as the new `source` player type and are listed as audio inputs instead of being hidden, so they stay discoverable and their setup is easy to reach. They are excluded from every grouping and playback-target list. One-click completions finish with a `finish_silent` step id that the frontend closes on immediately. The FINISH step itself has to stay: the flow protocol returns it as the response to the final submit and clients key on it to end the flow without sending an abort, so an older frontend that does not know the step id simply shows a regular success screen. **Related issue (if applicable):** - companion frontend PR: https://github.com/music-assistant/frontend/pull/2659 ## Types of changes - [ ] Bugfix (non-breaking change which fixes an issue) — `bugfix` - [x] 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. - [x] 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: Marcel van der Veldt <[email protected]>