diff --git a/apps/meteor/app/lib/server/methods/updateMessage.js b/apps/meteor/app/lib/server/methods/updateMessage.js index 6cbfbb34588e..a615d679c52b 100644 --- a/apps/meteor/app/lib/server/methods/updateMessage.js +++ b/apps/meteor/app/lib/server/methods/updateMessage.js @@ -50,13 +50,13 @@ Meteor.methods({ let currentTsDiff; let msgTs; - if (Match.test(originalMessage.ts, Number)) { + if (originalMessage.ts instanceof Date || Match.test(originalMessage.ts, Number)) { msgTs = moment(originalMessage.ts); } if (msgTs) { currentTsDiff = moment().diff(msgTs, 'minutes'); } - if (currentTsDiff > blockEditInMinutes) { + if (currentTsDiff >= blockEditInMinutes) { throw new Meteor.Error('error-message-editing-blocked', 'Message editing is blocked', { method: 'updateMessage', }); diff --git a/apps/meteor/app/ui-utils/client/lib/messageActionDefault.ts b/apps/meteor/app/ui-utils/client/lib/messageActionDefault.ts index bfae10052240..fa9e1dd8cefd 100644 --- a/apps/meteor/app/ui-utils/client/lib/messageActionDefault.ts +++ b/apps/meteor/app/ui-utils/client/lib/messageActionDefault.ts @@ -171,7 +171,7 @@ Meteor.startup(async function () { if (msgTs != null) { currentTsDiff = moment().diff(msgTs, 'minutes'); } - return !!currentTsDiff && currentTsDiff < blockEditInMinutes; + return (!!currentTsDiff || currentTsDiff === 0) && currentTsDiff < blockEditInMinutes; } return true; },