mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-08-20 01:26:14 +00:00
Adds a new health check that surfaces preset / recent / sources inconsistencies operators previously had to dig out by hand. For every paired device, the check runs three analyses: 1. Service-side internal consistency. Verifies every Presets.xml and Recents.xml entry's <sourceid> resolves to a Sources.xml entry, and flags duplicate source-type entries (mapPresetsToFullResponse picks the first match, so duplicates can mask GH-343-style cross-type binds). 2. Speaker-side internal consistency. Same analysis applied to the speaker's :8090 XML — catches the case where the speaker locally knows a TUNEIN preset but the speaker's /sources list doesn't advertise TuneIn (a #253-class trigger). 3. Cross-side comparison. Speaker vs service per slot / per recent / per source type. A preset whose source attribute disagrees between sides is flagged with both values in the detail — that's the GH-343 footprint after a reboot, and now it shows up as a Finding instead of a forum thread. Speaker probes fail gracefully with a copy-pasteable curl block; the service-side internal check still runs. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>