MLSOneOnOneConversationResolver

Attempts to find an existing MLS-capable one-on-one conversation, or creates a new one if none is found. In case the conversation already exists, but it's not established yet (see GroupState.ESTABLISHED), it will attempt to join it, returning failure if it fails.

Inheritors

Functions

Link copied to clipboard
abstract suspend operator fun invoke(transactionContext: CryptoTransactionContext, userId: UserId, allowJoinByExternalCommit: Boolean = true): Either<CoreFailure, ConversationId>

Attempts to find an existing MLS-capable one-on-one conversation, or creates a new one if none is found. In case the conversation already exists, but it's not established yet (see GroupState.ESTABLISHED), it will attempt to join it, returning failure if it fails.