diff --git a/.github/pr-assets/6503-after.svg b/.github/pr-assets/6503-after.svg
new file mode 100644
index 0000000000000000000000000000000000000000..db1c9cb54065cb9d03929d76e87bc101b0278c0e
--- /dev/null
+++ b/.github/pr-assets/6503-after.svg
@@ -0,0 +1 @@
+
diff --git a/apps/web/src/components/chat/ChatComposer.tsx b/apps/web/src/components/chat/ChatComposer.tsx
index a92bf439ae1329cbd300f88e47ece70fff6162ab..07a9afecbd9fe48495aafdaeab02fa4011823147 100644
--- a/apps/web/src/components/chat/ChatComposer.tsx
+++ b/apps/web/src/components/chat/ChatComposer.tsx
@@ -3117,7 +3117,7 @@ export const ChatComposer = memo(function ChatComposer(props: ChatComposerProps)
{/* Bottom toolbar */}
{isComposerCollapsedMobile ? null : activePendingApproval ? (
-
+
{
it("renders complete multiline command details without hover or truncation", () => {
- const detail = `bun run release -- ${"long-argument ".repeat(20)}\nsecond line`;
+ const detail = `bun run release -- ${"x".repeat(500)}\nsecond line`;
const markup = renderToStaticMarkup(
{
expect(markup).toContain(detail);
expect(markup).not.toContain("truncate");
expect(markup).not.toContain("line-clamp");
+ expect(markup).toContain("min-w-0");
+ expect(markup).toContain("max-w-full");
+ expect(markup).toContain("[overflow-wrap:anywhere]");
});
});
diff --git a/apps/web/src/components/chat/ComposerPendingApprovalPanel.tsx b/apps/web/src/components/chat/ComposerPendingApprovalPanel.tsx
index dd966bf57952275f00d89d1d6815d3bb7a0546cf..391546355b2c1f4fffd56949815da93273f94499 100644
--- a/apps/web/src/components/chat/ComposerPendingApprovalPanel.tsx
+++ b/apps/web/src/components/chat/ComposerPendingApprovalPanel.tsx
@@ -24,7 +24,7 @@ export const ComposerPendingApprovalPanel = memo(function ComposerPendingApprova
: "File change";
return (
-
+
PENDING APPROVAL
{approvalSummary}
@@ -33,11 +33,11 @@ export const ComposerPendingApprovalPanel = memo(function ComposerPendingApprova
) : null}
{approval.detail ? (
-
+
{detailLabel}
{approval.detail}