Synced from monorepo
Synced from monorepo Changes: - Refresh tool search when the managed MCP catalog is re-fetched - Prevent duplicate leader process spawn and startup hang from stale leaders - Document marketplaces, plugins, and organization controls - Stamp session ID on image generation direct-to-API requests - Fix auto mode blocked documentation - Auto mode considers recent user intent - Expose deploy archive, taken-down, limit, and in-progress reasons on the chat API - Fail-closed auth refresh contract for shell clients - Emit a chat-supplied per-session turn index in turn hooks - Show bash mode chrome in minimal mode - Add metrics for true-noop and stationarity stops - Include voice interim text on prompt submit - Silently end turn on true-noop thrash - Quiet copy toast when clipboard delivery is confirmed - Fix session fork truncating at the wrong prompt in rewound sessions - Make the idle "still running" watcher cue clickable to open the tasks pane - Default web search model to grok-4.5 - Let plugin subagents inherit parent MCP servers - Gate no-op end-turn reminder on system reminders - Add gateway bridge lifecycle telemetry - Allow editing finalized text while voice is open - Relocate token carrier to turn-commit events and plumb per-turn origin context - Raise workflow scratch quotas and make failed runs resumable - Workflows overlay: auto-progress phases, live agent status, and drop budget meter Source-Revision: 9b8d35b46d959c042ea9aa31cbbebbd1f0c5c527
This commit is contained in:
parent
69f0ba880a
commit
6e38642082
103 changed files with 4964 additions and 1261 deletions
|
|
@ -2981,13 +2981,10 @@ fn render_dispatch(
|
|||
let prefix = "\u{276F} ";
|
||||
let prefix_w = UnicodeWidthStr::width(prefix) as u16;
|
||||
|
||||
// Voice overlay: stream the interim transcript into the box and hide the
|
||||
// caret while listening. When active we render through `PromptWidget::draw`
|
||||
// (below) even on an empty buffer, so the manual empty-state branch is
|
||||
// skipped in that case.
|
||||
// When voice is active, draw through PromptWidget even on an empty buffer
|
||||
// so the manual empty-state branch is skipped.
|
||||
let voice_overlay = (state.voice_listening || state.voice_interim.is_some()).then_some(
|
||||
crate::views::prompt_widget::VoicePromptOverlay {
|
||||
listening: state.voice_listening,
|
||||
interim: state.voice_interim.as_deref(),
|
||||
color: theme.accent_running,
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in a new issue