chore: disable spellcheck in model search (#8889)

This commit is contained in:
Kalvin C
2026-04-28 17:33:15 -07:00
committed by GitHub
parent 69efb796ae
commit fffe425c9c
2 changed files with 37 additions and 11 deletions
@@ -12,6 +12,7 @@ import { useProviderInventoryStore } from "@/features/providers/stores/providerI
import { cn } from "@/shared/lib/cn";
import { Button } from "@/shared/ui/button";
import { Popover, PopoverContent, PopoverTrigger } from "@/shared/ui/popover";
import { SearchBar } from "@/shared/ui/SearchBar";
import { ScrollArea } from "@/shared/ui/scroll-area";
import { Spinner } from "@/shared/ui/spinner";
import {
@@ -244,17 +245,14 @@ function AllModelsList({
>
<IconChevronLeft className="size-4" />
</button>
<div className="relative min-w-0 flex-1">
<IconSearch className="pointer-events-none absolute left-2 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground" />
<input
ref={inputRef}
type="text"
value={query}
onChange={(e) => setQuery(e.target.value)}
placeholder={t("toolbar.searchModels")}
className="h-7 w-full rounded-sm border bg-transparent pl-7 pr-2 text-sm outline-none placeholder:text-muted-foreground focus:ring-1 focus:ring-ring"
/>
</div>
<SearchBar
inputRef={inputRef}
size="small"
value={query}
onChange={setQuery}
placeholder={t("toolbar.searchModels")}
className="min-w-0 flex-1"
/>
</div>
{filtered.length > 0 ? (
<ScrollArea className="min-h-0 min-w-0 flex-1">
@@ -129,6 +129,34 @@ describe("AgentModelPicker", () => {
expect(longModelButton).toHaveClass("overflow-hidden");
});
it("disables spellcheck in the all-models search field", async () => {
const user = userEvent.setup();
render(
<AgentModelPicker
agents={AGENTS}
selectedAgentId="goose"
onAgentChange={vi.fn()}
currentModelId="claude-sonnet-4"
currentModelName="Claude Sonnet 4"
availableModels={[
{ id: "claude-sonnet-4", name: "Claude Sonnet 4", recommended: true },
{ id: "gpt-4o-mini-2024-07-18", name: "GPT-4o mini" },
]}
onModelChange={vi.fn()}
/>,
);
await user.click(
screen.getByRole("button", { name: /choose agent and model/i }),
);
await user.click(screen.getByRole("button", { name: "Browse all models" }));
const search = screen.getByPlaceholderText("Search models...");
expect(search).toHaveAttribute("spellcheck", "false");
});
it("shows only agent name when no model info is available", () => {
render(
<AgentModelPicker