The manual lifecycle check depends on the Windows client diagnostics moving
from connected, to disconnected, and back to connected when the LAN gateway is
restarted. Existing formatter tests covered a gateway leave, but not the
replacement join updating the tracked gateway peer id afterward.
Add a client lifecycle unit test that formats the first gateway join, its leave,
and a replacement gateway join. The assertions prove the client-side relay
status clears the old peer id and then reports the new gateway as connected.
Test Plan:
- cargo fmt --check
- cargo test -p lanparty-client-win \
tracks_gateway_replacement_after_disconnect -- --nocapture
- cargo test -p lanparty-client-win
- cargo test --workspace
- cargo clippy --workspace --all-targets -- -D warnings
- git diff --check
Refs: MVP lifecycle sanity check