Skip to content

Update bevy_replicon to 0.37.0#74

Merged
aecsocket merged 7 commits intomainfrom
boris/update-replicon
Dec 11, 2025
Merged

Update bevy_replicon to 0.37.0#74
aecsocket merged 7 commits intomainfrom
boris/update-replicon

Conversation

@aecsocket
Copy link
Owner

@aecsocket aecsocket commented Dec 8, 2025

Fixes #73.

When pushing a message into a Transport for sending, we split it into fragments. If the message is zero-sized, no fragments will be made, so the SentMessage will have a Box<[Option<SentFragment>]> of zero length. Therefore, sent_frags.any(|frag| frag.is_some()) will be false, so the message will be immediately dropped before ever being sent. So we will send an empty packet with no message, effectively vanishing this message into the ether, and it will never be acknowledged by the peer.

We now say that if we are inserting a message with no fragments, we generate a synthetic empty fragment to "send out", keeping the message alive.

@aecsocket aecsocket merged commit 62e1ba4 into main Dec 11, 2025
16 of 20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Issues with zero-sized messages

1 participant