diff --git a/src/lib/components/chat/Messages/ResponseMessage.svelte b/src/lib/components/chat/Messages/ResponseMessage.svelte index f3c5c306e..5d6a1c3a8 100644 --- a/src/lib/components/chat/Messages/ResponseMessage.svelte +++ b/src/lib/components/chat/Messages/ResponseMessage.svelte @@ -24,7 +24,9 @@ getMessageContentParts, sanitizeResponseContent, createMessagesList, - formatDate + formatDate, + removeDetails, + removeAllDetails } from '$lib/utils'; import { WEBUI_BASE_URL } from '$lib/constants'; @@ -152,6 +154,7 @@ let showRateComment = false; const copyToClipboard = async (text) => { + text = removeAllDetails(text); const res = await _copyToClipboard(text); if (res) { toast.success($i18n.t('Copying to clipboard was successful!')); diff --git a/src/lib/utils/index.ts b/src/lib/utils/index.ts index bcf39f76d..ffcd6e27a 100644 --- a/src/lib/utils/index.ts +++ b/src/lib/utils/index.ts @@ -683,6 +683,11 @@ export const removeDetails = (content, types) => { return content; }; +export const removeAllDetails = (content) => { + content = content.replace(/]*>.*?<\/details>/gis, ''); + return content; +}; + export const processDetails = (content) => { content = removeDetails(content, ['reasoning', 'code_interpreter']);