Handle error when joining room in the external signaling server #3804
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.
How to test (scenario 1)
if (rand(0, 9) < 7) { sleep(11); }before the ping inSignalingController(11 or whatever value you have set as the timeout in the external signaling server + 1)Join room XXXis shown followed byJoined, which means that joining in the external signaling server did not wait and succeeded)Join room XXXis shown but it is not followed byJoined, which means that joining in the external signaling server is taking longer)Result with this pull request
Joinedis eventually shown with an error, but joining is automatically retried until it succeeds. The call view is not shown until the conversation is joined, and when that happens it connects to user A.Result without this pull request
Joinedis eventually shown with an error. The call view is immediately shown, but it never connects to user A.How to test (scenario 2) - WIP
if (rand(0, 9) < 3) { sleep(8); }before the ping inSignalingController(8 or whatever value you have set as the timeout in the external signaling server - 2)Join room XXXis shown but it is not followed byJoined, which means that joining in the external signaling server is taking longer)Join room XXXis shown followed byJoined, which means that joining in the external signaling server did not wait and succeeded)Result with this pull request
Joinedis eventually shown for the previous conversation, but the latest conversation is automatically joined again. If a call is started it will connect to the other user.Result without this pull request
Joinedis eventually shown for the previous conversation. If a call is started it will never connect to the other user.