IPv6 client addresses truncated (last hextet treated as port), causes endless /api/location/lookup loop (traefik-log-dashboard #232)

:octopus: GitHub issue traefik-log-dashboard #232, opened by kurthw on GitHub

Traefik access log (JSON) contains the full address:
“ClientAddr”:“[2a02:1210:8c53:9c00:bd88:4066:d542:83bd]:2270”
“ClientHost”:“2a02:1210:8c53:9c00:bd88:4066:d542:83bd”

The dashboard sends the truncated, invalid address to the lookup API:
POST /api/location/lookup {“ips”:[“2a02:1210:8c53:9c00:bd88:4066:d542”]}
Response: {“locations”:,“count”:0}

The frontend retries this every ~500 ms indefinitely, so the
“Loading location data…” toast keeps flashing.

Expected:

  • Use ClientHost, or strip the port only after the closing bracket for IPv6
  • Cache failed lookups (GEOIP_UNKNOWN_CACHE_TTL_MS) in the frontend as well

Setup: agent + dashboard :latest, local GeoLite2-City MMDB, Traefik 3.7.16 behind Pangolin.


:speech_balloon: Discuss it here. Status, fixes and code review stay on GitHub.