Description
Hi, in our web application, we are using the ChatClient to send text messages between the users, and the CommandChannel to send some types of events and actions (ex.: user is typing).
As described in the docs, we are listening to the event “chat-on-message” to handle messages sent in the chat using the ChatClient and add it to the chat area, and listening to the event “command-channel-message” to handle actions and reactions sent in the Command Channel using the command channel client.
In the tests, our QA team noted that in some cases, after performing an action that sends data in the command channel, a base64 encoded string is delivered in the chat, and in other tests, the team sent 10 messages in chat and 1 was not delivered (maybe was delivered as command channel message).
Is there any way we can check the session event history by the session ID?
Session ID: dKTtMCMRSoOAm5459vG1SQ==
Browser Console Error
No error was presented in the console for this issue.
Which Web Video SDK version?
1.12.0
Device (please complete the following information):
Chat and Command Channel operate on different socket channels at the underlying level, so they don’t interfere with each other.
Since messages are not persisted, if the receiver hasn’t joined the session when the sender sends the message, there is a possibility that the message might be lost.
I understand that both sides need have joined the session to receive messages.
The odd case is that the receiver was in the session, were sent 10 messages, and only messages 1 and 3-10 were delivered, the target didn’t get the message number 2.
About the command channel, I’m sure we are always sending the content using the CommandChannel client, but sometimes the target receives the command message as a chat message in the “chat-on-message” event and base64 encoded.
I’m trying to get more logs about this one to try to understand it.
We have identified the scenario and added some logs to the console to when the application receive any event related to connection changes, chat messages and command channel messages.
In this case, the user open other apps and keep the chrome browser open in the background. After a while, the SDK loses connection to the session and start the failover process, trying to reconnect.
11:09:15.943 live-chat-detail.page.ts:462 Status of connection with Zoom session has changed. Object reason: "failover"state: “Reconnecting”[[Prototype]]: Object
After that, an odd message is received in the command channel:
11:09:15.965 live-chat-detail.page.ts:421 Message delivered in zoom command-channel-message: Objectmsgid: "16631706463422347113520056152768698303"senderGuid: undefined senderId: undefined senderName: “Promoter” text: "\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0001\u0000\u0000 PF J\u000b |ea \u0012\u0012 v \u001e ,ƺLnM r9 K .qg J \u0006 ] \u0013\u001c m f\u0012 wA$= T رM\u0004 M8ɔ #) J UI \u000f\u001bNT" .5` _: E \u0015 n +Id ~\u0012j\b3 |}\u0010 \u0005- &NEN ,\tξ\u0002 q d6 \u0016 | Od\u000e\u001d 6 <u +[ p\u0018 G g o\u0012vAe C$ | q3 O iS~ ‘\u001c Z >~6TXQCX!\n 1 h z Ēt!\u0005 \u0004 \u000e\u0007 \u0012\u001a @ \u001d \u0001* ¡ } pv Y R̞ » N 1 o /zߺ\u0002 o \u0014X q \u0005 # l\u001fJ \f Y r \u0011P$ o \u001c\f R \u0012r 6 pgHQ E\u001d ^\u00029 u, sL߆5’ - f GՁ ) %\u0001W3Ѫ +2s\u0004 5b uL\u0012"timestamp: 1724422155965[[Prototype]]: Object
And then, the user starts to receive Base64 encoded messages in the chat: