From e1ceff3a650d69c07495f96e47c2212c9d4c41bf Mon Sep 17 00:00:00 2001 From: MarekWo Date: Tue, 10 Mar 2026 21:27:48 +0100 Subject: [PATCH] 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 --- app/static/js/app.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/static/js/app.js b/app/static/js/app.js index 44a1fbc..f583da4 100644 --- a/app/static/js/app.js +++ b/app/static/js/app.js @@ -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'); } }