Host role not transferred to manager when host leaves meeting

Description

In our scenario, User A (host) and User B (manager) are in a meeting. When User A leaves, the host role is expected to transfer automatically to User B (as per Zoom SDK behavior).

However, on the client side, we don’t see User B being promoted to host after User A leaves. We’re using client.getCurrentUserInfo() in response to Zoom events like user-updated, user-removed, user-added, command-channel-status, current-audio-change to check the user’s host status.

Could you help verify whether User B was actually promoted to host and whether the relevant events were received on the client side to update their state accordingly?

Here is the sessionId: arSYlN//TkabFVi/dQ0wLg==

Thank you for your support.

Which Web Video SDK version?
2.2.5

Device (please complete the following information):

  • Device: Window
  • Browser: Edge
  • Browser Version: 119
3 Likes

Hey @lmtruong1512

Thanks for you feedback.

arSYlN//TkabFVi/dQ0wLg==

  • 12:26:59 User 16778240 joined the session as the session host
  • 12:27:01 Assign host to User 33555456
  • 12:29:18 User 33555456 left the session

We didn’t find any call to the makeHost method. If you want to become the host and you joined the session with role_type = 1 in the JWT token, you can call reclaimHost to obtain the host role.

Thanks
Vic

1 Like

@vic.yang Sorry, I’ve updated the description. Our current understanding is that when the host leaves the meeting, one of the managers in the session is automatically promoted to host without explicitly calling makeHost.

Is that correct?

Also, could you help verify whether User B was actually promoted to host and whether the relevant events were received on the client side to update their state accordingly?

2 Likes

Hi @vic.yang ,
Let me list the flow as follows:

  • Step 1 (12:26:59): User 16778240 joined the session as the host.
  • Step 2 (12:27:01): User 16778240 assigned host to User 33555456 by calling makeHost(33555456).
  • Step 3: User 33555456 then assigned manager to User 16778240 by calling makeManager(16778240).
  • Step 4 (12:29:18): User 33555456 left the session.

Issue: After User 33555456 left, the host role was not automatically reassigned to User 16778240. It appears that User 16778240 was not recognized as a manager at that time.

Could you please help verify whether the steps above were executed correctly, whether the makeManager call in Step 3 was successfully applied?

Hi @lmtruong1512

  • Step 3: User 33555456 then assigned manager to User 16778240 by calling makeManager(16778240).

We didn’t find any makeManager operation in the logs.

Thanks
Vic

1 Like

Hi @vic.yang ,
After Step 2, User 16778240 uses the commandChannel.send method to send a command to User 33555456, instructing them to call the makeManager(16778240) method in order to update user 16778240’s role.

However, based on our logs, User 33555456 did not receive the command-channel-message event when User 16778240 sent the command.

Could you please help investigate why User 33555456 is not receiving the command-channel-message event?

This issue only occurs after upgrading to version 2.2.5. It did not happen in version 2.1.0.

Thank you for your support!

Hi @lmtruong1512

Sorry, command-channel-message contains customer content, so we do not retain logs for this part.

Thanks
Vic

1 Like

Hi @vic.yang,

Could this issue be related to the following WebSocket error?

This issue only occurs after upgrading to version 2.2.5. It did not happen in version 2.1.0.

Thank

1 Like

Hi @lmtruong1512

This doesn’t affect functionality.

Thanks
Vic

1 Like

Hi @vic.yang ,

Were there any changes between version 2.1.0 and 2.2.5 that could affect the commandChannel.send method or the command-channel-message event?

It did not happen in version 2.1.0.

Thank you for your support!

Hi @lmtruong1512

For the command channel, we haven’t made any functional changes, and based on our testing, message sending and receiving over the command channel works properly across all versions.

Thanks
Vic

1 Like

Hi @vic.yang,
If User A sends a message to User B using commandChannel.send at a time when User B has just joined the session and hasn’t yet transitioned to the Connected status (i.e., hasn’t received the command-channel-status event), does that mean User B won’t receive the message?

Thank you for your support!

Hi @lmtruong1512

Yes, that’s correct.

The command channel is not a persistent message queue and does not store undelivered messages. We plan to improve this behavior in future versions.

Thanks
Vic

2 Likes

@lmtruong1512

I have not checked all the calls, I am assuming you have those at your command.

My immediate response is.
I would not trust Zoom to make the decision.
I would transfer the host or cohost before leaving.
I would also “wait and confirm the call is completed before leaving”

In theory, they would be promoted if they were the alt host, on the same account, or the other user was the first co-host, but I myself and all my producers would never leave this to ‘chance’.
I have never seen documentation to show the logic rules, and I would not trust it being changed.

1 Like