diff --git a/apps/web/src/components/chat/TraitsPicker.test.ts b/apps/web/src/components/chat/TraitsPicker.test.ts index dbe97cdd54e0..2e1d42a6f6c3 100644 --- a/apps/web/src/components/chat/TraitsPicker.test.ts +++ b/apps/web/src/components/chat/TraitsPicker.test.ts @@ -100,7 +100,7 @@ describe("buildTraitsTriggerDisplay", () => { }); expect(display([serviceTierDescriptor("priority")])).toEqual({ label: "Fast", - showFastModeIcon: false, + showFastModeIcon: true, }); }); @@ -117,10 +117,10 @@ describe("buildTraitsTriggerDisplay", () => { }); }); - it("falls back to a text label when fast mode is the only trait", () => { + it("keeps the bolt alongside the text label when fast mode is the only trait", () => { expect(display([fastModeDescriptor(true)])).toEqual({ label: "Fast", - showFastModeIcon: false, + showFastModeIcon: true, }); expect(display([fastModeDescriptor(false)])).toEqual({ label: "Normal", diff --git a/apps/web/src/components/chat/TraitsPicker.tsx b/apps/web/src/components/chat/TraitsPicker.tsx index f527a37366b7..4e2304226b87 100644 --- a/apps/web/src/components/chat/TraitsPicker.tsx +++ b/apps/web/src/components/chat/TraitsPicker.tsx @@ -473,14 +473,6 @@ export const TraitsMenuContent = memo(function TraitsMenuContentImpl({ ); }); -/** - * Build the traits trigger's text label plus whether the fast-mode bolt should - * render. Claude and Cursor expose fast mode as a boolean, while Codex exposes - * it through the Standard/Fast service tiers. In either form, fast mode is a - * lightning bolt when on and nothing at all when off. The one exception is when - * fast mode is the only trait, where a bare bolt (or bare chevron) would leave - * the trigger unreadable. - */ export function buildTraitsTriggerDisplay(input: { provider: ProviderDriverKind; descriptors: ReadonlyArray; @@ -526,7 +518,7 @@ export function buildTraitsTriggerDisplay(input: { // off an empty label list alone would also catch descriptors that resolved to // no label at all, printing a bogus "Normal" for a model without fast mode. if (labels.length === 0 && fastModeFallbackLabel !== null) { - return { label: fastModeFallbackLabel, showFastModeIcon: false }; + return { label: fastModeFallbackLabel, showFastModeIcon: fastModeEnabled }; } return { label: labels.join(" ยท "), showFastModeIcon: fastModeEnabled }; }