Message copy

Overview

Every user and assistant bubble in a chat carries a small copy icon below it. One tap puts that message's text on the clipboard, so a user can paste an answer into a ticket, a commit message, or another tool without selecting text by hand on a touch screen. The button gives its feedback in place — the glyph itself changes — so nothing covers the conversation.

Usage

  1. Open a chat.

  2. Under any of your own messages or any assistant answer, tap the clipboard icon.

  3. The glyph becomes a check for about 1.4 s, then returns to the clipboard. If the clipboard refuses the write it becomes a cross instead.

    The control is icon-only — it repeats under every bubble, so a text label would compete with the message for the same line at 360 px. The state is still announced to assistive tech through the button's accessible name: Copy message → Copied message / Copy failed.

    What gets copied:

look at this

[image: shot.png]

Not copied, by design:

Implementation notes

The control is built by buildCopyButton in frontend/src/components/chat/transcript.js and styled by .chat-msg__copy in frontend/src/chat-transcript.css.