From 286b97c0de78785a362e613f1dd5e9b4175f385b Mon Sep 17 00:00:00 2001 From: Umesh Yadav <23421535+imumesh18@users.noreply.github.com> Date: Tue, 10 Jun 2025 20:29:42 +0530 Subject: [PATCH] agent: Fix agent panel model selector layout pushing send button off screen (#32251) | Before | After | |--------|-------| | | | While working on something else I found this weird behaviour in message editor of agent panel. When model names are too long, the model selector would expand and push the send button outside the visible area. This change fixes the flex layout to ensure the send button always remains accessible while properly truncating long model names. Closes #ISSUE Release Notes: - Fix agent panel model selector layout pushing send button off screen --------- Co-authored-by: Danilo Leal Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com> --- crates/agent/src/agent_model_selector.rs | 5 +++-- crates/agent/src/message_editor.rs | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/crates/agent/src/agent_model_selector.rs b/crates/agent/src/agent_model_selector.rs index 531661da25efddd0d793742306ac51a6f3002c1e..708172057af653acc75d04cf0c7d9c26033f15be 100644 --- a/crates/agent/src/agent_model_selector.rs +++ b/crates/agent/src/agent_model_selector.rs @@ -91,12 +91,13 @@ impl AgentModelSelector { impl Render for AgentModelSelector { fn render(&mut self, window: &mut Window, cx: &mut Context) -> impl IntoElement { - let focus_handle = self.focus_handle.clone(); - let model = self.selector.read(cx).delegate.active_model(cx); let model_name = model .map(|model| model.model.name().0) .unwrap_or_else(|| SharedString::from("No model selected")); + + let focus_handle = self.focus_handle.clone(); + PickerPopoverMenu::new( self.selector.clone(), Button::new("active-model", model_name) diff --git a/crates/agent/src/message_editor.rs b/crates/agent/src/message_editor.rs index a3958d9acbd8e651192d98ef45ac8e29ff315601..0e8a0cf93d2f988b84782f07d7e1b89ff37055a7 100644 --- a/crates/agent/src/message_editor.rs +++ b/crates/agent/src/message_editor.rs @@ -722,6 +722,7 @@ impl MessageEditor { .child( h_flex() .flex_none() + .flex_wrap() .justify_between() .child( h_flex() @@ -731,6 +732,7 @@ impl MessageEditor { .child( h_flex() .gap_1() + .flex_wrap() .when(!incompatible_tools.is_empty(), |this| { this.child( IconButton::new(