How to leave Breakout Room

Description
I would like to know how to get people to leave the Breakout room.
Currently, I have created a BreakoutRoom with a transition from one View to another.
In the desktop application, I created a breakout room and assigned an App user to it. The following code transitions to the breakout room of another View.

func onHasAttendeeRightsNotification(_ attendee: MobileRTCBOAttendee) {
        self.attendee = attendee
        attendee.joinBO()
        
        let breakoutUIVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "BreakoutUIView") as? BreakoutUIViewController
        breakoutUIVC!.modalPresentationStyle = .fullScreen
        self.present(breakoutUIVC!, animated: false, completion: nil)
    }

But I can’t get out of BreakoutRoom, so I put the following code in the breakout side View.

let customMeetingUIVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "CustomeUIView") as? CustomeUIViewController
        let attendee = MobileRTC.shared().getMeetingService()?.getAttedeeHelper()
        attendee!.leaveBO()
        customMeetingUIVC!.modalPresentationStyle = .fullScreen
        self.dismiss(animated: true, completion: nil)
        self.present(customMeetingUIVC!, animated: false, completion: nil)

This will temporarily return you to the original screen, and you can see from the desktop app that you have exited the BreakoutRoom, but you will soon be automatically back in the BreakoutRoom.

Please tell me a better way.
Thanks.

Which iOS Meeting SDK version?
Using CustomUI.
ZoomSDK version 5.7.1.644.
ZoomDesktop 5.7.5(Windows)

Hey @KAZUMA87,

Thanks for using the dev forum!

What is the return value after you call leaveBO()?

Thanks!
Michael

Hello , @Michael_Condon,

Calling leaveBO returns value “true”.

Thanks.

Hey @KAZUMA87,

And after it returns true, the user remains in the breakout room?

Michael

Hello @Michael_Condon ,

Thank you for your reply.

After the return of “true”, the program exits the breakout room, but does not return again.
onHasAttendeeRightsNotification works and enters the breakout room again.

I’m running the following steps

  1. Start the meeting in the desktop application.

  2. Join the meeting with the app

  3. Create a breakout room on the desktop and assign the app user to the breakout room

  4. onHasAttendeeRightsNotification works in the app, and attendee.joinBO() joins the breakout room

  5. In app

let attendee = MobileRTC.shared().getMeetingService()? .getAttedeeHelper()
let leavereturn = attendee!.leaveBO()

Leave the breakout room at
The variable “leavereturn” will be set to true.

  1. In the desktop app, you can see that you have left the room, and in fact, you have left the room (you are not attending).
  2. onHasAttendeeRightsNotification works even if I don’t do anything on desktop or app, and I join the breakout room again with attendee.joinBO()

I can’t figure out the point where onHasAttendeeRightsNotification works again as in this step 7.

Do you have any solution or advice?

Thanks.

Hey @KAZUMA87,

By

Do you mean that the callback fires a second time?

Thanks!
Michael

Hello @Michael_Condon ,

That’s right, use leaveBO() and come back from BO, onHasAttendeeRightsNotification will be called again.

Thanks.

Hey @KAZUMA87,

I see. Am investigating now. Stay tuned.

Thanks!
Michael

Hey @KAZUMA87,

I was able to reproduce this behavior. Submitting a bug report for this.

Thanks!
Michael

Hello @Michael_Condon,

Thanks for the confirmation.
I hope the bug will be fixed.

Thanks.

Hey @KAZUMA87,

You are welcome! :slight_smile:

I will keep you posted about this.

Michael