agent_ui: Keep the Awaiting Confirmation label on a single line (#64952)
## Summary
Closes #62772
The "Awaiting Confirmation" label below a pending tool call animates an
ellipsis by changing its text (`Awaiting Confirmation`, `.`, `..`,
`...`). When the text is close to the row's width, it wraps onto a
second line whenever the dots are drawn and goes back to one line when
they aren't. The row keeps changing height, so the tool call
confirmation above it bobs up and down.
This renders the label with `single_line()` so it never wraps and the
row height stays fixed.
This replaces #64887. That PR reserved the full `...` width, so the
label stopped bobbing but stayed wrapped onto two lines. As
@ChristopherBiscardi pointed out, the wrapping itself is the bug.
## Screenshots
The agent panel at its 300px minimum width with `"ui_font_size": 26`
(the easiest way to put the label right at its wrap point), captured
across one animation cycle.
**Before**: the row grows to two lines when the dots appear:

**After**: the label stays on one line in every frame:

## Testing
1. Set `"ui_font_size": 26` and `"agent_ui_font_size": 26`, and shrink
the agent panel to its minimum width.
2. Ask the agent to do something that needs tool confirmation.
3. Watch the "Awaiting Confirmation" row as the dots cycle. It no longer
changes height.
The screenshots come from a stub agent with a pending permission
request, rendered in Zed's visual test harness on macOS. `cargo clippy
-p agent_ui --all-targets -- --deny warnings` and `cargo fmt --check`
pass.
## Self-review
- [x] I've reviewed my diff for quality, security, reliability, and
performance.
- [x] UI changes follow the
[checklist](https://zed.dev/docs/development/ui-checklist).
- [ ] Tests cover the new or changed behavior.
Release Notes:
- Fixed the agent panel's "Awaiting Confirmation" row jumping up and
down while its ellipsis animates.
2a97fbf22bViraj Bhartiya committed on 10/2/2026, 3:49:24 AM· committed by GitHubparent57bfce2