From a4fa72df30f32a69d85a683e04aef4d63a5450aa Mon Sep 17 00:00:00 2001 From: benya Date: Sun, 8 Mar 2026 10:40:57 +0300 Subject: [PATCH] fix(web): always show media actions in context menu for media messages --- web/src/components/MessageList.tsx | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/web/src/components/MessageList.tsx b/web/src/components/MessageList.tsx index 06504c8..057bd39 100644 --- a/web/src/components/MessageList.tsx +++ b/web/src/components/MessageList.tsx @@ -378,7 +378,7 @@ export function MessageList() { event.preventDefault(); void ensureReactionsLoaded(message.id); const pos = getSafeContextPosition(event.clientX, event.clientY, 220, 220); - setCtx({ x: pos.x, y: pos.y, messageId: message.id, attachmentUrl: null }); + setCtx({ x: pos.x, y: pos.y, messageId: message.id, attachmentUrl: getMessageAttachmentUrl(message) }); }} > {selectedIds.size > 0 ? ( @@ -876,6 +876,17 @@ function canDeleteForEveryone( return message.sender_id === meId; } +function getMessageAttachmentUrl(message: Message): string | null { + const mediaTypes = new Set(["image", "video", "audio", "voice", "file", "circle_video"]); + if (!mediaTypes.has(message.type)) { + return null; + } + if (!message.text || !/^https?:\/\//i.test(message.text)) { + return null; + } + return message.text; +} + function extractFileName(url: string): string { try { const parsed = new URL(url);