Skip to content

fix(control): prefer real Linux and macOS LAN interfaces - #737

Merged
CaYatur merged 1 commit into
mainfrom
feat/osc-lan-platforms
Oct 11, 2026
Merged

CaYatur merged 1 commit into
mainfrom
feat/osc-lan-platforms

Conversation

@CaYatur

@CaYatur CaYatur commented Oct 11, 2026

Copy link
Copy Markdown
Owner

Summary

  • OSC input, output, and OSCQuery use the same ports on Linux and macOS as on Windows: UDP 9000, UDP 9001, OSCQuery 17801, mDNS 5353.
  • On Linux and macOS, UDP 5353 is privileged and usually held by Avahi or mDNSResponder. The process still announces from another local port, and OSC input stays up on IPv4 if the IPv6 socket cannot open.
  • HOST_INFO now prefers Linux wlp* / wlan* and macOS en0 over Docker veth, utun, and a VPN whose name merely contains the letters "en".

Tests

  • npm test: 2980 pass, exit 0.
  • The LAN picker is checked with Linux (wlp3s0 over veth and docker0), macOS (en0 over utun0 and bridge100), and enp0s3 over OpenVPN.
  • GitHub Actions on the parent commit already ran this suite on Ubuntu and Windows. This branch has no macOS runner, so the macOS check is the interface-name fixture, not a live Mac smoke.

Co-authored-by: caganturgut 271973834+caganturgut@users.noreply.github.com

Wi-Fi names such as wlp3s0 were losing to a Docker veth, and OpenVPN
matched the old "en" fragment. Linux and macOS keep UDP 9000, 9001,
and mDNS 5353. When 5353 is privileged or already held, the announcement
still leaves and IPv4 OSC input keeps listening.

Co-authored-by: caganturgut <271973834+caganturgut@users.noreply.github.com>
@CaYatur
CaYatur merged commit 5dbf2da into main Oct 11, 2026
5 checks passed
@CaYatur
CaYatur deleted the feat/osc-lan-platforms branch October 11, 2026 18:31
@cayadraft

cayadraft Bot commented Oct 11, 2026

Copy link
Copy Markdown

@CaYatur

CaYaDraft — pull request

Summary
This pull request updates the LAN interface selection logic to prefer real physical adapters (like wlp* on Linux or en0 on macOS) over virtual interfaces such as Docker, VPN, and Bluetooth adapters. It also adjusts the regex pattern used to identify virtual networks to include additional types like Apple Wireless LAN (awdl) and Android Native Pipe Interface (anpi).

Files

  • README.md (and .tr.md): Updated documentation regarding port usage and LAN address selection.
  • src/main/osc-query.js: Modified the VIRTUAL_NAME regex to exclude more virtual interfaces.
  • tests/osc-in.test.js: Added test cases verifying that real Linux and macOS interfaces are preferred over Docker and VPN adapters.

Note
Nothing blocking is visible from the text.


Stopping here. I will not merge, push, or change this pull request until you ask.

/caya explain describes the diff. /caya plan previews the next edit. /caya revise adds a commit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant