Skip to content

Keep the recording bound to the acknowledged room epoch - #65

Merged
TheCryptoDonkey merged 1 commit into
mainfrom
fix/publishing-epoch-handoff-20261026
Oct 26, 2026
Merged

TheCryptoDonkey merged 1 commit into
mainfrom
fix/publishing-epoch-handoff-20261026

Conversation

@TheCryptoDonkey

Copy link
Copy Markdown
Member

When two visitors start an empty room, a losing browser can see the winning epoch while publication is still unready. The later ACK used to compare against that intervening notification and skip the recording handoff, leaving the old candidate bound to the player.

Compare the acknowledged epoch with the recording’s actual bound epoch. Retire the losing candidate on the existing empty player and original pending Play; same-epoch ACKs keep their source. Native and non-recorded playback retain the previous-state comparison.

Validation: the faithful publishing-then-ACK fixture fails on the previous controller and passes with this change, including adoption during publication, pause, abort, departure and stale callbacks. All 30 controller lifecycle groups, 340 unit tests, site build and diff checks pass. An initial server-test timeout passed unchanged in isolation and in the subsequent serial suite; its 10-second bound remains unchanged. This fixes that race; separate intermittent M1 cold-start and peer-contribution qualification remain open.

@TheCryptoDonkey
TheCryptoDonkey merged commit 4ed6984 into main Oct 26, 2026
2 checks passed
@TheCryptoDonkey
TheCryptoDonkey deleted the fix/publishing-epoch-handoff-20261026 branch October 26, 2026 12:37
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