5a65b62a3d
The Windows client now reports runtime errors in its graceful disconnect message so relay logs can show why a client stopped. That message comes from an anyhow error chain, so keep it useful but bounded before sending it over the control stream and using it as the QUIC close reason. Truncate client shutdown messages to 1024 bytes, preserving UTF-8 boundaries and adding an ellipsis when truncation happens. Normal shutdown text and small error chains are unchanged. Test Plan: - cargo fmt --check - cargo test -p lanparty-client-win - cargo test --workspace - cargo clippy --workspace --all-targets -- -D warnings Refs: MVP Windows client diagnostics hardening