/
/
/
# What does this implement/fix? Every library item needs at least one provider mapping to be playable. When an item update is saved with the "overwrite" flag, the stored mappings are cleared first and then replaced by the ones supplied with the update. If that update happens to carry no mappings at all, the item was left behind with none — present in the library, but impossible to play. No shipped client does this today — the app always sends the item's existing mappings back — but nothing on the server side guaranteed it. Follow-up on #5522, which closed the same hole in the mapping-removal paths. - Keep the existing provider mappings instead of wiping them when an overwrite comes in with none, and log a warning - Added test coverage ## 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` ## 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.