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().