on main help sign in
fix(models): fix sorting of hyper
commit841eec8f89335d0eebb8f334057a1a2ee0efb159 authorKieran Klukas <kieran@dunkirk.sh> dateThu 21 May 2026, 13:03 (5 months ago) parent56cf50a
2 files changed+12−16
internal/config/provider.go+10−2 internal/ui/dialog/models.go+2−14
internal/config/provider.go+10−2
@@ -147,6 +147,9 @@ func Providers(cfg *Config) ([]catwalk.Provider, error) {
147147 ctx, cancel := context.WithTimeout(context.Background(), 45*time.Second)
148148 defer cancel()
149149
150+ var hyperProvider catwalk.Provider
151+ var hyperFound bool
152+
150153 wg.Go(func() {
151154 if customProvidersOnly {
152155 return
@@ -177,12 +180,17 @@ func Providers(cfg *Config) ([]catwalk.Provider, error) {
177180 errs = append(errs, fmt.Errorf("Crush was unable to fetch updated information from Hyper: %w", err)) //nolint:staticcheck
178181 return
179182 }
180− providers.Append(item)
183+ hyperProvider = item
184+ hyperFound = true
181185 })
182186
183187 wg.Wait()
184188
185− providerList = slices.Collect(providers.Seq())
189+ if hyperFound {
190+ providerList = append([]catwalk.Provider{hyperProvider}, slices.Collect(providers.Seq())...)
191+ } else {
192+ providerList = slices.Collect(providers.Seq())
193+ }
186194 providerErr = errors.Join(errs...)
187195 })
188196 return providerList, providerErr
internal/ui/dialog/models.go+2−14
@@ -408,20 +408,8 @@ func (m *Models) setProviderItems() error {
408408 }
409409 }
410410
411− // Move "Charm Hyper" to first position.
412− // (But still after recent models and custom providers).
413− slices.SortStableFunc(m.providers, func(a, b catwalk.Provider) int {
414− switch {
415− case a.ID == "hyper":
416− return -1
417− case b.ID == "hyper":
418− return 1
419− default:
420− return 0
421− }
422− })
423−
424− // Now add known providers from the predefined list
411+ // Now add known providers from the predefined list.
412+ // Providers already has Hyper at the front of the list.
425413 for _, provider := range m.providers {
426414 providerID := string(provider.ID)
427415 if addedProviders[providerID] {