commit 2bc9c14049472a6b4f6dbbe8c4a79f0529e89ba3
parent 4929bfd48ead9565835f5b6450d4e4f497c06529
Author: rhunk <101876869+rhunk@users.noreply.github.com>
Date:   Sat, 20 May 2023 00:33:56 +0200

fix(messagelogger): optimize performance

Diffstat:
Mapp/src/main/kotlin/me/rhunk/snapenhance/features/impl/spy/MessageLogger.kt | 12+++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)

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 @@ -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 + } } } }