Skip to content

Commit e1d69bc

Browse files
authored
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.
1 parent b24a6d2 commit e1d69bc

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

ui/src/ui/views/chat.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1313,7 +1313,7 @@ export function renderChat(props: ChatProps) {
13131313
.label=${t("nav.resize")}
13141314
@resize=${(e: CustomEvent) => props.onSplitRatioChange?.(e.detail.splitRatio)}
13151315
></resizable-divider>
1316-
<div class="chat-sidebar">
1316+
<div class="chat-sidebar" @click=${handleCodeBlockCopy}>
13171317
${renderMarkdownSidebar({
13181318
content: props.sidebarContent ?? null,
13191319
error: props.sidebarError ?? null,

0 commit comments

Comments
 (0)