diff --git a/apps/meteor/app/lib/server/functions/saveUserIdentity.ts b/apps/meteor/app/lib/server/functions/saveUserIdentity.ts index 7a711efb0cfa..ca76e81161a4 100644 --- a/apps/meteor/app/lib/server/functions/saveUserIdentity.ts +++ b/apps/meteor/app/lib/server/functions/saveUserIdentity.ts @@ -124,9 +124,11 @@ async function updateUsernameReferences({ await Messages.updateUsernameOfEditByUserId(user._id, username); const cursor = Messages.findByMention(previousUsername); + const isParserEnabled = process.env.DISABLE_MESSAGE_PARSER !== 'true'; for await (const msg of cursor) { const updatedMsg = msg.msg.replace(new RegExp(`@${previousUsername}`, 'ig'), `@${username}`); - const updatedMd = messageTextToAstMarkdown(updatedMsg); + + const updatedMd = isParserEnabled ? messageTextToAstMarkdown(updatedMsg) : null; await Messages.updateUsernameAndMessageAndMdOfMentionByIdAndOldUsername(msg._id, previousUsername, username, updatedMsg, updatedMd); } diff --git a/apps/meteor/server/models/raw/Messages.ts b/apps/meteor/server/models/raw/Messages.ts index 86e2060483f1..a75245b783c9 100644 --- a/apps/meteor/server/models/raw/Messages.ts +++ b/apps/meteor/server/models/raw/Messages.ts @@ -1205,7 +1205,7 @@ export class MessagesRaw extends BaseRaw implements IMessagesModel { oldUsername: string, newUsername: string, newMessage: string, - newMd: Root, + newMd: Root | null, ): Promise { const query = { _id, @@ -1216,8 +1216,9 @@ export class MessagesRaw extends BaseRaw implements IMessagesModel { $set: { 'mentions.$.username': newUsername, 'msg': newMessage, - 'md': newMd, + ...(newMd ? { md: newMd } : {}), }, + ...(!newMd ? { $unset: { md: 1 } } : {}), }; return this.updateOne(query, update); diff --git a/packages/model-typings/src/models/IMessagesModel.ts b/packages/model-typings/src/models/IMessagesModel.ts index b9a593c43da5..56fe42c58743 100644 --- a/packages/model-typings/src/models/IMessagesModel.ts +++ b/packages/model-typings/src/models/IMessagesModel.ts @@ -216,7 +216,7 @@ export interface IMessagesModel extends IBaseModel { oldUsername: string, newUsername: string, newMessage: string, - newMd: Root, + newMd: Root | null, ): Promise; unlinkUserId(userId: string, newUserId: string, newUsername: string, newNameAlias: string): Promise; setSlackBotIdAndSlackTs(_id: string, slackBotId: string, slackTs: Date): Promise;