mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-06-23 10:42:00 +00:00
fix(desktop): show all of a provider's models when searching the composer picker
The composer model picker capped each provider's search matches at 12 (PER_PROVIDER_SEARCH). A provider serving more than 12 models (e.g. opencode-go with 19) showed only a truncated subset when the user typed its name to find it — exactly the models they were searching for got cut. Edit Models showed the full list because it never applied this cap. A search is already a narrowing action, so capping a single provider's own matches is wrong. Remove the slice; search now lists every matching model for the provider. The no-search default still shows the curated top-N per provider via the visibility set. Follow-up to #47077 (the backend dedup fix); this closes the remaining frontend truncation users saw in the composer.
This commit is contained in:
parent
a6ce9b2fbb
commit
d4fa2db1c5
1 changed files with 5 additions and 7 deletions
|
|
@ -326,8 +326,10 @@ export function ModelMenuPanel({ gateway, onSelectModel, requestGateway }: Model
|
|||
}
|
||||
|
||||
// Collapsed we show the user's chosen models (or the curated default); typing
|
||||
// spans every available model so anything is reachable past the cut.
|
||||
const PER_PROVIDER_SEARCH = 12
|
||||
// spans every available model so anything is reachable past the cut. A search
|
||||
// is itself a narrowing action, so we do NOT cap per-provider matches — a
|
||||
// provider serving 19 models (e.g. opencode-go) must show all 19 when the user
|
||||
// searches for it, not a truncated subset. (#47077 follow-up)
|
||||
|
||||
function groupModels(
|
||||
providers: ModelOptionProvider[],
|
||||
|
|
@ -374,11 +376,7 @@ function groupModels(
|
|||
? allFamilies.find(family => family.id === current.model || family.fastId === current.model)?.id
|
||||
: undefined
|
||||
|
||||
let families = allFamilies.filter(family => shown.has(family.id) || family.id === activeId)
|
||||
|
||||
if (q) {
|
||||
families = families.slice(0, PER_PROVIDER_SEARCH)
|
||||
}
|
||||
const families = allFamilies.filter(family => shown.has(family.id) || family.id === activeId)
|
||||
|
||||
if (families.length > 0) {
|
||||
groups.push({ families, provider })
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue