Host privilege logic clarification

I would like to know the logic behind the assignment of host privileges to a participant in the Video SDK. I ran some test by joining the Video SDK meeting with role = 1 for multiple users and in one case, the host privilege was maintained for one user and in another case the host privileges were lost by one user and gained by another (about 3 times before the meeting ended) even though they both joined with role = 1.

I also noticed same when one the host left the main session into the sub-session, one of the other hosts gained he host privileges. And when the previous host returned to the main session, he no longer had host privileges (because those privileges were not restored).

Why is this an issue for me?
In my application, I have certain users which I want to make managers, and so I also make them join with role = 1. So I would like to know how you decide the host from your end so I can better align my logic to that as well.

I understand that according to the Video SDK Documentation, there can only be one Host per session. And that to join a Video SDK meeting as host, you need to specify role = 1. But with the case stated above, this doesn’t always hold.

Which Web Video SDK version?

FYI the managers are made managers by the host by calling the zmClient.makeManager(userId) method. So I am not saying that I made the users join with role = 1 in order to make them managers.

Hey @godwin.owonam

Thanks for your feedback.

As you mentioned, a session can only have one host. If a user joins with a JWT with role=1 after the session has started, they will be assigned as a manager. A session can have multiple managers.

If the host leaves the session, we automatically assign the host role to one of the managers. However, if the host rejoins, since he is joining with a JWT containing role=1, according to the above rule, he will be a manager.

Nevertheless, we provide the client.reclaimHost() method to regain the host role.


Thanks @vic.yang
I wasn’t aware of the client.reclaimHost() method. However, I had used the client.makeHost() method to restore the hosting privileges to the intended host on join or rejoin.

Thanks for sharing and clarifying on the logic.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.