mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-08-18 16:46:17 +00:00
When isXMLMigrated and isTelnetMigrated both return false, the UI fell through to the ❌ "Original (Bose cloud)" catch-all even if the speaker's on-device URLs clearly point to a non-Bose host. This happened when the service's Settings Target Domain and the URL written to the speaker had drifted — e.g. migrated with http://spotify:8000 but Settings URL is an IP address, or vice versa. Add isMigratedToOtherTarget() that checks parsed_current_config: if at least one URL field is set and none contain a known Bose cloud hostname, the speaker has been migrated, just not to the *current* Settings Target Domain. - urlConfigVerdict now returns ⚠️ "Migrated (URL mismatch)" in this case, showing the actual margeServerUrl and noting that the speaker must be able to reach the service there - The top-level migration status badge shows ⚠️ orange instead of ❌ red - The apply plan path is unchanged: it will re-point the speaker to the current Settings Target Domain, which is one valid resolution path Related to #408 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>