fix(app): follow rendered model order with arrow keys (#47912)

Co-authored-by: Brendonovich <14191578+Brendonovich@users.noreply.github.com>
This commit is contained in:
opencode-agent[bot]
2026-09-09 11:23:38 +08:00
committed by GitHub
Unverified
parent 0da0772bc0
commit f02c5f8648
2 changed files with 8 additions and 5 deletions
@@ -99,13 +99,16 @@ test("creates a session in a new project and selects its model", async ({ page }
const modelControl = page.locator('[data-action="composer-model"]')
await expect(modelControl).toContainText("Go Model 1")
await modelControl.click()
await page.locator('[data-option-key="opencode:free-model"]').click()
const modelSearch = page.getByPlaceholder("Search models", { exact: true })
await expect(modelSearch).toBeFocused()
await modelSearch.press("ArrowDown")
await modelSearch.press("Enter")
await expect(modelControl).toContainText("Free Model")
await modelControl.click()
const goModel = page.locator('[data-option-key="opencode-go:go-model-1"]')
await expect(goModel).toBeVisible()
await goModel.click()
await expect(modelSearch).toBeFocused()
await modelSearch.press("ArrowUp")
await modelSearch.press("Enter")
await expect(modelControl).toContainText("Go Model 1")
})
@@ -314,7 +314,7 @@ function ModelSelectorPopoverView(props: {
const models = createMemo(() => props.models(store.search))
const groups = createMemo(() => props.groups(models()))
const keys = () => [...models().map(modelKey), manageKey]
const keys = () => [...groups().flatMap((group) => group.items.map(modelKey)), manageKey]
const initialActive = () => {
const selected = props.current
const options = keys()