diff --git a/app/src/main/kotlin/me/rhunk/snapenhance/features/impl/spy/MessageLogger.kt b/app/src/main/kotlin/me/rhunk/snapenhance/features/impl/spy/MessageLogger.kt index b5d6b5da..6207c7ae 100644 --- a/app/src/main/kotlin/me/rhunk/snapenhance/features/impl/spy/MessageLogger.kt +++ b/app/src/main/kotlin/me/rhunk/snapenhance/features/impl/spy/MessageLogger.kt @@ -66,9 +66,15 @@ class MessageLogger : Feature("MessageLogger", loadParams = FeatureLoadParams.IN } if (!messageCache.containsKey(messageId)) { - val serializedMessage = context.gson.toJson(message.instanceNonNull()) - messageCache[messageId] = serializedMessage - context.bridgeClient.addMessageLoggerMessage(messageId, serializedMessage.toByteArray(Charsets.UTF_8)) + context.executeAsync { + val storedMessage = context.bridgeClient.getMessageLoggerMessage(messageId)?.toString(Charsets.UTF_8) + if (storedMessage == null) { + messageCache[messageId] = context.gson.toJson(message.instanceNonNull()) + context.bridgeClient.addMessageLoggerMessage(messageId, messageCache[messageId]!!.toByteArray(Charsets.UTF_8)) + return@executeAsync + } + messageCache[messageId] = storedMessage + } } } }