diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/NostrDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/NostrDao.kt index fd8cc712..9f6f6b09 100644 --- a/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/NostrDao.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/NostrDao.kt @@ -36,7 +36,6 @@ import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageRelayListEvent import com.vitorpamplona.quartz.marmot.mip02Welcome.WelcomeEvent import com.vitorpamplona.quartz.marmot.mls.codec.TlsReader import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupState import com.vitorpamplona.quartz.marmot.mls.messages.KeyPackageBundle import com.vitorpamplona.quartz.marmot.mls.messages.MlsKeyPackage import com.vitorpamplona.quartz.marmot.mls.tree.Credential @@ -382,15 +381,9 @@ abstract class NostrDao( val localChatRoom = database.chatRoomDao().findChatRoomById(chatRoomId) if (localChatRoom != null) { - val mlsGroupStateByteArray = localChatRoom.chatRoom.mlsGroupState?.hexToByteArray() - - if (mlsGroupStateByteArray != null) { - val mlsGroup = MlsGroup.restore( - MlsGroupState.decodeTls( - mlsGroupStateByteArray - ) - ) + val mlsGroup = localChatRoom.chatRoom.toMlsGroup() + if (mlsGroup != null) { val memberPubkeys = mlsGroup.members().mapNotNull { (leafIndex, leafNode) -> val pubkey = when (val cred = leafNode.credential) { diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/database/repository/DatabaseChatRepository.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/repository/DatabaseChatRepository.kt index 9ca036b7..fa1955df 100644 --- a/composeApp/src/commonMain/kotlin/press/mantra/compose/database/repository/DatabaseChatRepository.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/repository/DatabaseChatRepository.kt @@ -12,8 +12,6 @@ import press.mantra.compose.database.model.intermdiate.LocalChatMessage import press.mantra.compose.database.model.intermdiate.LocalChatRoom import co.touchlab.kermit.Logger import com.vitorpamplona.quartz.marmot.mip02Welcome.WelcomeEvent -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupState import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.core.Kind import com.vitorpamplona.quartz.nip01Core.crypto.EventHasher @@ -153,13 +151,7 @@ class DatabaseChatRepository( messageType: Kind ) { logger.i("sendChatMessage($text): $localChatRoom") - val mlsGroup = localChatRoom.chatRoom.mlsGroupState?.let { mlsGroupState -> - MlsGroup.restore( - MlsGroupState.decodeTls( - mlsGroupState.hexToByteArray() - ) - ) - } + val mlsGroup = localChatRoom.chatRoom.toMlsGroup() if (mlsGroup != null) { // Create ChatRumor... diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/AddArtifactViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/AddArtifactViewModel.kt index 87ea4f26..a84ec5a8 100644 --- a/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/AddArtifactViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/AddArtifactViewModel.kt @@ -14,8 +14,6 @@ import androidx.lifecycle.viewmodel.viewModelFactory import press.mantra.compose.repository.ChatRepository import press.mantra.compose.repository.NostrRepository import co.touchlab.kermit.Logger -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupState import com.vitorpamplona.quartz.nip01Core.core.HexKey import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.IO @@ -73,13 +71,7 @@ class AddArtifactViewModel( onSuccess: (artifactId: String) -> Unit, onFailure: () -> Unit ) { - localChatRoom.chatRoom.mlsGroupState?.let { mlsGroupState -> - MlsGroup.restore( - MlsGroupState.decodeTls( - mlsGroupState.hexToByteArray() - ) - ) - }?.let { mlsGroup -> + localChatRoom.chatRoom.toMlsGroup()?.let { mlsGroup -> val name = nameField.text.toString() val url = urlField.text.toString() val versionLabel = versionLabelField.text.toString()