Skip to content

Commit 4a4657a

Browse files
evan-YMclaude
andauthored
fix(ui): remove redundant selectedLabel rendering in Talk settings (#96915) (#96925)
The renderNativeTalkSelect function was rendering an extra .agent-chat__talk-select-label span element for Voice and Sensitivity fields, causing misalignment with the Model field. Changes: - Remove selectedLabel parameter from renderNativeTalkSelect function signature - Remove the conditional rendering of .agent-chat__talk-select-label span - Clean up the selectedLabel argument in renderRealtimeTalkOptions This ensures all three fields (Voice, Model, Sensitivity) have identical HTML structure (label span + input/select), resulting in perfect visual alignment. Co-authored-by: Claude Sonnet 4.6 <[email protected]>
1 parent 4e7992c commit 4a4657a

2 files changed

Lines changed: 12 additions & 19 deletions

File tree

ui/src/ui/views/chat.test.ts

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1496,11 +1496,12 @@ describe("chat voice controls", () => {
14961496
const model = container.querySelector<HTMLInputElement>(
14971497
'.agent-chat__talk-options-primary input[placeholder="Auto"]',
14981498
);
1499-
const sensitivityLabel = requireElement(
1500-
container,
1501-
'[data-talk-select="sensitivity"] .agent-chat__talk-select-label',
1502-
"Talk sensitivity selected label",
1499+
const sensitivitySelect = container.querySelector<HTMLSelectElement>(
1500+
'[data-talk-select="sensitivity"] select',
15031501
);
1502+
if (sensitivitySelect === null) {
1503+
throw new Error("expected Talk sensitivity select");
1504+
}
15041505

15051506
expect(getTalkSelectOptionValues(container, "voice")).toEqual([
15061507
"",
@@ -1515,7 +1516,7 @@ describe("chat voice controls", () => {
15151516
"marin",
15161517
"cedar",
15171518
]);
1518-
expect(sensitivityLabel.textContent).toBe("Custom");
1519+
expect(sensitivitySelect.value).toBe("__custom");
15191520
expect(getTalkSelectOptionValues(container, "sensitivity")).toEqual([
15201521
"",
15211522
"0.65",
@@ -1562,12 +1563,13 @@ describe("chat voice controls", () => {
15621563
},
15631564
onRealtimeTalkOptionsChange,
15641565
});
1565-
const defaultSensitivityLabel = requireElement(
1566-
defaultContainer,
1567-
'[data-talk-select="sensitivity"] .agent-chat__talk-select-label',
1568-
"default Talk sensitivity selected label",
1566+
const defaultSensitivitySelect = defaultContainer.querySelector<HTMLSelectElement>(
1567+
'[data-talk-select="sensitivity"] select',
15691568
);
1570-
expect(defaultSensitivityLabel.textContent).toBe("Default");
1569+
if (defaultSensitivitySelect === null) {
1570+
throw new Error("expected default Talk sensitivity select");
1571+
}
1572+
expect(defaultSensitivitySelect.value).toBe("");
15711573
expect(getTalkSelectOptionValues(defaultContainer, "sensitivity")).toEqual([
15721574
"",
15731575
"0.65",

ui/src/ui/views/chat.ts

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -291,16 +291,10 @@ function renderNativeTalkSelect(params: {
291291
value: string;
292292
options: TalkSelectOption[];
293293
onSelect: (value: string) => void;
294-
selectedLabel?: string;
295294
}) {
296-
const selectedLabel =
297-
params.selectedLabel ?? params.options.find((entry) => entry.value === params.value)?.label;
298295
return html`
299296
<label class="agent-chat__talk-field" data-talk-select=${params.label.toLowerCase()}>
300297
<span>${params.label}</span>
301-
${selectedLabel
302-
? html`<span class="agent-chat__talk-select-label">${selectedLabel}</span>`
303-
: nothing}
304298
<select
305299
.value=${params.value}
306300
@change=${(event: Event) =>
@@ -368,8 +362,6 @@ function renderRealtimeTalkOptions(props: ChatProps) {
368362
const sensitivityOptions = isCustomSensitivity
369363
? [...TALK_SENSITIVITY_OPTIONS, { label: "Custom", value: "__custom" }]
370364
: TALK_SENSITIVITY_OPTIONS;
371-
const sensitivityLabel =
372-
sensitivityOptions.find((entry) => entry.value === sensitivityValue)?.label ?? "Custom";
373365
const updateSensitivity = (value: string) => {
374366
if (value !== "__custom") {
375367
onChange({ vadThreshold: value });
@@ -397,7 +389,6 @@ function renderRealtimeTalkOptions(props: ChatProps) {
397389
label: "Sensitivity",
398390
value: sensitivityValue,
399391
options: sensitivityOptions,
400-
selectedLabel: sensitivityLabel,
401392
onSelect: updateSensitivity,
402393
})}
403394
</div>

0 commit comments

Comments
 (0)