mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-08-18 00:26:29 +00:00
Two bugs prevented clean stereo-pair teardown: 1. removeGroup (CLI) only contacted the --host speaker (master). The slave never received /removeGroup and stayed stuck in GroupSlave state indefinitely, blocking direct playback. Fix: fetch the current group first, then send /removeGroup to every member in parallel — mirrors the same symmetry as createGroup (issue #252). 2. Speakers send DELETE /streaming/account/{id}/group/ (trailing slash, no group ID) during teardown. Master and slave live in different accounts, so each deletes its own copy independently. AfterTouch had no route for this form → 405. Fix: add DeleteAllGroupsForAccount to the datastore (scans Group_*.xml, idempotent if none found) and wire DELETE /group and DELETE /group/ to a new HandleMargeDeleteAccountGroups handler in both routing blocks. Confirmed: after the fix both DELETE calls return 200 and the slave exits GroupSlave state cleanly. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>