diff --git a/CHANGELOG.md b/CHANGELOG.md index 86330224cba7..bbcc212d2e60 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -606,6 +606,7 @@ Docs: https://docs.openclaw.ai - Plugins/runtime: attribute deprecated runtime config load/write warnings to the plugin id and source that triggered them so logs and plugin doctor runs are actionable. Refs #81394. (#81425) Thanks @BKF-Gitty. - Agents/cron: honor a cron payload's explicit `timeoutSeconds` for the LLM idle watchdog even when it numerically equals `agents.defaults.timeoutSeconds`, preserving explicit per-run timeout intent and preventing stalled streaming replies from being cut to the implicit 120s cap. (#79426) Thanks @legolaz8451. - Codex app-server: keep the short post-tool completion watchdog armed across dynamic tool completion bookkeeping so embedded Codex runs fail fast and release their session lane when Codex goes quiet after a tool result. (#81697) Thanks @mbelinky. +- Control UI/WebChat: wrap long inline code tokens inside chat bubbles instead of clipping them at the bubble edge. Fixes #81932. (#81931) Thanks @galiniliev. - CLI/media: render terminal QR codes with full-block characters by default so the bundled `qrcode` terminal renderer does not emit a pathologically dense ANSI final row in compact half-block mode that breaks scanning in some terminals. Fixes #77820. Thanks @KrasimirKralev. - Agents/compaction: read post-compaction AGENTS.md refresh context from the queued run workspace instead of the runner process cwd, so CLI-backed follow-up turns re-inject the correct workspace startup rules after compaction. Fixes #70541. (#75532) Thanks @vyctorbrzezowski. - Agents/read tool: treat positive offsets beyond EOF as empty ranges instead of surfacing the upstream read error, so stale pagination cursors no longer crash tool calls while unrelated read failures still fail loud. Fixes #62466. (#75536) Thanks @vyctorbrzezowski. diff --git a/ui/src/styles/chat/text.css b/ui/src/styles/chat/text.css index 7ced9a865c4e..03de2876f95b 100644 --- a/ui/src/styles/chat/text.css +++ b/ui/src/styles/chat/text.css @@ -93,8 +93,8 @@ background: rgba(0, 0, 0, 0.15); padding: 0.15em 0.4em; border-radius: var(--radius-sm); - overflow-wrap: normal; - word-break: keep-all; + overflow-wrap: anywhere; + word-break: break-word; } .chat-text :where(pre) { diff --git a/ui/src/ui/chat/chat-responsive.browser.test.ts b/ui/src/ui/chat/chat-responsive.browser.test.ts index 734e19af2f11..70cbcee24d21 100644 --- a/ui/src/ui/chat/chat-responsive.browser.test.ts +++ b/ui/src/ui/chat/chat-responsive.browser.test.ts @@ -411,6 +411,40 @@ describeBrowserLayout("chat responsive browser layout", () => { }, ); + it.each([ + [320, 568], + [1366, 900], + ] as const)("wraps long inline code without clipping at %sx%s", async (width, height) => { + const page = await browser.newPage({ viewport: { width, height } }); + try { + await page.setContent( + `
+