mirror of
https://github.com/kernelkit/infix.git
synced 2026-07-22 01:13:00 +02:00
Add a second discovery backend that reads mDNS neighbor data directly from the sysrepo operational datastore via `copy operational-state -x /mdns`, selectable with --backend operational. Add an auto backend (the new default) that tries the operational data first and falls back to avahi-browse if the `copy` command is unavailable or mDNS is disabled (visible via "enabled": false in the JSON). This makes the service work correctly in all configurations without manual tuning. Refactor TXT record parsing into parseTxt() and service/host assembly into buildHosts(), shared by both backends. Extract fetchOpRoot() and parseOperational() so scanOperational() and scanAuto() share the same JSON fetch/decode and host-building logic without duplication. Fix a bug where TXT values containing semicolons were truncated (parts[9] → strings.Join(parts[9:], ";")), and apply decode() to TXT values so avahi \DDD escapes are resolved. Add Apple device model support via the am= (RAOP/AirPlay 1) and model= (AirPlay 2) TXT keys. Display the last-updated timestamp in 24-hour format regardless of the browser's locale. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>