From 7cceead27373ac7381190dea3ca966d8b6d79322 Mon Sep 17 00:00:00 2001 From: Brooklyn Nicholson Date: Fri, 5 Jun 2026 21:03:05 -0500 Subject: [PATCH] fix(desktop): render steer note as a codicon, not an emoji MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The inline steer note used a ⏩ emoji. Emit a structured `steer:` system note and render it in SystemMessage as a codicon (compass) row — same style as slash-status output. No emoji in the transcript. --- .../app/session/hooks/use-prompt-actions.ts | 5 +++-- .../src/components/assistant-ui/thread.tsx | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/apps/desktop/src/app/session/hooks/use-prompt-actions.ts b/apps/desktop/src/app/session/hooks/use-prompt-actions.ts index 744f3f47df06..b96684134454 100644 --- a/apps/desktop/src/app/session/hooks/use-prompt-actions.ts +++ b/apps/desktop/src/app/session/hooks/use-prompt-actions.ts @@ -768,8 +768,9 @@ export function usePromptActions({ if (result?.status === 'queued') { triggerHaptic('submit') // Inline note (not a toast) so the nudge lives in the transcript next - // to the turn it steered — same centered system-note style as slash output. - appendSessionTextMessage(sessionId, 'system', `⏩ steered · ${text}`) + // to the turn it steered. The `steer:` prefix is rendered as a codicon + // row by SystemMessage (see STEER_NOTE_RE), same style as slash output. + appendSessionTextMessage(sessionId, 'system', `steer:${text}`) return true } diff --git a/apps/desktop/src/components/assistant-ui/thread.tsx b/apps/desktop/src/components/assistant-ui/thread.tsx index c34c345b361d..a38ebce4f341 100644 --- a/apps/desktop/src/components/assistant-ui/thread.tsx +++ b/apps/desktop/src/components/assistant-ui/thread.tsx @@ -820,6 +820,7 @@ const UserMessage: FC<{ } const SLASH_STATUS_RE = /^slash:(?\/[^\n]+)\n(?[\s\S]*)$/ +const STEER_NOTE_RE = /^steer:(?[\s\S]+)$/ const SystemMessage: FC = () => { const text = useAuiState(s => messageContentText(s.message.content)) @@ -828,6 +829,23 @@ const SystemMessage: FC = () => { return null } + const steerNote = text.match(STEER_NOTE_RE) + + if (steerNote?.groups) { + return ( + + + steered + · + {steerNote.groups.text.trim()} + + ) + } + const slashStatus = text.match(SLASH_STATUS_RE) if (slashStatus?.groups) {