From 8b1b9146c4ef60517ceb5c10025c8c4406a54c2b Mon Sep 17 00:00:00 2001 From: Brooklyn Nicholson Date: Fri, 29 May 2026 20:11:45 -0500 Subject: [PATCH] fix(desktop): stop completed-message layout shift while streaming MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The assistant message action bar used `hideWhenRunning`, which unmounts it whenever the thread is streaming. Since the bar reserves vertical space in each completed assistant message's footer (it's invisible-until-hover via opacity, not via mount), unmounting it collapsed every prior turn by the bar's height — then remounting on resolve grew them back, shifting the whole conversation (visible as "padding appears above the last user message"). Drop hideWhenRunning so the footer height is constant; the bar stays invisible during streaming via its existing opacity/pointer-events gating. --- apps/desktop/src/components/assistant-ui/thread.tsx | 8 +++++++- tools/mcp_tool.py | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/apps/desktop/src/components/assistant-ui/thread.tsx b/apps/desktop/src/components/assistant-ui/thread.tsx index ecc350d53d..0c90d29903 100644 --- a/apps/desktop/src/components/assistant-ui/thread.tsx +++ b/apps/desktop/src/components/assistant-ui/thread.tsx @@ -517,11 +517,17 @@ const AssistantActionBar: FC = ({ messageId, messageText, on
diff --git a/tools/mcp_tool.py b/tools/mcp_tool.py index 221c91cfe8..593994caa0 100644 --- a/tools/mcp_tool.py +++ b/tools/mcp_tool.py @@ -1654,10 +1654,10 @@ class MCPServerTask: self.name, ) - # Validate remote URL once, up front. Raising here (rather than + # Validate remote URL once, up front. Raising here (rather than # letting it blow up inside the SDK's httpx layer on every retry) # means a typo in config.yaml fails fast with a clear error — and - # critically, no reconnect-backoff burn. (Ported from + # critically, no reconnect-backoff burn. (Ported from # anomalyco/opencode#25019.) if self._is_http(): try: