Files
Bose-SoundTouch/pkg/service/setup
Tobias GesellchenandClaude Opus 5 c2591f7aa5 fix(setup): ignore cleared preset slots in the readiness comparison
Clearing a slot through the Marge API leaves a zero-value entry in the list
(RemovePreset assigns models.ServicePreset{}), which savePresetsNoLock
persists as <preset id=""> with no filtering. Reading it back gives an empty
slot, while mapPresetsToFullResponse drops it from the rendered /full.

The comparison then refused migration with either "contains a preset without
a slot" or a count mismatch, for a datastore that was otherwise perfectly in
sync, and Data Sync could not fix it because nothing was actually wrong.

An empty slot carries no identity to compare, so skip it on both sides.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-05 21:55:20 +02:00
..