diff --git a/src/script/conversation/ConversationRepository.ts b/src/script/conversation/ConversationRepository.ts index 6478f902ba80..773af58bac4f 100644 --- a/src/script/conversation/ConversationRepository.ts +++ b/src/script/conversation/ConversationRepository.ts @@ -1540,7 +1540,11 @@ export class ConversationRepository { //we never go back to proteus conversation, even if one of the users do not support mls anymore //(e.g. due to the change of supported protocols in team configuration) if (shouldUseMLSProtocol || isMLSConversation(conversation)) { - return this.initMLS1to1Conversation(otherUserId, isSupportedByTheOtherUser); + const mlsConversation = await this.initMLS1to1Conversation(otherUserId, isSupportedByTheOtherUser); + if (isProteusConversation(conversation)) { + await this.replaceProteus1to1WithMLS(conversation, mlsConversation); + } + return mlsConversation; } if (protocol === ConversationProtocol.PROTEUS && isProteusConversation(conversation)) { @@ -1595,6 +1599,7 @@ export class ConversationRepository { if (localProteusConversation && isProteusConversation(localProteusConversation)) { await this.replaceProteus1to1WithMLS(localProteusConversation, mlsConversation); } + return mlsConversation; } if (protocol === ConversationProtocol.PROTEUS) {