mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-06-16 01:35:36 -04:00
8bf8212846
The AI-message copy buttons copied dataset.raw, which is the full accumulated model output — still containing the <think time="..."> reasoning block and any tool-call markup that the renderer strips for display. Pasting therefore leaked the model's thinking, and the first heading after </think> lost its markdown formatting because it was glued to the closing tag. Add chatRenderer.copyMessageText(), which mirrors the display pipeline (stripToolBlocks then extractThinkingBlocks) and falls back to the raw text when stripping leaves nothing (thinking-only turns), and route both copy handlers — the message footer and the slash-reply footer — through it. The interrupted-turn Continue flow intentionally keeps reading dataset.raw. Fixes #3722 Co-authored-by: Claude Fable 5 <noreply@anthropic.com>