Bug fix for the chat creation
This commit is contained in:
@@ -263,16 +263,19 @@ abstract class MarmotOutboundDao(
|
||||
content = welcomeEvent.content
|
||||
)
|
||||
|
||||
GiftWrapPayload(
|
||||
id = welcomeEventId,
|
||||
publicKey = userPublicKey,
|
||||
chatRoomId = nostrGroupId,
|
||||
kind = welcomeEvent.kind,
|
||||
tags = welcomeEvent.tags,
|
||||
content = welcomeEvent.content,
|
||||
createdAt = Instant.fromEpochSeconds(welcomeEvent.createdAt)
|
||||
database.giftWrapPayloadDao().upsert(
|
||||
GiftWrapPayload(
|
||||
id = welcomeEventId,
|
||||
publicKey = userPublicKey,
|
||||
chatRoomId = nostrGroupId,
|
||||
kind = welcomeEvent.kind,
|
||||
tags = welcomeEvent.tags,
|
||||
content = welcomeEvent.content,
|
||||
createdAt = Instant.fromEpochSeconds(welcomeEvent.createdAt)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
// Save chatMessage for the invite...
|
||||
database.chatMessageDao().upsert(
|
||||
ChatMessage(
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package at.torch.compose.database.dao
|
||||
|
||||
import androidx.compose.runtime.key
|
||||
import androidx.room3.Dao
|
||||
import androidx.room3.Transaction
|
||||
import at.torch.compose.database.GENESIS_AT
|
||||
@@ -8,6 +9,7 @@ import at.torch.compose.database.model.ChatMessage
|
||||
import at.torch.compose.database.model.ChatRoom
|
||||
import at.torch.compose.database.model.Connection
|
||||
import at.torch.compose.database.model.MarmotGroupEvent
|
||||
import at.torch.compose.database.model.MarmotKeyPackage
|
||||
import at.torch.compose.database.model.Mention
|
||||
import at.torch.compose.database.model.NegentropySynchronizeRequest
|
||||
import at.torch.compose.database.model.NostrEvent
|
||||
@@ -331,6 +333,19 @@ abstract class NostrDao(
|
||||
}
|
||||
|
||||
// MLSGroupEvent handling...
|
||||
nostrEvent.toKeyPackageEvent()?.let { keyPackageEvent ->
|
||||
logger.d("KeyPackageEvent: $keyPackageEvent")
|
||||
database.marmotKeyPackageDao().upsert(
|
||||
MarmotKeyPackage(
|
||||
id = keyPackageEvent.id,
|
||||
publicKey = keyPackageEvent.pubKey,
|
||||
tlsEncodedMarmotKeyPackage = Base64.decode(
|
||||
source = keyPackageEvent.keyPackageBase64()
|
||||
),
|
||||
createdAt = Instant.fromEpochSeconds(keyPackageEvent.createdAt)
|
||||
)
|
||||
)
|
||||
}
|
||||
nostrEvent.toGroupEvent(
|
||||
userPublicKey = activeKeyPair.pubKey.toHex()
|
||||
)?.let { groupEvent ->
|
||||
|
||||
@@ -5,6 +5,7 @@ import androidx.room3.Ignore
|
||||
import androidx.room3.Index
|
||||
import androidx.room3.PrimaryKey
|
||||
import co.touchlab.kermit.Logger
|
||||
import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageEvent
|
||||
import com.vitorpamplona.quartz.marmot.mip03GroupMessages.GroupEvent
|
||||
import com.vitorpamplona.quartz.nip01Core.core.Event
|
||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||
@@ -249,6 +250,22 @@ data class NostrEvent(
|
||||
return null
|
||||
}
|
||||
|
||||
fun toKeyPackageEvent(): KeyPackageEvent? = try {
|
||||
if (kind == KeyPackageEvent.KIND) {
|
||||
return KeyPackageEvent(
|
||||
id = id,
|
||||
pubKey = pubKey,
|
||||
createdAt = createdAt.epochSeconds,
|
||||
tags = tags,
|
||||
content = content,
|
||||
sig = sig
|
||||
)
|
||||
}
|
||||
return null
|
||||
} catch (e: Throwable) {
|
||||
logger.e("Coulldn't cast to KeyPackageEvent: ", e)
|
||||
return null
|
||||
}
|
||||
fun toReaction(): Reaction? = try {
|
||||
if (kind == ReactionEvent.KIND) {
|
||||
val reactionEvent = EventFactory.create<ReactionEvent>(
|
||||
|
||||
Reference in New Issue
Block a user