diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/ChatMessage.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/ChatMessage.kt index 62bf9201..45d18aba 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/ChatMessage.kt +++ b/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/ChatMessage.kt @@ -9,6 +9,8 @@ import at.torch.compose.database.model.traits.SoftDeletableEntity import at.torch.compose.database.model.traits.TimestampedEntity import at.torch.compose.database.model.traits.UserViewableEntity import at.torch.compose.exceptions.GiftWrapImpersonationException +import at.torch.compose.exceptions.MarmotUnprocessableInnerEventException +import at.torch.compose.exceptions.MarmotUnsupportedWireFormatException import at.torch.compose.extensions.toHex import com.vitorpamplona.quartz.marmot.GroupEventResult import com.vitorpamplona.quartz.marmot.mip03GroupMessages.GroupEvent @@ -82,11 +84,8 @@ data class ChatMessage( return when(groupEventResult) { is GroupEventResult.ApplicationMessage -> { val event = Event.fromJsonOrNull(groupEventResult.innerEventJson) + ?: throw MarmotUnprocessableInnerEventException("Can't process ${groupEventResult.innerEventJson}") - if (event?.pubKey != groupEvent.pubKey) { - throw GiftWrapImpersonationException("" + - "The innerEvent pubkey (${event?.pubKey}) doesn't match the groupEvent pubkey ${groupEvent.pubKey}") - } database.marmotInnerEventDao().upsert( MarmotInnerEvent( id = event.id, diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotUnprocessableInnerEventException.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotUnprocessableInnerEventException.kt new file mode 100644 index 00000000..edfb9f2f --- /dev/null +++ b/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotUnprocessableInnerEventException.kt @@ -0,0 +1,4 @@ +package at.torch.compose.exceptions + +class MarmotUnprocessableInnerEventException(message: String? = null, cause: Throwable? = null) : Exception(message, cause) { +} \ No newline at end of file