From bdf5d2bc667bfa9810938a5d57f2153e357ca8fc Mon Sep 17 00:00:00 2001 From: Carl-Robert Linnupuu Date: Wed, 5 Feb 2025 16:56:58 +0000 Subject: [PATCH] fix: temp workaround for invalid openai model state (fixes #842) --- .../chat/ui/textarea/ModelComboBoxAction.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/main/java/ee/carlrobert/codegpt/toolwindow/chat/ui/textarea/ModelComboBoxAction.java b/src/main/java/ee/carlrobert/codegpt/toolwindow/chat/ui/textarea/ModelComboBoxAction.java index ec01278e..44094a0c 100644 --- a/src/main/java/ee/carlrobert/codegpt/toolwindow/chat/ui/textarea/ModelComboBoxAction.java +++ b/src/main/java/ee/carlrobert/codegpt/toolwindow/chat/ui/textarea/ModelComboBoxAction.java @@ -18,12 +18,12 @@ import com.intellij.openapi.actionSystem.DefaultActionGroup; import com.intellij.openapi.actionSystem.Presentation; import com.intellij.openapi.actionSystem.ex.ComboBoxAction; import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.colors.EditorColorsManager; import com.intellij.openapi.project.DumbAwareAction; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.popup.JBPopup; import com.intellij.openapi.ui.popup.ListPopup; -import com.intellij.util.IconUtil; import ee.carlrobert.codegpt.CodeGPTKeys; import ee.carlrobert.codegpt.Icons; import ee.carlrobert.codegpt.completions.llama.LlamaModel; @@ -51,6 +51,8 @@ import org.jetbrains.annotations.Nullable; public class ModelComboBoxAction extends ComboBoxAction { + private static final Logger LOG = Logger.getInstance(ModelComboBoxAction.class); + private final Consumer onModelChange; private final Project project; private final List availableProviders; @@ -210,9 +212,17 @@ public class ModelComboBoxAction extends ComboBoxAction { break; case OPENAI: templatePresentation.setIcon(Icons.OpenAI); - templatePresentation.setText( - OpenAIChatCompletionModel.findByCode(OpenAISettings.getCurrentState().getModel()) - .getDescription()); + + var selectedModel = OpenAISettings.getCurrentState().getModel(); + try { + templatePresentation.setText( + OpenAIChatCompletionModel.findByCode(selectedModel).getDescription()); + } catch (Exception e) { + LOG.error("Could find OpenAI model for code {}", e, selectedModel); + // TODO: Find out why another provider's model was stored in the first place + templatePresentation.setText(OpenAIChatCompletionModel.GPT_4_O.getDescription()); + } + break; case CUSTOM_OPENAI: templatePresentation.setIcon(Icons.OpenAI);