diff --git a/apps/desktop/src/app/chat/composer/controls.test.tsx b/apps/desktop/src/app/chat/composer/controls.test.tsx index 8a84be8ea4..cceb970b9f 100644 --- a/apps/desktop/src/app/chat/composer/controls.test.tsx +++ b/apps/desktop/src/app/chat/composer/controls.test.tsx @@ -66,13 +66,19 @@ describe('ComposerControls shortcut tooltips', () => { await expectShortcutTooltip('Send', '↵') }) - it('shows Enter for Steer', async () => { + it('keeps Send (not Steer) while a turn is running if there is a payload', async () => { renderControls({ busy: true, busyAction: 'steer' }) - await expectShortcutTooltip('Steer the current run', '↵') + await expectShortcutTooltip('Send', '↵') }) - it('shows Ctrl+Enter for Queue', async () => { + it('shows Stop only when the composer is empty mid-turn', async () => { + renderControls({ busy: true, busyAction: 'stop', canSubmit: true, hasComposerPayload: false }) + + await expectShortcutTooltip('Stop', '↵') + }) + + it('shows Ctrl+Enter for Queue as the secondary mid-turn action', async () => { renderControls({ busy: true, busyAction: 'queue' }) await expectShortcutTooltip('Queue message', 'Ctrl+↵') diff --git a/apps/desktop/src/app/chat/composer/controls.tsx b/apps/desktop/src/app/chat/composer/controls.tsx index 06a3869894..13fc063c6f 100644 --- a/apps/desktop/src/app/chat/composer/controls.tsx +++ b/apps/desktop/src/app/chat/composer/controls.tsx @@ -13,7 +13,6 @@ import { Layers3, Loader2, Square, - SteeringWheel, Volume2, VolumeX } from '@/lib/icons' @@ -87,7 +86,10 @@ export function ComposerControls({ } const showVoicePrimary = !busy && !hasComposerPayload - const busyLabel = busyAction === 'queue' ? c.queueMessage : busyAction === 'steer' ? c.steer : c.stop + // Steer is just send: a payload keeps the Send affordance mid-turn. Stop + // only when the composer is empty and a turn is running. + const showStop = busy && !hasComposerPayload + const showQueueButton = busyAction !== 'stop' && hasComposerPayload return (
@@ -95,7 +97,7 @@ export function ComposerControls({ - {busyAction === 'steer' ? ( + {showQueueButton ? ( }>