aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-03-06 23:52:25 -0800
committerAdam Soltys <[email protected]>2026-03-06 23:52:25 -0800
commitc75c05020dcf9208adfeb82d81bae194e4104ab9 (patch)
treef55b1d30a481fde125b1ddb0fb8dd7a38c202c7a
parent155f4747cc6f69045311a737a04a622457776a05 (diff)
downloadcoinos-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.svelte10
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>