diff options
| author | Adam Soltys <[email protected]> | 2026-03-06 23:52:25 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-03-06 23:52:25 -0800 |
| commit | c75c05020dcf9208adfeb82d81bae194e4104ab9 (patch) | |
| tree | f55b1d30a481fde125b1ddb0fb8dd7a38c202c7a | |
| parent | 155f4747cc6f69045311a737a04a622457776a05 (diff) | |
| download | coinos-ui-c75c05020dcf9208adfeb82d81bae194e4104ab9.tar.gz coinos-ui-c75c05020dcf9208adfeb82d81bae194e4104ab9.zip | |
fix imeta image detection using function instead of derived Set
Co-Authored-By: Claude Opus 4.6 <[email protected]>
| -rw-r--r-- | src/components/ChatMessage.svelte | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/components/ChatMessage.svelte b/src/components/ChatMessage.svelte index 521f6770..8dc276e8 100644 --- a/src/components/ChatMessage.svelte +++ b/src/components/ChatMessage.svelte @@ -18,12 +18,8 @@ // URLs from imeta not already in content let imetaUrls = $derived(imeta.filter((m) => !content.includes(m.url!)).map((m) => m.url)); - // Set of URLs that imeta says are images (by MIME type or blossom-style hash URLs) - let imetaImageUrls = $derived(new Set(imeta.filter((m) => m.mime.startsWith("image/")).map((m) => m.url))); - - $effect(() => { - if (tags.length) console.log("[ChatMessage] content:", JSON.stringify(content), "tags:", JSON.stringify(tags), "imetaUrls:", imetaUrls, "parts:", JSON.stringify(parts)); - }); + // Check if a URL is an image according to imeta MIME types + const isImetaImage = (url: string) => imeta.some((m) => m.url === url && m.mime.startsWith("image/")); let parts = $derived(parseContent({ content: [content, ...imetaUrls].join("\n"), tags })); @@ -50,7 +46,7 @@ {:else if type === "newline"} <br /> {:else if type === "link"} - {#if isImage(value.url) || imetaImageUrls.has(value.url)} + {#if isImage(value.url) || isImetaImage(value.url)} <a href={value.url} target="_blank" rel="noopener noreferrer"> <img src={value.url} alt="" class="chat-img" /> </a> |
