diff options
Diffstat (limited to 'src/components')
| -rw-r--r-- | src/components/ChatMessage.svelte | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/components/ChatMessage.svelte b/src/components/ChatMessage.svelte index 7283430f..dbdde5a0 100644 --- a/src/components/ChatMessage.svelte +++ b/src/components/ChatMessage.svelte @@ -3,7 +3,15 @@ let { content, tags = [] }: { content: string; tags?: any[] } = $props(); - let parts = $derived(parseContent({ content, tags })); + // Extract image URLs from imeta tags not already in content + let imetaUrls = $derived( + tags + .filter((t) => t[0] === "imeta") + .map((t) => t.find((v) => v.startsWith("url "))?.slice(4)) + .filter((url): url is string => !!url && !content.includes(url)), + ); + + let parts = $derived(parseContent({ content: [content, ...imetaUrls].join("\n"), tags })); const truncUrl = (url: string) => { const short = url.replace(/^https?:\/\/(www\.)?/, ""); |
