Add logging

This commit is contained in:
Kgothatso Ngako committed 2026-07-02 01:07:15 +02:00
1 parent a8d699c909
commit b85a7bd7a4
1 file changed
+11 -2
@@ -21,6 +21,7 @@ import at.torch.compose.exceptions.GiftWrapUnsealException
import at.torch.compose.exceptions.MarmotMissingKeyPackageBundleException import at.torch.compose.exceptions.MarmotMissingKeyPackageBundleException
import at.torch.compose.exceptions.MarmotWelcomeEventMissingKeyPackageEventIdException import at.torch.compose.exceptions.MarmotWelcomeEventMissingKeyPackageEventIdException
import at.torch.compose.extensions.toHex import at.torch.compose.extensions.toHex
import at.torch.compose.network.serialization.encodeToJsonString
import co.touchlab.kermit.Logger import co.touchlab.kermit.Logger
import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageEvent import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageEvent
import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageRelayListEvent import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageRelayListEvent
@@ -41,6 +42,7 @@ import com.vitorpamplona.quartz.nip17Dm.messages.ChatMessageEvent
import com.vitorpamplona.quartz.nip17Dm.settings.ChatMessageRelayListEvent import com.vitorpamplona.quartz.nip17Dm.settings.ChatMessageRelayListEvent
import com.vitorpamplona.quartz.nip59Giftwrap.wraps.GiftWrapEvent import com.vitorpamplona.quartz.nip59Giftwrap.wraps.GiftWrapEvent
import kotlin.io.encoding.Base64 import kotlin.io.encoding.Base64
import kotlin.math.log
import kotlin.time.Clock import kotlin.time.Clock
import kotlin.time.Instant import kotlin.time.Instant
@@ -552,6 +554,7 @@ abstract class NostrDao(
} }
} else { } else {
decryptedGiftWrapPayload.parseSubject()?.let { subject -> decryptedGiftWrapPayload.parseSubject()?.let { subject ->
logger.d("Subject: $subject")
database.chatRoomDao().upsert( database.chatRoomDao().upsert(
localChatRoom.chatRoom.copy( localChatRoom.chatRoom.copy(
subject = subject, subject = subject,
@@ -571,18 +574,20 @@ abstract class NostrDao(
tags = decryptedGiftWrapPayload.tags, tags = decryptedGiftWrapPayload.tags,
sig = "" sig = ""
) )
logger.d("welcomeEvent: $welcomeEvent") logger.d("welcomeEvent: ${welcomeEvent.toJson()}")
// TODO: Find keypackage and decrypt welcome... // TODO: Find keypackage and decrypt welcome...
// TODO: Get keyPackage from // TODO: Get keyPackage from
val keyPackageEventId = welcomeEvent.keyPackageEventId() ?: throw MarmotWelcomeEventMissingKeyPackageEventIdException( val keyPackageEventId = welcomeEvent.keyPackageEventId() ?: throw MarmotWelcomeEventMissingKeyPackageEventIdException(
"Couldn't find keyPackageEventId for $welcomeEvent" "Couldn't find keyPackageEventId for $welcomeEvent"
) )
logger.d("keyPackageEventId: $keyPackageEventId")
val marmotKeyPackageBundle = database.marmotKeyPackageBundleDao().getMarmotKeyPackageBundleById( val marmotKeyPackageBundle = database.marmotKeyPackageBundleDao().getMarmotKeyPackageBundleById(
keyPackageEventId keyPackageEventId
) ?: throw MarmotMissingKeyPackageBundleException( ) ?: throw MarmotMissingKeyPackageBundleException(
"Couldn't find marmotKeyPackageBundle for $welcomeEvent" "Couldn't find marmotKeyPackageBundle for $welcomeEvent"
) )
logger.d("marmotKeyPackageBundle: $marmotKeyPackageBundle")
val welcomeBytes = Base64.decode( val welcomeBytes = Base64.decode(
welcomeEvent.welcomeBase64() welcomeEvent.welcomeBase64()
@@ -607,15 +612,17 @@ abstract class NostrDao(
encryptionPrivateKey = encryptionPrivateKey encryptionPrivateKey = encryptionPrivateKey
) )
) )
logger.d("Group: $group")
val nostrGroupId = group.groupId.toHex() val nostrGroupId = group.groupId.toHex()
logger.d("nostrGroupId: $nostrGroupId")
val localChatRoom = database.chatRoomDao().findChatRoomById( val localChatRoom = database.chatRoomDao().findChatRoomById(
nostrGroupId nostrGroupId
) )
if (localChatRoom == null) { if (localChatRoom == null) {
logger.d("processWelcome: welcomeBytes=${welcomeBytes.size}B looking up KeyPackage by ref=${keyPackageEventId.take(8)}…") logger.d("processWelcome: welcomeBytes=${welcomeBytes.size}B looking up KeyPackage by ref=${keyPackageEventId.take(8)}…")
@@ -762,6 +769,8 @@ abstract class NostrDao(
profilePublicKeysToSync[relayURL]?.add(participant.participantPublicKey) profilePublicKeysToSync[relayURL]?.add(participant.participantPublicKey)
} }
} }
} else {
logger.w("Chat Room already exists for $nostrGroupId")
} }
// Where is the decoded welcome message... // Where is the decoded welcome message...