diff --git a/src/lib/components/chat/FileNav/FilePreview.svelte b/src/lib/components/chat/FileNav/FilePreview.svelte
index 51ec52e7be..d6a686a159 100644
--- a/src/lib/components/chat/FileNav/FilePreview.svelte
+++ b/src/lib/components/chat/FileNav/FilePreview.svelte
@@ -5,7 +5,7 @@
import { settings, config } from '$lib/stores';
import { injectCsp } from '$lib/utils/csp';
import { isCodeFile } from '$lib/utils/codeHighlight';
- import { initMermaid, renderMermaidDiagram } from '$lib/utils';
+ import { initMermaid, renderMermaidDiagram, sanitizeSvg } from '$lib/utils';
import Spinner from '../../common/Spinner.svelte';
import PdfPagesPreview from '../../common/PdfPagesPreview.svelte';
import PanzoomContainer from '../../common/PanzoomContainer.svelte';
@@ -478,10 +478,7 @@
{:else if isSvg && !showRaw && fileContent}
- {@html DOMPurify.sanitize(fileContent, {
- USE_PROFILES: { svg: true, svgFilters: true },
- ADD_TAGS: ['use']
- })}
+ {@html sanitizeSvg(fileContent)}
{:else if isCode && !showRaw}
diff --git a/src/lib/components/common/SVGPanZoom.svelte b/src/lib/components/common/SVGPanZoom.svelte
index 307ddda21e..e85adc6716 100644
--- a/src/lib/components/common/SVGPanZoom.svelte
+++ b/src/lib/components/common/SVGPanZoom.svelte
@@ -4,12 +4,10 @@
import { toast } from 'svelte-sonner';
- import DOMPurify from 'dompurify';
-
import { getContext } from 'svelte';
const i18n = getContext('i18n');
- import { copyToClipboard } from '$lib/utils';
+ import { copyToClipboard, sanitizeSvg } from '$lib/utils';
import PanzoomContainer from './PanzoomContainer.svelte';
import Tooltip from './Tooltip.svelte';
@@ -37,45 +35,7 @@
bind:this={panzoomRef}
className="flex h-full max-h-full justify-center items-center"
>
- {@html DOMPurify.sanitize(svg, {
- USE_PROFILES: { svg: true, svgFilters: true }, // allow