fix(webui): keep composer model badge in sync

This commit is contained in:
Xubin Ren
2026-07-23 23:11:40 +08:00
parent 6c0f151f6e
commit 754f457a94
2 changed files with 21 additions and 1 deletions
+1 -1
View File
@@ -195,7 +195,7 @@ function toModelBadgeInfo(
const preset = modelPresetForBadge(settings, scopedPreset);
const model = scopedPreset
? preset?.model || null
: modelName || settings?.agent.model || null;
: settings?.agent.model || modelName || null;
const label = toModelBadgeLabel(model);
const rawProvider = preset?.provider
|| (!scopedPreset ? settings?.agent.provider : null)
+20
View File
@@ -369,6 +369,26 @@ describe("ThreadShell", () => {
expect(await screen.findByTestId("composer-model-logo-openai_codex")).toBeInTheDocument();
});
it("keeps the composer model name and provider on the same settings snapshot", async () => {
const client = makeClient();
render(
wrap(
client,
<ThreadShell
session={session("model-settings-sync")}
title="Model settings sync"
onToggleSidebar={() => {}}
settingsSnapshot={modelSettings("openai-codex/gpt-5.5", "openai_codex")}
/>,
"ling/ling-3.0-flash",
),
);
expect(await screen.findByTestId("composer-model-logo-openai_codex")).toBeInTheDocument();
expect(screen.getByText("gpt-5.5")).toBeInTheDocument();
expect(screen.queryByText("ling-3.0-flash")).not.toBeInTheDocument();
});
it("resolves the composer model from the active session preset", async () => {
const client = makeClient();
render(