Both providers always decoded telnet bytes as Latin-1, which silently
mangles nodes that send UTF-8 (Latin-1 decode never raises, so mixed
encodings across cluster nodes went unnoticed). Added a shared
decode_telnet_bytes() helper that tries UTF-8 first and falls back to
Latin-1, since a byte stream that happens to be valid multi-byte UTF-8
is essentially never accidental Latin-1 text.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>