IntelliJ IDEA 的插件。点击 git 上的生成变更的 commit message。idea 报错

Issue Description

问题来源是 IntelliJ IDEA 的插件。在使用 git 生成 commit message 的时候。报错了
报错内容:
GitContentRevision.getContentAsBytes() should not be called from EDT

java.lang.Throwable
at git4idea.GitContentRevision.getContentAsBytes(GitContentRevision.java:69)
at git4idea.GitContentRevision.getContent(GitContentRevision.java:57)
at com.intellij.openapi.diff.impl.patch.IdeaTextPatchBuilder$TextAirContentRevision.getContentAsString(IdeaTextPatchBuilder.java:227)
at com.intellij.openapi.diff.impl.patch.TextPatchBuilder.buildModifiedFile(TextPatchBuilder.java:98)
at com.intellij.openapi.diff.impl.patch.TextPatchBuilder.createPatch(TextPatchBuilder.java:93)
at com.intellij.openapi.diff.impl.patch.TextPatchBuilder.build(TextPatchBuilder.java:67)
at com.intellij.openapi.diff.impl.patch.TextPatchBuilder.buildPatch(TextPatchBuilder.java:56)
at com.intellij.openapi.diff.impl.patch.IdeaTextPatchBuilder.buildPatch(IdeaTextPatchBuilder.java:110)
at com.alibabacloud.intellij.qoder.chat.action.CosyCommitMessageGenerationAction.getDiff(CosyCommitMessageGenerationAction.java:228)
at com.alibabacloud.intellij.qoder.chat.action.CosyCommitMessageGenerationAction.lambda$doChatAsk$4(CosyCommitMessageGenerationAction.java:586)
at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:236)
at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:22)
at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:198)
at com.intellij.openapi.application.impl.AppImplKt$runnableUnitFunction$1.invoke(appImpl.kt:124)
at com.intellij.openapi.application.impl.AppImplKt$runnableUnitFunction$1.invoke(appImpl.kt:124)
at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.runWriteIntentReadAction(NestedLocksThreadingSupport.kt:705)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:1094)
at com.intellij.openapi.application.impl.ApplicationImpl$7.lambda$run$0(ApplicationImpl.java:648)
at com.intellij.concurrency.ThreadContext.installThreadContext(threadContext.kt:305)
at com.intellij.openapi.application.impl.ApplicationImpl$7.run(ApplicationImpl.java:646)
at com.intellij.util.concurrency.ChildContext$runInChildContext$1.invoke(propagation.kt:192)
at com.intellij.util.concurrency.ChildContext$runInChildContext$1.invoke(propagation.kt:192)
at com.intellij.util.concurrency.ChildContext.runInChildContext(propagation.kt:198)
at com.intellij.util.concurrency.ChildContext.runInChildContext(propagation.kt:192)
at com.intellij.util.concurrency.ContextRunnable.lambda$run$0(ContextRunnable.java:26)
at com.intellij.concurrency.ThreadContext.resetThreadContext(threadContext.kt:294)
at com.intellij.util.concurrency.ContextRunnable.run(ContextRunnable.java:25)
at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent$lambda$1$1$0(NonBlockingFlushQueue.kt:334)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:928)
at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent$lambda$1$1(NonBlockingFlushQueue.kt:333)
at com.intellij.concurrency.ThreadContext.resetThreadContext(threadContext.kt:294)
at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent$lambda$1(NonBlockingFlushQueue.kt:330)
at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.tryRunWriteIntentReadAction(NestedLocksThreadingSupport.kt:747)
at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent(NonBlockingFlushQueue.kt:326)
at com.intellij.openapi.application.impl.NonBlockingFlushQueue.flushNow(NonBlockingFlushQueue.kt:305)
at com.intellij.openapi.application.impl.NonBlockingFlushQueue.FLUSH_NOW$lambda$0(NonBlockingFlushQueue.kt:167)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:323)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:732)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:711)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:720)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:573)
at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0$0$0(IdeEventQueue.kt:377)
at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$0(IdeEventQueue.kt:1110)
at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1110)
at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0(IdeEventQueue.kt:375)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:415)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)

报错后有生成信息,但是生成的内容不符合

Steps to Reproduce

Expected Behavior

不应该报错,并且生成内容正确。

Actual Behavior

Screenshots / Screen Recordings

Operating System

Current Qoder Version (Menu → About Qoder → Copy)