client-sdk-js
035e9440 - fix(data-channel): send on the current handle after waiting for headroom

Commit
9 days ago
fix(data-channel): send on the current handle after waiting for headroom ReliableDataChannel.send/replay and LossyDataChannel's wait policy resolved the RTCDataChannel before awaiting the headroom lock and sent on that handle afterwards. Replacing the handle (the Safari null-id path in resumeConnection) only rejects waiters parked on the buffer, so a sender still queued on the lock would pass the headroom check against the new channel and then write to the abandoned one: the send either rejected with InvalidStateError or, if the old channel stayed "open", was marked sent and later trimmed by alignBufferedAmount against the new channel's buffer. Callers now resolve the handle after the wait returns. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Author
Committer
Parents
Loading