From 7cc60fa35e97d18f64c0046beda436dcb90c74ce Mon Sep 17 00:00:00 2001 From: Hongming Wang Date: Sat, 20 Jun 2026 17:55:06 -0700 Subject: [PATCH] fix(canvas): clamp approval banner text; fix infra compose network key ApprovalBanner rendered approval.action / approval.reason with no truncation, so long agent-authored messages sprawled into a full-canvas text column. Add line-clamp-2 (action) + line-clamp-3 (reason) + break-words; full text stays reachable via the request thread. docker-compose.infra.yml: services attach to network key `molecule-core-net` but the top-level networks block defined the key as `default` (name-aliased), so Docker Compose v5 rejected the project ("undefined network"). Rename the key to match what the services reference. Co-Authored-By: Claude Opus 4.8 (1M context) --- canvas/src/components/ApprovalBanner.tsx | 8 ++++++-- docker-compose.infra.yml | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/canvas/src/components/ApprovalBanner.tsx b/canvas/src/components/ApprovalBanner.tsx index 7c33d9b28..e06d5ba0b 100644 --- a/canvas/src/components/ApprovalBanner.tsx +++ b/canvas/src/components/ApprovalBanner.tsx @@ -71,9 +71,13 @@ export function ApprovalBanner() {
{approval.workspace_name} needs approval
-
{approval.action}
+ {/* Clamp action + reason: agents can author very long messages, + and unclamped these sprawled the banner into a full-canvas + text column. line-clamp works here (plain-text fields, not + markdown). break-words handles long unbroken tokens. */} +
{approval.action}
{approval.reason && ( -
{approval.reason}
+
{approval.reason}
)}