And this check failed since we reseted currentRoom on a forceReconnect. This results in showing the waiting message "Connecting to the call …" but nothing is ever happening.
How to test
Establish a call between ios and web
Hit "Pause" on the Xcode debugger
Wait until the ios peer is closed/removed from the web
The problem is that we reset the
currentRoom
when weforceReconnect
, which is fine for "normal" forced reconnects: https://github.com/nextcloud/talk-ios/blob/a09c4a02064e5de66966ea86bd6cd0e473b66ae6/NextcloudTalk/NCExternalSignalingController.m#L176-L183In case our publisher peer fails, we want to rejoin the call, for that, we call
forceReconnect
onNCExternalSignalingController
fromNCCallController
: https://github.com/nextcloud/talk-ios/blob/a09c4a02064e5de66966ea86bd6cd0e473b66ae6/NextcloudTalk/NCCallController.m#L321-L323But for the re-join to work correctly, the
NCExternalSignalingController
needs to be aware, that we were in a room already: https://github.com/nextcloud/talk-ios/blob/a09c4a02064e5de66966ea86bd6cd0e473b66ae6/NextcloudTalk/NCExternalSignalingController.m#L348-L352And this check failed since we reseted
currentRoom
on aforceReconnect
. This results in showing the waiting message "Connecting to the call …" but nothing is ever happening.How to test