diff --git a/client/components/main/editor.js b/client/components/main/editor.js index 6081605b4..8b2c03a03 100644 --- a/client/components/main/editor.js +++ b/client/components/main/editor.js @@ -387,13 +387,15 @@ Blaze.Template.registerHelper( const currentBoard = Utils.getCurrentBoard(); if (!currentBoard) return HTML.Raw(sanitizeHTML(content)); - const knowedUsers = _.union(currentBoard.members.map(member => { - const u = ReactiveCache.getUser(member.userId); - if (u) { - member.username = u.username; - } - return member; - }), [...specialHandles]); + const knowedUsers = _.union(currentBoard.members + .filter(member => member.isActive) + .map(member => { + const u = ReactiveCache.getUser(member.userId); + if (u) { + member.username = u.username; + } + return member; + }), [...specialHandles]); const mentionRegex = /\B@([\w.-]*)/gi; let currentMention; diff --git a/models/activities.js b/models/activities.js index e3080c1da..059fb38c5 100644 --- a/models/activities.js +++ b/models/activities.js @@ -203,14 +203,16 @@ if (Meteor.isServer) { let hasMentions = false; // Track if comment has @mentions if (board) { const comment = params.comment; - const knownUsers = board.members.map((member) => { - const u = ReactiveCache.getUser(member.userId); - if (u) { - member.username = u.username; - member.emails = u.emails; - } - return member; - }); + const knownUsers = board.members + .filter((member) => member.isActive) + .map((member) => { + const u = ReactiveCache.getUser(member.userId); + if (u) { + member.username = u.username; + member.emails = u.emails; + } + return member; + }); // Match @mentions including usernames with @ symbols (like email addresses) // Pattern matches: @username, @user@example.com, @"quoted username" const mentionRegex = /\B@(?:(?:"([\w.\s-]*)")|([\w.@-]+))/gi;