Skip to content

Commit

Permalink
Regression: Cannot edit messages in some environments. (#27023)
Browse files Browse the repository at this point in the history
  • Loading branch information
gabriellsh committed Oct 7, 2022
1 parent 4afcbf6 commit fc71f80
Showing 1 changed file with 2 additions and 4 deletions.
6 changes: 2 additions & 4 deletions apps/meteor/app/lib/server/functions/updateMessage.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import type { IMessage, IMessageEdited, IUser } from '@rocket.chat/core-typings';
import { Meteor } from 'meteor/meteor';
import type { UpdateFilter } from 'mongodb';

import { Messages, Rooms } from '../../../models/server';
import { settings } from '../../../settings/server';
Expand Down Expand Up @@ -47,14 +46,13 @@ export const updateMessage = function (message: IMessage, user: IUser, originalM
message = callbacks.run('beforeSaveMessage', message);

const { _id, ...editedMessage } = message;
const unsetData: Partial<UpdateFilter<IMessage>> = {};

if (!editedMessage.msg) {
unsetData.md = 1;
delete editedMessage.md;
}

Messages.update({ _id }, { $set: editedMessage, $unset: unsetData });
// do not send $unset if not defined. Can cause exceptions in certain mongo versions.
Messages.update({ _id }, { $set: editedMessage, ...(!editedMessage.md && { $unset: { md: 1 } }) });

const room = Rooms.findOneById(message.rid);

Expand Down

0 comments on commit fc71f80

Please sign in to comment.