diff --git a/static/chat.js b/static/chat.js index 0bde142..a7efa8c 100644 --- a/static/chat.js +++ b/static/chat.js @@ -528,16 +528,15 @@ function showContextMenu(e, user) { } }); - // Cleanup previous listeners - const newMenu = contextMenu.cloneNode(true); - contextMenu.replaceWith(newMenu); - - // Add new listeners - newMenu.querySelectorAll(".menu-item").forEach(item => { + // Store target for click handler (uses event delegation below) + contextMenu._targetUser = user.username; + + // Remove old inline onclick handlers and re-bind + contextMenu.querySelectorAll(".menu-item").forEach(item => { item.onclick = () => { const action = item.dataset.action; - executeMenuAction(action, user.username); - newMenu.classList.add("hidden"); + executeMenuAction(action, contextMenu._targetUser); + contextMenu.classList.add("hidden"); }; }); }