From c3111ae8f1f88fc96b593da93a0609f0a10749c4 Mon Sep 17 00:00:00 2001 From: Yash Lunawat Date: Sun, 13 Sep 2026 00:46:35 +0530 Subject: [PATCH] fix(web): keep long commands inside the Add Action dialog A long unbroken path pasted into the Command field stretched the whole form past the dialog, clipping the right edge of every control and adding a horizontal scrollbar. The shared Textarea sits in an inline-flex wrapper, so its width:100% is indefinite and its automatic minimum size falls back to the content's min-content width, which field-sizing:content derives from the longest unbreakable run. The surrounding fieldset has min-width:min-content, so that width propagated to the whole form. Give the control min-w-0 max-w-full and overflow-wrap:anywhere so it wraps in place and grows vertically instead of sideways. Display only; the stored command and its line breaks are unchanged. --- apps/web/src/components/ui/textarea.test.tsx | 16 ++++++++++++++++ apps/web/src/components/ui/textarea.tsx | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 apps/web/src/components/ui/textarea.test.tsx diff --git a/apps/web/src/components/ui/textarea.test.tsx b/apps/web/src/components/ui/textarea.test.tsx new file mode 100644 index 000000000000..14ba90ddef1e --- /dev/null +++ b/apps/web/src/components/ui/textarea.test.tsx @@ -0,0 +1,16 @@ +import { renderToStaticMarkup } from "react-dom/server"; +import { describe, expect, it } from "vite-plus/test"; + +import { Textarea } from "./textarea"; + +describe("textarea", () => { + it("wraps long unbroken values instead of growing past its container", () => { + const html = renderToStaticMarkup( +