mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-08-19 00:56:16 +00:00
The speaker's preset PUT carries only <sourceid> — no symbolic source name — so we can't strict-match at write time the way we do on /full emission. Adds a diagnostic-only inference from the preset's location URL pattern (/v1/playback/station/sNNN -> TUNEIN, /playback/container/ -> SPOTIFY, /custom/v1/playback/ -> LOCAL_INTERNET_RADIO) and logs when the inference disagrees with the bound source's SourceKeyType. This is visibility, not enforcement: the binding still proceeds as the speaker requested (per "speaker wins"). The log gives the operator a concrete pointer — "the URL looks like TUNEIN but I bound to RADIOPLAYER, your Sources.xml may be stale, try setup.syncSources" — instead of leaving them to discover the drift via the consistency check days later. URL inference is deliberately fuzzy and one-way: it only triggers a log when confident, returns "" otherwise, and never feeds the binding decision. That keeps it from re-introducing the guesswork the user pushed back on for the actual GH-343 fix. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>