From 53cc851944a4c624b1353c1543eb3dd7103a95f4 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Thu, 12 Mar 2026 17:39:47 +0600 Subject: [PATCH] small optimization of panelApi.forceRefresh in onPollUpdates --- ratings/source/src/jvmMain/kotlin/Plugin.kt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ratings/source/src/jvmMain/kotlin/Plugin.kt b/ratings/source/src/jvmMain/kotlin/Plugin.kt index dfd4d00..047892b 100644 --- a/ratings/source/src/jvmMain/kotlin/Plugin.kt +++ b/ratings/source/src/jvmMain/kotlin/Plugin.kt @@ -122,13 +122,22 @@ object Plugin : Plugin { val panelApi = koin.getOrNull() val chatConfig = koin.get() + val panelApiOnPollUpdatesUpdateTrigger: suspend (PostId) -> Unit = if (config.panelButtonText.contains(currentRatingControlSymbol)) { + { + panelApi ?.forceRefresh(it) + } + } else { + { + + } + } onPollUpdates (markerFactory = { it.id }) { poll -> val postId = pollsToPostsIdsRepo.get(poll.id) ?: return@onPollUpdates val newRating = poll.options.sumOf { (variantsTransformer(it.textSources.makeSourceString()) ?.double ?.times(it.votes)) ?: 0.0 } ratingsRepo.set(postId, Rating(newRating)) - panelApi ?.forceRefresh(postId) + panelApiOnPollUpdatesUpdateTrigger(postId) } suspend fun attachPoll(postId: PostId): Boolean {