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 ? (
}>
+ showStop ? (
+
) : (
)
}
>