commit 78c6b06f454702e7ce8fe5994873a78d80f27a3b
parent 03c33e03f63701e966309ad8e4dd20cb2dc4e038
Author: rhunk <101876869+rhunk@users.noreply.github.com>
Date: Wed, 6 Sep 2023 23:30:29 +0200
fix(mapper): exclude CppProxy callback classes
Diffstat:
2 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/core/src/main/kotlin/me/rhunk/snapenhance/features/impl/tweaks/AutoSave.kt b/core/src/main/kotlin/me/rhunk/snapenhance/features/impl/tweaks/AutoSave.kt
@@ -39,12 +39,12 @@ class AutoSave : MessagingRuleFeature("Auto Save", MessagingRuleType.AUTO_SAVE,
if (messageLogger.isMessageRemoved(conversationId.toString(), message.orderKey)) return
if (message.messageState != MessageState.COMMITTED) return
- val callback = CallbackBuilder(callbackClass)
- .override("onError") {
- context.log.warn("Error saving message $messageId")
- }.build()
-
runCatching {
+ val callback = CallbackBuilder(callbackClass)
+ .override("onError") {
+ context.log.warn("Error saving message $messageId")
+ }.build()
+
updateMessageMethod.invoke(
context.feature(Messaging::class).conversationManager,
conversationId.instanceNonNull(),
diff --git a/mapper/src/main/kotlin/me/rhunk/snapmapper/impl/CallbackMapper.kt b/mapper/src/main/kotlin/me/rhunk/snapmapper/impl/CallbackMapper.kt
@@ -12,7 +12,10 @@ class CallbackMapper : AbstractClassMapper() {
if (clazz.superclass == null) return@filter false
val superclassName = clazz.getSuperClassName()!!
- if ((!superclassName.endsWith("Callback") && !superclassName.endsWith("Delegate")) || superclassName.endsWith("\$Callback")) return@filter false
+ if ((!superclassName.endsWith("Callback") && !superclassName.endsWith("Delegate"))
+ || superclassName.endsWith("\$Callback")) return@filter false
+
+ if (clazz.getClassName().endsWith("\$CppProxy")) return@filter false
val superClass = context.getClass(clazz.superclass) ?: return@filter false
!superClass.isFinal()