summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--props_table.go27
1 files changed, 17 insertions, 10 deletions
diff --git a/props_table.go b/props_table.go
index 1861ca3..8cb956f 100644
--- a/props_table.go
+++ b/props_table.go
@@ -132,19 +132,12 @@ func makePropsTable(props map[string]float32) *tview.Table {
})
// Helper function to get model list for a given API
getModelListForAPI := func(api string) []string {
- var list []string
if strings.Contains(api, "api.deepseek.com/") {
- list = []string{chatBody.Model, "deepseek-chat", "deepseek-reasoner"}
+ return []string{"deepseek-chat", "deepseek-reasoner"}
} else if strings.Contains(api, "openrouter.ai") {
- list = ORFreeModels
- } else {
- list = LocalModels
+ return ORFreeModels
}
- // Ensure current chatBody.Model is in the list
- if len(list) > 0 && !slices.Contains(list, chatBody.Model) {
- list = slices.Insert(list, 0, chatBody.Model)
- }
- return list
+ return LocalModels
}
var modelRowIndex int // will be set before model row is added
@@ -256,6 +249,20 @@ func makePropsTable(props map[string]float32) *tview.Table {
if cellData[listPopupCellID] != nil && cellData[listPopupCellID].Type == CellTypeListPopup {
data := cellData[listPopupCellID]
if onChange, ok := data.OnChange.(func(string)); ok && data.Options != nil {
+ // Check for empty options list
+ if len(data.Options) == 0 {
+ // Get label for context
+ labelCell := table.GetCell(selectedRow, 0)
+ label := "item"
+ if labelCell != nil {
+ label = labelCell.Text
+ }
+ logger.Warn("empty options list for", "label", label)
+ if err := notifyUser("Empty list", "No options available for " + label); err != nil {
+ logger.Error("failed to send notification", "error", err)
+ }
+ return
+ }
// Create a list primitive
apiList := tview.NewList().ShowSecondaryText(false).
SetSelectedBackgroundColor(tcell.ColorGray)