mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-08-18 16:46:17 +00:00
Audit item #1 (11+ recurrences in issues / discussions): pull speaker /info + /sources + /presets, plus service-side state and pairing inference, into one view per device. Backend: GET /setup/device-summary/{deviceId} probes the three speaker endpoints concurrently (sync.WaitGroup, 3 s per probe) and merges the result with what the datastore knows for the same device. Partial failures don't break the response — each sub-section carries its own reachability + error + curl_command so the UI can render copy-paste fallbacks when the service host can't reach the speaker. JSON shape covers four panels: - device identity + firmware - speaker {info, sources, presets} with raw outcomes - service server URL, expected hosts, Sources.xml / Presets.xml presence and counts - pairing paired flag, marge host, host match UI: new "Inspect" button per row on the Devices tab. Clicking expands a sibling row with five summary cards (info / sources / presets / service / pairing). Each unreachable card renders the matching curl command with a Copy button — same dual-mode pattern as Health findings. Closes the gap operators were filling by manually concatenating curl output across the three speaker endpoints when filing bug reports. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>