Fix mDNS address selection for devices with multiple network interfaces#50
Open
stanelie wants to merge 1 commit into
Open
Conversation
When a device advertises multiple IP addresses via mDNS (e.g. Dante VIA running on a host with several interfaces), always picking addresses[0] could return an address on the wrong interface. Use the configured --interface IP to select the address on the matching subnet instead, falling back to addresses[0] when no interface is configured or only one address is advertised. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
addresses[0]could resolve to the wrong interface's IP._pick_address()helper inbrowser.pythat, when--interfaceis configured, selects the advertised address on the matching subnet instead.addresses[0]when no interface is configured or only one address is advertised, preserving existing behaviour.Test plan
netaudio device listwithout--interface— behaviour unchanged for single-interface devicesnetaudio --interface <iface> device liston a network with a Dante VIA host that has multiple interfaces — verify the reported IP matches the interface subnet and agrees with Dante Controller🤖 Generated with Claude Code