diff --git a/src/main/java/ee/carlrobert/codegpt/completions/ToolwindowChatCompletionRequestHandler.java b/src/main/java/ee/carlrobert/codegpt/completions/ToolwindowChatCompletionRequestHandler.java index 4505bbaa..891ce84c 100644 --- a/src/main/java/ee/carlrobert/codegpt/completions/ToolwindowChatCompletionRequestHandler.java +++ b/src/main/java/ee/carlrobert/codegpt/completions/ToolwindowChatCompletionRequestHandler.java @@ -1,5 +1,6 @@ package ee.carlrobert.codegpt.completions; +import com.intellij.openapi.application.ApplicationManager; import ee.carlrobert.codegpt.settings.GeneralSettings; import ee.carlrobert.codegpt.telemetry.TelemetryAction; import ee.carlrobert.llm.client.openai.completion.ErrorDetails; @@ -16,15 +17,17 @@ public class ToolwindowChatCompletionRequestHandler { } public void call(ChatCompletionParameters callParameters) { - try { - eventSource = startCall(callParameters); - } catch (TotalUsageExceededException e) { - completionResponseEventListener.handleTokensExceeded( - callParameters.getConversation(), - callParameters.getMessage()); - } finally { - sendInfo(callParameters); - } + ApplicationManager.getApplication().executeOnPooledThread(() -> { + try { + eventSource = startCall(callParameters); + } catch (TotalUsageExceededException e) { + completionResponseEventListener.handleTokensExceeded( + callParameters.getConversation(), + callParameters.getMessage()); + } finally { + sendInfo(callParameters); + } + }); } public void cancel() {