Can't send chat messages when E2E encryption is enabled

Recently I noticed the Android SDK enabled support for joining meetings where E2E encryption was enabled. This wasn’t really advertised, but it’s appreciated! However, I discovered a potential issue.

When you call InMeetingChatController.sendChatToUser(long, String) to send a direct message to another participant, that message is never received when E2E encryption is enabled. There are no errors on the Android SDK side. isChatDisabled() and isPrivateChatDisabled() both return false. So I can’t find any reason why the chat message doesn’t go through. If you change the meeting to use enhanced encryption, then messages get through just fine.

I tried to recreate this in the SDK sample app and chat messages were always getting through. Even with E2E enabled, the sample app can send private messages to other participants. The difference is, the SDK sample app does not appear to use the InMeetingChatController API to send chat messages. With a custom UI enabled, the sample app does this when you click the Chats icon:

    @Override
    public void onClickChats() {
        mInMeetingService.showZoomChatUI(MyMeetingActivity.this, REQUEST_CHAT_CODE);
    }

I did a text search for sendChatToUser in the sample app and no results were found. So I can’t compare my code with the sample app code. I also can’t give you good recreation steps.

Is there some additional step I need to do to enable private chatting when E2E is enabled? I’ve tested up through v5.7.6.1918 and am seeing the same results with chat messages not going through. E2E meetings started connecting successfully in the Android SDK around v5.5.1.1319, but I don’t know exactly when.

Update: InMeetingChatController.sendChatToGroup() does not have the same problem. It’s only sendChatToUser().

Hi @vuzix_greg, thanks for the post.

Regarding the addition of E2EE being unadvertised, we did actually include a note about this in the release notes for v5.4.603. We won’t always mention changes that come from the client and require no SDK interaction to work though. The best way to keep up-to-date with these types of changes is to check out the Android client release notes. :slightly_smiling_face:

I was able to reproduce the behavior you are seeing. It does appear that private messages are never received when sent programmatically, but everything works correctly when using the chat UI. We’ll need to investigate what is causing this behavior and get back to you. I’ll be sure to give you an update as soon as we have one.

Thanks!

Thanks @jon.lieblich, I didn’t think to check the Android client release notes. I went through the SDK release notes and didn’t see anything about E2E encryption being supported, but I was several versions behind so I might have missed it.

Glad you were able to recreate the issue. Looking forward to a fix!

Hi @vuzix_greg,

Happy to help, hopefully we will have an update soon!

Thanks!

1 Like