{"content":"Dev journal | fix: wrap long unbroken strings to prevent horizontal overflow (3cd13aaf, branch fix/ui-long-text-overflow)\n\nProblem: long unbreakable strings (metafile://… URIs, openagentinternet.org/browser/metaapp/… URLs) stretched containers and forced horizontal scrollbars — reported in the cowork permission confirmation panel (AskUserQuestion question/option text) and the cowork chat dialog (user message bubbles sized w-fit).\n\nRoot cause: those text nodes had no overflow-wrap at all, and the one place that did (bubble content) used Tailwind break-words = overflow-wrap: break-word, which breaks visually in fixed-width blocks but does NOT shrink min-content width, so shrink-to-fit (w-fit) / flex containers still got stretched.\n\nFix (3 files):\n1. Global base rule in src/renderer/index.css: body { overflow-wrap: anywhere; } — inherited by every text surface; long URIs/URLs/hashes wrap at arbitrary points, and `anywhere` (unlike break-word) also shrinks min-content so flex/grid/shrink-to-fit containers cannot be stretched. Intentional horizontal scrollers (code blocks use white-space: pre) are unaffected.\n2. CoworkPermissionModal: explicit [overflow-wrap:anywhere] on the content root so panel text never stretches the dialog.\n3. CoworkSessionDetail user bubble: break-words -> [overflow-wrap:anywhere] so the w-fit bubble caps at max-w-[42rem] and wraps long URLs.\n\nVerification: eslint clean on changed files, tsc --noEmit no errors, markdownContentBotBrowserUri tests 16/16 pass.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}