mirror of
https://github.com/carlrobertoh/ProxyAI.git
synced 2026-05-17 12:21:20 +00:00
fix: stop statusbar spinner when request fails
This commit is contained in:
parent
d19dd4bb23
commit
fa61e1485c
3 changed files with 10 additions and 8 deletions
|
|
@ -289,7 +289,7 @@ public class ChatToolWindowTabPanel implements Disposable {
|
|||
requestHandler = new ToolwindowChatCompletionRequestHandler(
|
||||
project,
|
||||
new ToolWindowCompletionResponseEventListener(
|
||||
conversationService,
|
||||
project,
|
||||
userMessagePanel,
|
||||
responseMessagePanel,
|
||||
totalTokensPanel,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,9 @@ import static com.intellij.openapi.ui.Messages.OK;
|
|||
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import ee.carlrobert.codegpt.EncodingManager;
|
||||
import ee.carlrobert.codegpt.codecompletions.CompletionProgressNotifier;
|
||||
import ee.carlrobert.codegpt.completions.ChatCompletionParameters;
|
||||
import ee.carlrobert.codegpt.completions.CompletionResponseEventListener;
|
||||
import ee.carlrobert.codegpt.conversations.Conversation;
|
||||
|
|
@ -29,9 +31,9 @@ abstract class ToolWindowCompletionResponseEventListener implements
|
|||
ToolWindowCompletionResponseEventListener.class);
|
||||
private static final int UPDATE_INTERVAL_MS = 8;
|
||||
|
||||
private final Project project;
|
||||
private final StringBuilder messageBuilder = new StringBuilder();
|
||||
private final EncodingManager encodingManager;
|
||||
private final ConversationService conversationService;
|
||||
private final ResponseMessagePanel responsePanel;
|
||||
private final UserMessagePanel userMessagePanel;
|
||||
private final ChatMessageResponseBody responseContainer;
|
||||
|
|
@ -44,13 +46,13 @@ abstract class ToolWindowCompletionResponseEventListener implements
|
|||
private boolean streamResponseReceived = false;
|
||||
|
||||
public ToolWindowCompletionResponseEventListener(
|
||||
ConversationService conversationService,
|
||||
Project project,
|
||||
UserMessagePanel userMessagePanel,
|
||||
ResponseMessagePanel responsePanel,
|
||||
TotalTokensPanel totalTokensPanel,
|
||||
UserInputPanel textArea) {
|
||||
this.encodingManager = EncodingManager.getInstance();
|
||||
this.conversationService = conversationService;
|
||||
this.project = project;
|
||||
this.userMessagePanel = userMessagePanel;
|
||||
this.responsePanel = responsePanel;
|
||||
this.responseContainer = (ChatMessageResponseBody) responsePanel.getContent();
|
||||
|
|
@ -92,8 +94,6 @@ abstract class ToolWindowCompletionResponseEventListener implements
|
|||
responseContainer.displayError(error.getMessage());
|
||||
}
|
||||
} finally {
|
||||
LOG.error(error.getMessage(), ex);
|
||||
responsePanel.enableAllActions(true);
|
||||
stopStreaming(responseContainer);
|
||||
}
|
||||
});
|
||||
|
|
@ -109,7 +109,7 @@ abstract class ToolWindowCompletionResponseEventListener implements
|
|||
.property("model", conversation.getModel())
|
||||
.send();
|
||||
|
||||
conversationService.discardTokenLimits(conversation);
|
||||
ConversationService.getInstance().discardTokenLimits(conversation);
|
||||
handleTokensExceededPolicyAccepted();
|
||||
} else {
|
||||
stopStreaming(responseContainer);
|
||||
|
|
@ -119,7 +119,7 @@ abstract class ToolWindowCompletionResponseEventListener implements
|
|||
|
||||
@Override
|
||||
public void handleCompleted(String fullMessage, ChatCompletionParameters callParameters) {
|
||||
conversationService.saveMessage(fullMessage, callParameters);
|
||||
ConversationService.getInstance().saveMessage(fullMessage, callParameters);
|
||||
|
||||
ApplicationManager.getApplication().invokeLater(() -> {
|
||||
try {
|
||||
|
|
@ -163,5 +163,6 @@ abstract class ToolWindowCompletionResponseEventListener implements
|
|||
userMessagePanel.enableAllActions(true);
|
||||
responsePanel.enableAllActions(true);
|
||||
responseContainer.hideCaret();
|
||||
CompletionProgressNotifier.update(project, false);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ interface CompletionProgressNotifier {
|
|||
val COMPLETION_PROGRESS_TOPIC =
|
||||
Topic.create("completionProgressTopic", CompletionProgressNotifier::class.java)
|
||||
|
||||
@JvmStatic
|
||||
fun update(project: Project, loading: Boolean) {
|
||||
if (project.isDisposed) return
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue