Skip to content

fix: Keep rollback input labels collision-free across input delay changes - #648

Open
realpoke wants to merge 1 commit into
foxssake:mainfrom
realpoke:fix/input-delay-stream
Open

fix: Keep rollback input labels collision-free across input delay changes#648
realpoke wants to merge 1 commit into
foxssake:mainfrom
realpoke:fix/input-delay-stream

Conversation

@realpoke

@realpoke realpoke commented Sep 4, 2026

Copy link
Copy Markdown

Input labels are tick + input_delay, so changing input_delay at runtime makes consecutive ticks produce duplicate labels (delay decreased) or skip labels (delay increased).

Local history and remote receivers then disagree about which input belongs to which tick and rollback corrupts for that range.
We now track the last submitted label, colliding labels are skipped and skipped labels are backfilled with the current input so the stream stays collision-free and gap-free.

…nges

Input labels are computed as tick + input_delay. When input_delay
changes at runtime, consecutive ticks can produce duplicate labels
(delay decreased) or skip labels entirely (delay increased).

Local history and remote receivers then disagree about which input
belongs to which tick, corrupting rollback for the affected range.

Track the last submitted label: skip labels that would collide, and
backfill skipped labels with the current input so the stream stays
gap-free.
@realpoke realpoke changed the title fix: Keep rollback input labels collision-free across input delay cha… fix: Keep rollback input labels collision-free across input delay changes Sep 4, 2026
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.

1 participant