Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context
When two client simultaneously announce themselves to the signalling server, they will both create a
Peer
with{ initiator: true }
before sending theoffer
message to each other. As such, both parties will attempt to answer each other's offer and the second answer will result in anERR_SET_REMOTE_DESCRIPTION
. Thereafter, the connection closes and the when the reconnection takes place, both clients have{ initiator: false }
, causing a standstill as they wait for each other.This issue is similar to glare, and simple-peer is unlikely to handle this issue in the foreseeable future based on previous discussion.
Approach
glareToken
for each webrtc connection object when a signal event occurs.signal
messages.offer
message with a lower tiebreaker value, it is ignored.