Skip to content

Comments

client-api: Send WebSocket messages fragmented#2931

Merged
kim merged 16 commits intomasterfrom
kim/ws/fragmented-writes
Dec 9, 2025
Merged

client-api: Send WebSocket messages fragmented#2931
kim merged 16 commits intomasterfrom
kim/ws/fragmented-writes

Conversation

@kim
Copy link
Contributor

@kim kim commented Jul 11, 2025

RFC 6455, Section 5.4 describes message fragmentation, and we can do that with tungstenite.

It does seem to help getting control messages (ping, pong, close) through without head-of-line blocking.

Expected complexity level and risk

2 - Need to test with clients

Testing

TBD - some more abstraction is needed due to the difficulty of synthetically producing a large outgoing message.

kim added 2 commits July 11, 2025 12:31
RFC 6455, Section 5.4 allows to send message fragmentation, and we can
do that with tungstenite.
@kim kim marked this pull request as ready for review July 14, 2025 14:00
@bfops bfops added the release-any To be landed in any release window label Jul 14, 2025
Copy link
Contributor

@aasoni aasoni left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested this locally with BitCraft and had no issues loading into the game and playing for a few minutes.

Copy link
Contributor

@aasoni aasoni left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was deployed to the BitCraft production cluster over a week ago and has not had issues.

@kim kim enabled auto-merge December 9, 2025 08:47
@kim kim added this pull request to the merge queue Dec 9, 2025
Merged via the queue into master with commit 062649c Dec 9, 2025
25 of 26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-any To be landed in any release window

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants