fix(chat): refresh messages after blocking contact from chat

Added client-side blocked name filtering in displayMessages() as
defense-in-depth alongside server-side filtering. This ensures blocked
sender messages are hidden immediately after blocking from chat.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
MarekWo
2026-03-10 21:27:48 +01:00
parent 833d01df9f
commit e1ceff3a65

View File

@@ -777,8 +777,9 @@ function displayMessages(messages) {
return;
}
// Render each message
// Render each message (skip blocked senders client-side as extra safety)
messages.forEach(msg => {
if (!msg.is_own && blockedContactNames.has(msg.sender)) return;
const messageEl = createMessageElement(msg);
container.appendChild(messageEl);
});
@@ -1072,12 +1073,14 @@ async function blockContactFromChat(senderName) {
const data = await response.json();
if (data.success) {
showToast(data.message, 'warning');
// Update blocked names then reload messages to hide blocked sender
await loadBlockedNames();
loadMessages(); // re-render to hide blocked messages
await loadMessages();
} else {
showToast('Failed: ' + data.error, 'danger');
}
} catch (err) {
console.error('Error blocking contact from chat:', err);
showToast('Network error', 'danger');
}
}