mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-09-07 15:07:17 +00:00
pkg/stereopair's sameRoles and pkg/service/datastore's sameGroupGenerationTopology independently reimplemented the same Role-keyed topology comparison, but normalized IP addresses differently (net.ParseIP-only vs. plain string equality) -- exactly the class of disagreement models.SameGroup was already created to fix for order-sensitivity. Both now delegate their per-role comparison to a new models.SameGroupRoles, which treats equal-but-differently- formatted IPs as a match without regressing the common both-addresses-unset case either implementation relied on. models.SameGroup and datastore's sameStereoPair stay distinct (commented why): both are intentionally ID/IP-agnostic for reasons unrelated to this consolidation. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>