mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-08-18 08:36:13 +00:00
GH-343: a TUNEIN preset surviving a reboot used to come back from /full re-attributed to RADIOPLAYER because mapPresetsToFullResponse's step-1 exact-ID match accepted any source with the matching numeric ID, regardless of what the preset originally claimed for its Source. The speaker trusts /full as ground truth, so the local preset got its source attribute silently rewritten. Tighten step-1: refuse the bind when the preset's claimed Source and the configured source's SourceKeyType disagree (both populated). The existing step-2 type/account fallback then finds the right source, or synthesise/skip handles the no-match case. The refusal is logged so the cross-type collision is visible in service logs. Same fix applied to findMatchingSourceForRecent. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>