feat: MMSClient WebSocket implementation and refactor + UI Hookup.#48
Draft
Liparakis wants to merge 5 commits intoExtremelyd1:mainfrom
Draft
feat: MMSClient WebSocket implementation and refactor + UI Hookup.#48Liparakis wants to merge 5 commits intoExtremelyd1:mainfrom
Liparakis wants to merge 5 commits intoExtremelyd1:mainfrom
Conversation
Contributor
Author
|
I marked this as a Draft because i want to clear up any ambiguity or edge cases that might exist. Also i might tone down the comments because they currently take up more space than the code itself. I have also already changed the port to 6001 for Discovery in this Draft |
- Refactored MmsJsonParser with defensive boundary checks and null-returns for graceful handling. - Unified lobby codes to be nullable in the public UI models and improved connection data fallbacks. - Mapped join parse failures to NetworkFailure and explicitly validated array structures in Lobby Queries. - Dropped volatile enum mappings for URL arguments in favor of strict string constants. - Cleaned up fragmented error tracking into a single _lastError state in MmsClient. - Replaced tight-loop buffering allocations with ArrayPool<byte> on WebSocket receives. - Forced oversized WebSocket frames to degrade gracefully instead of crashing parent tasks. - Fixed un-declared variable and silent IP extraction failures across matchmaking components.
- Resolved Unity main-thread violations in MmsWebSocketHandler via SynchronizationContext. - Fixed race conditions and lifecycle leaks in lobby session management. - Hardened NAT hole-punching logic and Steam ID validation. - Aggressively minimized XML documentation across the matchmaking namespace.
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.
This PR adds WebSockets to the MMSClient and also splits up the components in a clean-way (Also UI hook-up)