/
/
# What does this implement/fix? <!-- Quick description and explanation of changes. --> A config value that matches its entry default is not persisted, so a setting left at its default had nothing in `values` for the setup_data migration to move. Before the setup flows landed those keys were declared as config entries carrying the default, so reads resolved it even with nothing stored. The entries moved into the setup flow modules, which only run during setup, so the same reads now return None. For Plex this made the server URL "https://<host>:None" for every instance on the default port, which no HTTP client can parse, so the provider failed to load. A provider that is not loaded has no resolvable options either, which is why its config screen came up without any fields. Six other providers lost a value the same way: filesystem_local `path`, filesystem_smb `subfolder`, jellyfin and audiobookshelf `verify_ssl`, siriusxm `sxm_region` and alexa `url`/`api_url`. The two verify_ssl ones read back as False, silently dropping certificate verification. The migration now restores those keys from a table of the defaults they used to carry. It fills a key only when it is absent, so an explicit choice is never overwritten, and it no longer requires something in `values` to move, so an install that was already migrated by an earlier run is repaired as well. **Related issue (if applicable):** - related issue https://github.com/music-assistant/support/issues/6156 ## 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: Marvin Schenkel <[email protected]>