mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-18 13:04:47 +00:00
fix(ui): enable sidebar markdown code copying
Summary: - Add the existing delegated markdown code-block copy handler to the Control UI chat sidebar container. - Fix sidebar-rendered markdown code copy buttons that previously emitted no clipboard write because `.chat-sidebar` sits outside `.chat-thread`. Verification: - Unpatched current `origin/main` (`b24a6d2cbd636b0b39b732c962d58e574c748abe`) + temporary regression assertion: `pnpm test ui/src/ui/views/chat.test.ts -t "chat sidebar markdown copy"` failed with 0 `navigator.clipboard.writeText` calls. - PR patch applied onto current `origin/main` + same temporary regression assertion: `pnpm test ui/src/ui/views/chat.test.ts -t "chat sidebar markdown copy"` passed, 1 test passed and 32 skipped. - Live PR state before merge: `MERGEABLE`, `CLEAN`, head `2e04e981e992b32920476edc648009ddff7976d0`. - Duplicate sweep found no same-failure duplicate PR/issue. - Security check clear: UI event binding only; no dependency, workflow, auth, secret, network, or command-execution surface changes. Known proof gap: - No full browser walkthrough was run; the focused jsdom proof covers the exact DOM delegation boundary. Thanks @tikitoki.
This commit is contained in:
@@ -1313,7 +1313,7 @@ export function renderChat(props: ChatProps) {
|
||||
.label=${t("nav.resize")}
|
||||
@resize=${(e: CustomEvent) => props.onSplitRatioChange?.(e.detail.splitRatio)}
|
||||
></resizable-divider>
|
||||
<div class="chat-sidebar">
|
||||
<div class="chat-sidebar" @click=${handleCodeBlockCopy}>
|
||||
${renderMarkdownSidebar({
|
||||
content: props.sidebarContent ?? null,
|
||||
error: props.sidebarError ?? null,
|
||||
|
||||
Reference in New Issue
Block a user