mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-09-07 15:07:17 +00:00
When a `devices` snapshot lost the revision comparison, the merge kept the newer status we already held but took the rest of the incoming entry. That produced a self-inconsistent device: the server derives stereoPair from the very status.Group the snapshot lost on, so a snapshot captured before a pair was dissolved restored its projection alongside a status that had already cleared the group. StereoPair.js then rendered a pair that no longer exists, with an expectedGroupId pointing at a deleted group. Keep the entry we hold instead. The cost is that info riding the same snapshot waits for the next one, bounded at 5s by the periodic devices frame and in practice much shorter, because whatever produced the newer status also queued a device-list broadcast. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>