From 4c293dff733661b251bfde584ca841392efd384b Mon Sep 17 00:00:00 2001
From: Carl-Robert Linnupuu
Date: Tue, 13 Jan 2026 10:58:07 +0000
Subject: [PATCH] fix: improve proxyai error handling and clean up code
---
.../chat/ui/ChatMessageResponseBody.java | 10 ++
.../ui/ChatToolWindowScrollablePanel.java | 2 +-
.../carlrobert/codegpt/agent/AgentFactory.kt | 13 +-
.../carlrobert/codegpt/agent/ProxyAIAgent.kt | 8 +
.../agent/clients/CustomOpenAILLMClient.kt | 5 +-
.../codegpt/agent/clients/ProxyAILLMClient.kt | 5 +-
.../strategy/SingleRunStrategyProvider.kt | 30 ++--
.../toolwindow/agent/AgentEventHandler.kt | 164 ++++++++----------
8 files changed, 111 insertions(+), 126 deletions(-)
diff --git a/src/main/java/ee/carlrobert/codegpt/toolwindow/chat/ui/ChatMessageResponseBody.java b/src/main/java/ee/carlrobert/codegpt/toolwindow/chat/ui/ChatMessageResponseBody.java
index 855f8462..1ecb1687 100644
--- a/src/main/java/ee/carlrobert/codegpt/toolwindow/chat/ui/ChatMessageResponseBody.java
+++ b/src/main/java/ee/carlrobert/codegpt/toolwindow/chat/ui/ChatMessageResponseBody.java
@@ -166,6 +166,16 @@ public class ChatMessageResponseBody extends JPanel {
});
}
+ public void displayInvalidCredential() {
+ String message = "Invalid API key. Open Settings to update your API key.";
+ displayErrorMessage(message, e -> {
+ if (e.getEventType() == ACTIVATED) {
+ ShowSettingsUtil.getInstance()
+ .showSettingsDialog(project, GeneralSettingsConfigurable.class);
+ }
+ });
+ }
+
public void displayQuotaExceeded() {
String message = "You exceeded your current quota, please check your plan and billing details, "
+ "or change to a different LLM provider.";
diff --git a/src/main/java/ee/carlrobert/codegpt/toolwindow/chat/ui/ChatToolWindowScrollablePanel.java b/src/main/java/ee/carlrobert/codegpt/toolwindow/chat/ui/ChatToolWindowScrollablePanel.java
index 146019a5..899b4f52 100644
--- a/src/main/java/ee/carlrobert/codegpt/toolwindow/chat/ui/ChatToolWindowScrollablePanel.java
+++ b/src/main/java/ee/carlrobert/codegpt/toolwindow/chat/ui/ChatToolWindowScrollablePanel.java
@@ -47,7 +47,7 @@ public class ChatToolWindowScrollablePanel extends ScrollablePanel {
It looks like you haven't configured your API key yet. Visit ProxyAI settings to do so.
- Don't have an account? Sign up to get the most out of ProxyAI.
+ Don't have an account? Sign up to get started.