Thank you for ‘Return to the main session’ mechanism adding in the last SDK update!
And there is one clarifying question about the flow of returning:
When the host initiate ‘returning’ of particular user to the main session the app will be informed about it with the delegate method onHostInviteReturn(toMainSession userName: String, handler: ZoomSDKBOMeetingReturnToMainSessionHandler).
As far as I understand to accept returning we should use handler and call returnToMainSession() method when we are ready to returning.
What should we do next? Because after this step we receive func onHasAttendeePermission(_ attendeeObject: ZoomSDKBOMeetingAttendee)
delegate method with empty breakout room name (attendeeObject.getBOName()) and value ZoomSDK.shared()?.getMeetingService()?.getNewBreakoutRoomController()?.isInBOMeeting() is equal FALSE.
Zoom Client that host the call show that the user is still in breakout room but he/she is marked as ‘not joined’
Is there one more step to return the attendee to the main session?
Sorry to hear you’re running into issues with returning to the main session. Are you receiving any callbacks on the BO user’s side when you try to return to the main session? Also, what is the return value of the returnToMainSession method when this occurs? Does this happen 100% of the time?
The list of called delegate methods when the host initiates the particular participant return to Main session.
onHostInviteReturn (with the participant name).
onLostAttendeePermission.
onBOControlStatusChanged (with status == 2 - Started).
onHasAttendeePermission (with empty participant name and value ZoomSDK.shared()?.getMeetingService()?.getNewBreakoutRoomController()?.isInBOMeeting() that is equal FALSE).
The return value of the returnToMainSession is Success.
Yes, this happens 100% of the time.
By the way I have figured out that the original MacOS Zoom client has the same behaviour:
The call with the host (Zoom MacOS client) and 1 participant (Safari Zoom web client).
Create a call.
Contact to the call using Web Zoom.
Create BO.
Assign Web participant to the room.
Accept joining.
Web participant is in the room.
Move Web participant to Main Session.
Accept joining.
Result: Zoom MacOS client (Breakout rooms dialog) displays that Web participant in the room section and he/she is marked as ‘not joined’ (As on the picture).
Thanks for the detailed description. It definitely seems like this is functioning correctly. Rejoining the main meeting room will not cause an attendee to be unassigned from a BO room. They will remain assigned to that room unless they are assigned to another or the room has been deleted.