10e1ff44c9
The chunked welcome path cleared its snapshot progress timer before writing the replica file and switching sessions. If that apply work failed, the frame-apply catch only logged the error, leaving the initial join promise pending with no welcome/progress timer left to settle it. Reject the pending initial join when a welcome or snapshot-chunk apply fails before the join has completed, preserving reconnect-time logging for already-joined guests. Add a regression test that forces the replica write to fail and asserts /join rejects instead of hanging. Fixes #3144