From ef6c6802d0a91085d96e66225ddcce65eca80c5a Mon Sep 17 00:00:00 2001 From: Phodal Huang Date: Tue, 9 Jan 2024 14:48:37 +0800 Subject: [PATCH] fix(vcs): fix CommitMessageSuggestionAction not updating editorField text The CommitMessageSuggestionAction was not updating the editorField text when receiving new messages. This was fixed by using the invokeLater function to run the stream collection in the UI thread. --- .../devti/actions/vcs/CommitMessageSuggestionAction.kt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/cc/unitmesh/devti/actions/vcs/CommitMessageSuggestionAction.kt b/src/main/kotlin/cc/unitmesh/devti/actions/vcs/CommitMessageSuggestionAction.kt index a4207f3445..969d35ce55 100644 --- a/src/main/kotlin/cc/unitmesh/devti/actions/vcs/CommitMessageSuggestionAction.kt +++ b/src/main/kotlin/cc/unitmesh/devti/actions/vcs/CommitMessageSuggestionAction.kt @@ -5,6 +5,7 @@ import cc.unitmesh.devti.gui.chat.ChatActionType import cc.unitmesh.devti.llms.LlmFactory import cc.unitmesh.devti.prompting.VcsPrompting import com.intellij.openapi.actionSystem.AnActionEvent +import com.intellij.openapi.application.invokeLater import com.intellij.openapi.components.service import com.intellij.openapi.diagnostic.logger import com.intellij.openapi.vcs.VcsDataKeys @@ -48,9 +49,11 @@ class CommitMessageSuggestionAction : ChatBaseAction() { val stream = LlmFactory().create(project).stream(prompt, "", false) - runBlocking { - stream.cancellable().collect { - commitMessageUi.editorField.text += it + invokeLater { + runBlocking { + stream.cancellable().collect { + commitMessageUi.editorField.text += it + } } } }