Repository navigation
Recover initial Steam connections across distinct CM servers - #477
Open
intraducine wants to merge 2 commits into
Open
intraducine wants to merge 2 commits into
intraducine wants to merge 2 commits into
Conversation
Adapt connection recovery from kuscholar/iDeck at e3d845edd4cf46a247baea6d2cc398d7ba71812d. Retain certificate validation, bound endpoint retries, clean up failed transports, and isolate stale messages and cancelled handshakes. Add deterministic production-method tests and CI coverage. Signed-off-by: intraducine <265588704+intraducine@users.noreply.github.com>
insertfloppy
pushed a commit
to insertfloppy/Madeira
that referenced
this pull request
Oct 31, 2026
…aust#501 log move fallback [skip ci] Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LRteDvgrjU8qVByo5Mipwz Signed-off-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Steam sign-in could stop at the first WebSocket handshake failure and leave the failed task and session attached. A new connection now tries at most three distinct CM servers from Valve's directory, cleans up each failed transport, and preserves the last transport error when the server list is exhausted.
Adapted from kuscholar/iDeck at e3d845e, with credit retained in the code and documentation. Explicit certificate failures, offline errors and cancellation stop without retry. URLSession's certificate and hostname checks remain enabled. Errors retain only a known domain and numeric code. Additional guards prevent old messages, old disconnect callbacks and a delayed successful handshake from affecting a replacement or cancelled connection.
The change targets Madeira main's existing native Steam transport and requires no BCD or Playport port. The regression test also runs in CI.
Validation:
git diff --checkpassed.Live Steam, real TLS/VPN failures, device gameplay and a full IPA build were not tested.