Ask for help dialog persists after user returned to main session

Description
It happens that when a user asks for help, and host does not respond to the request (that is the host does not accept or decline/postpone the help request) and the user returns to the main session, the dialog just stays there. And if the host then clicks the postpone button, then error of invalid user id is thrown.

I tried to listen for the participant’s change event to know when that user returns to the main session, but since the subsessionClient.askForHelp() method is based on the user Id, which changes as user switches between main and sub sessions, then this solution does not work.

I also tried using the command channel to inform the host that the participant that asked for help has returned to the main session, but since the host was not in the same subsesession, then the zmClient.getSessionHost() method returned a different userId and not that of the host. Hence this also did not work.

I would appreciate if the userGuid could also be sent along in the askForHelp payload so I can use that. This I think would help find the user since the user Guid is consistent between the main and subsessions.

Browser Console Error
User does not exist

Which Web Video SDK version?
1.9.8

To Reproduce(If applicable)
Steps to reproduce the behavior:

  1. Create meeting
  2. Join as host and as participant
  3. Create and open sub sessions
  4. Join sub session as participant
  5. Ask for help
  6. Leave sub subsession (participant)
  7. Error: Ask for help dialog still remains after participant returned to main session
  8. Try to postpone the request (host) and see error
1 Like

Hey @godwin.owonam

Thanks for your feedback.

I apologize for any inconvenience caused by our service. We will add the userGuid property to the ask-for-help event in the next version.

Thanks
Vic

Thanks @vic.yang for your response.

I would also appreciate if you add the userGuid to the ChatMessage interface and the chatClient.send method as well. Since we know the userGuid (which does not change between the main and sub-sessions) is more reliable than the userId (which changes between the main and sub-sessions).

ChatClient.send

send(text: string, userId: number): Promise<ChatMessage | Error>;

Chat Message and Chat User Item interface

interface ChatMessage {
  /**
   * Message ID, used to delete or modify the message.
   */
  id?: string;
  /**
   * Message content.
   */
  message: string;
  /**
   * Sender information.
   */
  sender: {
    /**
     * Sender name.
     */
    name: string;
    /**
     * Sender user ID.
     */
    userId: number;
    /**
     * @ignore
     */
    avatar?: string;
  };
  /**
   * Receiver information.
   */
  receiver: {
    /**
     * Receiver name.
     */
    name: string;
    /**
     * Receiver user ID.
     */
    userId: number;
  };
  /**
   * Message timestamp.
   */
  timestamp: number;
}

/**
 * Receiver
 */
interface ChatUserItem {
  /**
   * User ID.
   */
  userId: number;
  /**
   * Display name.
   */
  displayName: string;
  /**
   * Indicates whether the user is the host or not.
   */
  isHost: boolean;
  /**
   * Indicates whether the user is a manager or not.
   */
  isManager: boolean;
}

Regards.

This would help us fix the inconsistency of the sender id when switching between main and sub sessions for the chat messages.

Thanks

Hey @godwin.owonam

Thank you for your suggestion. We will improve it in the next version.

Thanks
Vic

Okay @vic.yang .
Will await the next release.
Thanks.

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