From a0cef9367ce07a46549cd3abdd76312c3c4c5999 Mon Sep 17 00:00:00 2001 From: niki <295591807+nikiwastaken@users.noreply.github.com> Date: Mon, 6 Jul 2026 11:13:57 +0000 Subject: [PATCH 1/2] Allow favoriting all gifs --- src/app/components/message/content/ImageContent.tsx | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/app/components/message/content/ImageContent.tsx b/src/app/components/message/content/ImageContent.tsx index 42778abaf..d7b6ac074 100644 --- a/src/app/components/message/content/ImageContent.tsx +++ b/src/app/components/message/content/ImageContent.tsx @@ -137,6 +137,17 @@ export const ImageContent = as<'div', ImageContentProps>( favoritedContent.gifs.find((v) => v.url == url) != undefined ); + const isGif = + info?.mimetype === 'image/gif' || + info?.mimetype === 'image/apng' || + info?.mimetype === 'image/webp' || + body.toLowerCase().endsWith('.gif') || + body.toLowerCase().endsWith('.apng') || + body.toLowerCase().endsWith('.webp') || + url.toLowerCase().endsWith('.gif') || + url.toLowerCase().endsWith('.apng') || + url.toLowerCase().endsWith('.webp'); + const [srcState, loadSrc] = useAsyncCallback( useCallback(async () => { if (url.startsWith('http')) return url; @@ -409,7 +420,7 @@ export const ImageContent = as<'div', ImageContentProps>( > {menuIcon(blurred ? Eye : EyeSlash)} - {info?.mimetype == 'image/gif' && ( + {isGif && ( Date: Mon, 6 Jul 2026 11:15:01 +0000 Subject: [PATCH 2/2] Add changeset --- .changeset/allow_favoriting_all_gifs.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/allow_favoriting_all_gifs.md diff --git a/.changeset/allow_favoriting_all_gifs.md b/.changeset/allow_favoriting_all_gifs.md new file mode 100644 index 000000000..a33398c16 --- /dev/null +++ b/.changeset/allow_favoriting_all_gifs.md @@ -0,0 +1,5 @@ +--- +default: patch +--- + +Allow favoriting all animated attachment types