Skip to content

v1.3.86

Choose a tag to compare

@topcheer topcheer released this 27 Jun 04:59
· 6138 commits to main since this release

v1.3.86

Windows LAN Discovery + A2A Auth Fixes

Bug Fixes

Windows LAN Chat discovery — Fixed multiple issues preventing Windows
instances from fully participating in LAN Chat with peers on other platforms.

  • Windows default route interface detection (netutil.go): The
    defaultRouteInterfaceWindows() parser was returning the Metric column value
    instead of the Interface column, causing mDNS to advertise IPs from virtual
    adapters (WSL, Docker, VPN) instead of the real LAN interface. Now correctly
    parses the Interface IP and resolves it back to an interface name via
    interfaceNameByIP().

  • PreferredIP fallback (ip.go): When the UDP dial method fails (e.g.
    Windows firewall, VPN), PreferredIP() previously returned 127.0.0.1, which
    propagated to the A2A agent card URL and broke all peer connectivity. Now
    falls back through three levels: UDP dial → default-route interface IP →
    first non-loopback IPv4.

  • LAN Chat auth key mismatch (handlers.go, hub.go): When one instance
    configured a custom a2a.api_key (e.g. xyz) and another used the default
    community key, all LAN Chat presence exchanges and messages failed with HTTP
    401. LAN Chat now always uses the built-in community key
    (ggcode-lan-a2a-v1) for both incoming and outgoing requests, independent of
    the configured A2A auth key.

  • Missing Role field in presence response (hub.go): sendPresence()
    response handler was not updating the peer's Role field, causing it to
    appear blank in the participant list even after successful presence exchange.

Improvements

  • A2A server always-on auth: When no auth methods are configured, the A2A
    server now allows all connections instead of rejecting non-localhost requests.
    This aligns with the always-on A2A + mDNS design and fixes cross-instance
    A2A calls between instances with no explicit auth.

  • LAN Chat list output: The lanchat list tool now includes the endpoint
    field for each participant, making it easier to debug connectivity issues.

Documentation

  • Updated A2A host default from 127.0.0.1 to 0.0.0.0 in config examples