From 6be6295a5d25c7edc140a1d3a35122333a4761e0 Mon Sep 17 00:00:00 2001 From: Andrii Pasternak Date: Sat, 25 Apr 2026 19:43:39 +0100 Subject: [PATCH] fix(chat): wrap long unbroken strings in chat bubbles (#457) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Long URLs, tokens, base64 blobs, and other unbroken strings in agent chat responses were overflowing their 85% bubble and forcing horizontal scroll on the entire Chat tab. Root cause: ChatBubble.vue capped the bubble width but never told inner content how to handle unbreakable strings. Inline and the user-text

had no overflow-wrap;

 defaulted to white-space:
pre with no overflow-x: auto override.

Fix (CSS-only, all 3 render branches — user / self-task / assistant):
- min-w-0 on outer wrapper, overflow-hidden on inner bubble
- break-words on user text and prose container
- prose-pre:overflow-x-auto + prose-pre:max-w-full so code blocks
  scroll inside the bubble instead of expanding it
- prose-code:break-words for long inline tokens
- prose-a:break-words for long URLs in markdown links

Verified visually: before/after static test page shows BEFORE leaks
content well past the bubble border; AFTER wraps cleanly with no
regression on normal markdown (headings, lists, links, short code).
---
 .../src/components/chat/ChatBubble.vue         | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/frontend/src/components/chat/ChatBubble.vue b/src/frontend/src/components/chat/ChatBubble.vue
index e9946ebd3..43979fa1a 100644
--- a/src/frontend/src/components/chat/ChatBubble.vue
+++ b/src/frontend/src/components/chat/ChatBubble.vue
@@ -2,21 +2,21 @@
   
   
-
+
Voice
-

{{ content }}

+

{{ content }}

{{ formattedTime }}

-
+
@@ -64,7 +64,7 @@
-
+
Voice