Update conversations.php

This commit is contained in:
Lizandro Guarnizo
2026-01-25 20:55:32 -05:00
parent 8f4eefd75e
commit f5fede675f
+12 -7
View File
@@ -2484,11 +2484,14 @@
// No existing media element, render new media block without touching other parts
try {
body.innerHTML = window.renderMediaMessage ? window.renderMediaMessage(msg) : window.escapeHtml(msg.content || '[Mensaje]');
// If after inserting media/text the body appears empty, replace with placeholder
if ((body.textContent || '').trim() === '') {
body.innerHTML = '<em>(Mensaje sin texto)</em>';
console.warn('Post-update: media/text produced empty body, set placeholder for', msg && (msg.id || msg.message_id));
}
// If after inserting media/text the body appears empty and there's no media element, replace with placeholder
try {
const hasMediaNode = !!body.querySelector && !!body.querySelector('img,video,audio,source,.message-media');
if ((body.textContent || '').trim() === '' && !hasMediaNode) {
body.innerHTML = '<em>(Mensaje sin texto)</em>';
console.warn('Post-update: media/text produced empty body, set placeholder for', msg && (msg.id || msg.message_id));
}
} catch (e) { /* ignore DOM query errors */ }
} catch(e) { /* ignore */ }
} else if (existingMedia && !newMediaUrl) {
// Media removed in new message: replace body with text/content
@@ -2528,10 +2531,12 @@
? (window.renderMediaMessage ? window.renderMediaMessage(msg) : (window.formatMessageContent ? window.formatMessageContent(msg.content || '[Mensaje]') : window.escapeHtml(msg.content || '[Mensaje]')))
: (window.formatMessageContent ? window.formatMessageContent(msg.content || '') : window.escapeHtml(msg.content || ''));
// If after formatting the content is empty (spaces or nothing), show a clearer placeholder
// If after formatting the content is empty (spaces or nothing), show a clearer placeholder.
// But allow pure media-only content (images/audio/video) to render instead of being treated as empty.
try {
const tmp = (content || '').replace(/<[^>]*>/g, '').trim(); // strip tags and check
if (!tmp) {
const hasMediaTag = /<(img|audio|video|source|a[^>]*download|div\s+class=["']?message-media)/i.test(content || '');
if (!tmp && !hasMediaTag) {
console.warn('Rendered message content empty, replacing with placeholder', mid, msg.id, msg.created_at);
content = '<em>(Mensaje sin texto)</em>';
}