From f2e0e1935db13b6d4ca52df288cf1e2b6c7a6ed2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nicole=20miko=C5=82ajczyk?= Date: Sat, 21 Mar 2026 12:57:53 +0100 Subject: [PATCH] nicolium: add a check for meaningless descriptions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: nicole mikołajczyk --- .../components/statuses/status-action-bar.tsx | 32 +++++++++++++++---- packages/nicolium/src/locales/en.json | 1 + 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/packages/nicolium/src/components/statuses/status-action-bar.tsx b/packages/nicolium/src/components/statuses/status-action-bar.tsx index c78558f2a..0432b2739 100644 --- a/packages/nicolium/src/components/statuses/status-action-bar.tsx +++ b/packages/nicolium/src/components/statuses/status-action-bar.tsx @@ -478,10 +478,18 @@ const ReblogButton: React.FC = ({ const handleReblogClick: React.EventHandler = (e) => { if (me) { - const hasMissingDescriptions = status.media_attachments.some( - (attachment) => attachment.type !== 'unknown' && !attachment.description, + const attachments = status.media_attachments.filter( + (attachment) => attachment.type !== 'unknown', ); + const hasMissingDescriptions = attachments.some((attachment) => !attachment.description); + + const hasFilenameDescriptions = attachments.some((attachment) => { + const extension = (attachment.remote_url || attachment.url).split('.').pop()?.toLowerCase(); + + return attachment.description.trim().endsWith(`.${extension}`); + }); + const doReblog = () => { if (status.reblogged) { unreblogStatus(); @@ -494,7 +502,7 @@ const ReblogButton: React.FC = ({ } }; - if (missingDescriptionBoostModal && hasMissingDescriptions) { + if (missingDescriptionBoostModal && (hasMissingDescriptions || hasFilenameDescriptions)) { openModal('CONFIRM', { heading: ( = ({ /> ), message: ( - + <> + {hasMissingDescriptions && ( + + )} + {hasFilenameDescriptions && ( + + )} + ), confirm: intl.formatMessage(messages.boostConfirm), onConfirm: doReblog, diff --git a/packages/nicolium/src/locales/en.json b/packages/nicolium/src/locales/en.json index f3169b144..4be96c61d 100644 --- a/packages/nicolium/src/locales/en.json +++ b/packages/nicolium/src/locales/en.json @@ -730,6 +730,7 @@ "confirmations.block_from_group.heading": "Ban from group", "confirmations.block_from_group.message": "Are you sure you want to ban @{name} from the group?", "confirmations.boost_missing_description.confirm": "Repost anyway", + "confirmations.boost_missing_description.filename_warning": "One or more attachments likely has a filename (e.g. 'image.jpg') as its description instead of meaningful alt text. Do you want to repost it anyway?", "confirmations.boost_missing_description.heading": "Reposting a post with missing description", "confirmations.boost_missing_description.message": "The post does not have a description for all attachments. Do you want to repost it anyway?", "confirmations.cancel.confirm": "Discard",