on main help sign in
fix: ensure hyper is the first provider in the list
commit1e691e0c49c343e0df46bc332f5d973b4cd85b7f authorAndrey Nering <andreynering@users.noreply.github.com> dateFri 23 Jan 2026, 14:50 (9 months ago) parent44e1ca7
2 files changed+15−4
internal/tui/components/dialogs/models/list.go+2−4 internal/ui/dialog/models.go+13
internal/tui/components/dialogs/models/list.go+2−4
@@ -186,9 +186,7 @@ func (m *ModelListComponent) SetModelType(modelType int) tea.Cmd {
186186
187187 // Move "Charm Hyper" to first position
188188 // (but still after recent models and custom providers).
189− sortedProviders := make([]catwalk.Provider, len(m.providers))
190− copy(sortedProviders, m.providers)
191− slices.SortStableFunc(sortedProviders, func(a, b catwalk.Provider) int {
189+ slices.SortStableFunc(m.providers, func(a, b catwalk.Provider) int {
192190 switch {
193191 case a.ID == "hyper":
194192 return -1
@@ -200,7 +198,7 @@ func (m *ModelListComponent) SetModelType(modelType int) tea.Cmd {
200198 })
201199
202200 // Then add the known providers from the predefined list
203− for _, provider := range sortedProviders {
201+ for _, provider := range m.providers {
204202 // Skip if we already added this provider as an unknown provider
205203 if addedProviders[string(provider.ID)] {
206204 continue
internal/ui/dialog/models.go+13
@@ -354,6 +354,19 @@ func (m *Models) setProviderItems() error {
354354 }
355355 }
356356
357+ // Move "Charm Hyper" to first position.
358+ // (But still after recent models and custom providers).
359+ slices.SortStableFunc(m.providers, func(a, b catwalk.Provider) int {
360+ switch {
361+ case a.ID == "hyper":
362+ return -1
363+ case b.ID == "hyper":
364+ return 1
365+ default:
366+ return 0
367+ }
368+ })
369+
357370 // Now add known providers from the predefined list
358371 for _, provider := range m.providers {
359372 providerID := string(provider.ID)