updateProtocolLocally

abstract suspend fun updateProtocolLocally(conversationId: ConversationId, protocol: Conversation.Protocol): Either<CoreFailure, ConversationProtocolUpdateStatus>

Update a conversation's protocol locally.

This also fetches the newly assigned groupID from the backend, if this operation fails the whole operation is cancelled and protocol change is not persisted.

Return

ConversationProtocolUpdateStatus with hasUpdated true if the protocol was changed or false if the protocol was unchanged.