diff --git a/core/src/main/kotlin/me/rhunk/snapenhance/database/DatabaseAccess.kt b/core/src/main/kotlin/me/rhunk/snapenhance/database/DatabaseAccess.kt index 4a7bc9b0..7815f48f 100644 --- a/core/src/main/kotlin/me/rhunk/snapenhance/database/DatabaseAccess.kt +++ b/core/src/main/kotlin/me/rhunk/snapenhance/database/DatabaseAccess.kt @@ -141,6 +141,22 @@ class DatabaseAccess(private val context: ModContext) : Manager { } } + fun getConversationType(conversationId: String): Int? { + return safeDatabaseOperation(openArroyo()) { + val cursor = it.rawQuery( + "SELECT * FROM user_conversation WHERE client_conversation_id = ?", + arrayOf(conversationId) + ) + if (!cursor.moveToFirst()) { + cursor.close() + return@safeDatabaseOperation null + } + val type = cursor.getInt(cursor.getColumnIndex("conversation_type")) + cursor.close() + type + } + } + fun getDMConversationIdFromUserId(userId: String): UserConversationLink? { return safeDatabaseOperation(openArroyo()) { readDatabaseObject( diff --git a/core/src/main/kotlin/me/rhunk/snapenhance/features/impl/Messaging.kt b/core/src/main/kotlin/me/rhunk/snapenhance/features/impl/Messaging.kt index d00cce3e..80f078db 100644 --- a/core/src/main/kotlin/me/rhunk/snapenhance/features/impl/Messaging.kt +++ b/core/src/main/kotlin/me/rhunk/snapenhance/features/impl/Messaging.kt @@ -33,7 +33,9 @@ class Messaging : Feature("Messaging", loadParams = FeatureLoadParams.ACTIVITY_C val conversationId = viewItem.substringAfter("conversationId: ").substring(0, 36).also { if (it.startsWith("null")) return@hook } - lastFetchGroupConversationUUID = SnapUUID.fromString(conversationId) + context.database.getConversationType(conversationId)?.takeIf { it == 1 }?.run { + lastFetchGroupConversationUUID = SnapUUID.fromString(conversationId) + } } }