From 284ced17c914c26b128f006b20f86af4127cf433 Mon Sep 17 00:00:00 2001 From: Kgothatso Ngako Date: Wed, 8 Jul 2026 20:29:41 +0200 Subject: [PATCH] Filter neg event using mlsGroup expiry --- .../kotlin/at/torch/compose/database/dao/NostrEventDao.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/NostrEventDao.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/NostrEventDao.kt index 19dbe47c..719e492c 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/NostrEventDao.kt +++ b/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/NostrEventDao.kt @@ -1,5 +1,6 @@ package at.torch.compose.database.dao +import androidx.compose.runtime.IntState import androidx.room3.Dao import androidx.room3.Insert import androidx.room3.OnConflictStrategy.Companion.IGNORE @@ -14,6 +15,7 @@ import com.vitorpamplona.quartz.marmot.mip03GroupMessages.GroupEvent import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.core.Kind import kotlinx.coroutines.flow.Flow +import kotlin.time.Clock import kotlin.time.Instant @Dao @@ -107,10 +109,11 @@ interface NostrEventDao { ): List @Transaction - @Query("SELECT * FROM MarmotGroupEvent WHERE nostrEventId IS NOT NULL AND chatRoomId in (:chatRoomIds) AND createdAt > :since ORDER BY createdAt ASC LIMIT :limit") + @Query("SELECT * FROM MarmotGroupEvent WHERE nostrEventId IS NOT NULL AND chatRoomId in (:chatRoomIds) AND createdAt > :since AND (expiresAt IS NULL OR expiresAt < :expiresAt) ORDER BY createdAt ASC LIMIT :limit") fun getMarmotGroupEvents( chatRoomIds: Array, since: Instant, + expiresAt: Instant = Clock.System.now(), limit: Int ): List