feat(core/notifications): ignore typing notifications

This commit is contained in:
rhunk
2024-01-21 12:05:25 +01:00
parent 5498f8206d
commit 3b6c99a8ba
2 changed files with 5 additions and 4 deletions

View File

@ -415,7 +415,7 @@ class Notifications : Feature("Notifications", loadParams = FeatureLoadParams.IN
val serverMessageId = extras.getString("message_id") ?: return@hook
val notificationType = extras.getString("notification_type")?.lowercase() ?: return@hook
if (!betterNotificationFilter.contains("chat_preview") && !betterNotificationFilter.contains("media_preview")) return@hook
if (notificationType == "typing") return@hook
param.setResult(null)
val conversationManager = context.feature(Messaging::class).conversationManager ?: return@hook

View File

@ -3,6 +3,7 @@ package me.rhunk.snapenhance.core.wrapper.impl
import me.rhunk.snapenhance.common.data.MessageUpdate
import me.rhunk.snapenhance.core.ModContext
import me.rhunk.snapenhance.core.util.CallbackBuilder
import me.rhunk.snapenhance.core.util.dataBuilder
import me.rhunk.snapenhance.core.util.ktx.getObjectField
import me.rhunk.snapenhance.core.util.ktx.setObjectField
import me.rhunk.snapenhance.core.wrapper.AbstractWrapper
@ -102,9 +103,9 @@ class ConversationManager(
}
fun fetchMessageByServerId(conversationId: String, serverMessageId: Long, onSuccess: (Message) -> Unit, onError: (error: String) -> Unit) {
val serverMessageIdentifier = CallbackBuilder.createEmptyObject(context.classCache.serverMessageIdentifier.constructors.first())?.apply {
setObjectField("mServerConversationId", conversationId.toSnapUUID().instanceNonNull())
setObjectField("mServerMessageId", serverMessageId)
val serverMessageIdentifier = context.classCache.serverMessageIdentifier.dataBuilder {
set("mServerConversationId", conversationId.toSnapUUID().instanceNonNull())
set("mServerMessageId", serverMessageId)
}
fetchMessageByServerId.invoke(