🐛 Bug Fixes
Fix MCP Elicitation Deadlock and Improve UX (#6650)
Fixed a critical deadlock in MCP elicitation that caused requests to timeout immediately when an MCP server called elicitInput().
The Problem:
When an MCP server triggered elicitation, the form would appear in the UI but immediately timeout due to a deadlock in the agent's tool execution loop.
The Solution:
- Rust (agent.rs): Changed the tool execution loop to use
tokio::select!with a 100ms timeout, allowing the loop to periodically check for elicitation messages even when tools are blocked - UI (ElicitationRequest.tsx): Added visual feedback including:
- Countdown timer showing time remaining (5 minutes)
- Pulsing clock icon with "Waiting for your response" message
- Urgent state that turns red when under 60 seconds
- Clear expired message when time runs out
Contributed by @blackgirlbytes
Fix Chat Input Text Overlap (#6751)
Fixed an issue where long chat input text would go under the submit/action buttons at certain window widths.
Contributed by @zanesq
Full Changelog
Compare: v1.21.1...v1.21.2