fix(web): always show media actions in context menu for media messages
Some checks failed
CI / test (push) Failing after 20s

This commit is contained in:
2026-03-08 10:40:57 +03:00
parent 72c3b10ba5
commit a4fa72df30

View File

@@ -378,7 +378,7 @@ export function MessageList() {
event.preventDefault(); event.preventDefault();
void ensureReactionsLoaded(message.id); void ensureReactionsLoaded(message.id);
const pos = getSafeContextPosition(event.clientX, event.clientY, 220, 220); 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 ? ( {selectedIds.size > 0 ? (
@@ -876,6 +876,17 @@ function canDeleteForEveryone(
return message.sender_id === meId; 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 { function extractFileName(url: string): string {
try { try {
const parsed = new URL(url); const parsed = new URL(url);