From 38234d9b4f047588f717551dbb43597cc8cd76f5 Mon Sep 17 00:00:00 2001 From: Chaim Date: Sat, 20 Jun 2026 18:31:17 +0000 Subject: [PATCH] =?UTF-8?q?fix(operations):=20contain=20agent=20run-log=20?= =?UTF-8?q?text=20inside=20the=20"=D7=A4=D7=9C=D7=98"=20popup?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The RunLogDialog rendered the live agent log inside a Radix ScrollArea. Radix wraps Viewport children in an inner `display:table` div that shrink-wraps to the widest unbreakable token — the long `toolu_…` IDs and `/home/chaim/…` file paths in the raw JSON log. That table cell expands instead of constraining width, so `whitespace-pre-wrap break-words` never had a width to wrap against and the text spilled out past the dialog borders. Replace the ScrollArea with a plain width-constrained scrollable div and switch break-words → break-all so the long unbreakable IDs/paths wrap too. Pure presentational fix (no invariant surface). Co-Authored-By: Claude Opus 4.8 (1M context) --- web-ui/src/app/operations/page.tsx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/web-ui/src/app/operations/page.tsx b/web-ui/src/app/operations/page.tsx index c3f449e..b2e686f 100644 --- a/web-ui/src/app/operations/page.tsx +++ b/web-ui/src/app/operations/page.tsx @@ -12,7 +12,6 @@ import { Switch } from "@/components/ui/switch"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Skeleton } from "@/components/ui/skeleton"; -import { ScrollArea } from "@/components/ui/scroll-area"; import { Dialog, DialogContent, @@ -673,11 +672,11 @@ function RunLogDialog({ run, onClose }: { run: AgentRun | null; onClose: () => v ) : error ? (

שגיאה בטעינת הלוג: {String(error)}

) : ( - -
+          
+
               {text || "אין פלט עדיין."}
             
- +
)}