From 7f932539d837a5d4cc2e7d237aa3989672286e3b Mon Sep 17 00:00:00 2001 From: reactormonk Date: Wed, 21 Feb 2024 18:50:29 +0100 Subject: [PATCH] getActiveUserVerification: use RoomEvent --- .../verification/VerificationService.kt | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/trixnity-client/src/commonMain/kotlin/net/folivo/trixnity/client/verification/VerificationService.kt b/trixnity-client/src/commonMain/kotlin/net/folivo/trixnity/client/verification/VerificationService.kt index 08e05f0ac..9da036f83 100644 --- a/trixnity-client/src/commonMain/kotlin/net/folivo/trixnity/client/verification/VerificationService.kt +++ b/trixnity-client/src/commonMain/kotlin/net/folivo/trixnity/client/verification/VerificationService.kt @@ -91,10 +91,13 @@ interface VerificationService { } fun getSelfVerificationMethods(): Flow - suspend fun getActiveUserVerification( - timelineEvent: TimelineEvent + roomEvent: ClientEvent.RoomEvent<*> ): ActiveUserVerification? + + suspend fun getActiveUserVerification(timelineEvent: TimelineEvent): ActiveUserVerification? { + return getActiveUserVerification(timelineEvent.event) + } } class VerificationServiceImpl( @@ -401,30 +404,30 @@ class VerificationServiceImpl( private val getActiveUserVerificationMutex = Mutex() override suspend fun getActiveUserVerification( - timelineEvent: TimelineEvent + roomEvent: ClientEvent.RoomEvent<*> ): ActiveUserVerification? { - return if (isVerificationRequestActive(timelineEvent.event.originTimestamp)) { + return if (isVerificationRequestActive(roomEvent.originTimestamp)) { getActiveUserVerificationMutex.withLock { val cache = - activeUserVerifications.value.find { it.roomId == timelineEvent.roomId && it.relatesTo?.eventId == timelineEvent.eventId } + activeUserVerifications.value.find { it.roomId == roomEvent.roomId && it.relatesTo?.eventId == roomEvent.id } if (cache != null) cache else { - val eventContent = timelineEvent.content?.getOrNull() + val eventContent = roomEvent.content val request = if (eventContent is VerificationRequest) eventContent else null - val sender = timelineEvent.event.sender + val sender = roomEvent.sender if (request != null && sender != ownUserId && request.to == ownUserId) { ActiveUserVerificationImpl( request = request, requestIsFromOurOwn = false, - requestEventId = timelineEvent.eventId, - requestTimestamp = timelineEvent.event.originTimestamp, + requestEventId = roomEvent.id, + requestTimestamp = roomEvent.originTimestamp, ownUserId = ownUserId, ownDeviceId = ownDeviceId, theirUserId = sender, theirInitialDeviceId = request.fromDevice, - roomId = timelineEvent.roomId, + roomId = roomEvent.roomId, supportedMethods = supportedMethods, json = api.json, keyStore = keyStore, -- GitLab