From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: lucascouts <lucascs@protonmail.com>
Date: Mon, 9 Nov 2026 15:35:27 -0300
Subject: [PATCH] agent_ui: move the voice button next to Add Context
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Wave 2 of the Zeo next proposal (docs/ZEO-NEXT-PROPOSAL.md §5.6, ask 21;
the ask's "telegonr" is the microphone, confirmed in §12-9). Patch 0067
put its `IconName::Mic` button in the composer's right-hand group, beside
Send, where a click aimed at one hit the other. It now ends the left-hand
group: Add Context, Preview (0016), Follow, Fast, Thinking, microphone.

Only the position changes. The button, its states, its keyboard action
and the strip above the composer are 0067's, untouched; the voice tests
render the button on its own, so none depends on where it sits.

Verified 2026-11-09 in the prepared d2a4fb6 tree: cargo check --tests, cargo clippy --tests and cargo fmt --check clean, cargo test passing, on acp_thread, agent_servers, agent_ui and sidebar, and the position is
proven only by an Xvfb capture, which has not been taken.
---

diff --git a/crates/agent_ui/src/conversation_view/thread_view.rs b/crates/agent_ui/src/conversation_view/thread_view.rs
index 3fc2d83..3b904b4 100644
--- a/crates/agent_ui/src/conversation_view/thread_view.rs
+++ b/crates/agent_ui/src/conversation_view/thread_view.rs
@@ -6325,7 +6325,11 @@ impl ThreadView {
                                     ))
                                     .child(self.render_follow_toggle(cx))
                                     .children(self.render_fast_mode_control(cx))
-                                    .children(self.render_thinking_control(cx)),
+                                    .children(self.render_thinking_control(cx))
+                                    // Beside the other composer inputs rather than beside
+                                    // Send: the microphone adds to the message, it does
+                                    // not send it.
+                                    .children(voice_button),
                             )
                             .child(
                                 h_flex()
@@ -6342,7 +6346,6 @@ impl ThreadView {
                                             .children(self.mode_selector.clone())
                                             .children(self.model_selector.clone()),
                                     })
-                                    .children(voice_button)
                                     .child(self.render_send_button(cx)),
                             ),
                     ),
