diff --git a/app/authorization/server/functions/canSendMessage.js b/app/authorization/server/functions/canSendMessage.js index 26099af663f6..c303154e16b6 100644 --- a/app/authorization/server/functions/canSendMessage.js +++ b/app/authorization/server/functions/canSendMessage.js @@ -9,10 +9,10 @@ const subscriptionOptions = { }, }; -export const canSendMessageAsync = async (rid, { uid, username }, extraData) => { +export const canSendMessageAsync = async (rid, { uid, username, type }, extraData) => { const room = await Rooms.findOneById(rid); - if (!await canAccessRoomAsync(room, { _id: uid, username }, extraData)) { + if (type !== 'app' && !await canAccessRoomAsync(room, { _id: uid, username }, extraData)) { throw new Error('error-not-allowed'); } @@ -35,4 +35,4 @@ export const canSendMessageAsync = async (rid, { uid, username }, extraData) => return room; }; -export const canSendMessage = (rid, { uid, username }, extraData) => Promise.await(canSendMessageAsync(rid, { uid, username }, extraData)); +export const canSendMessage = (rid, { uid, username, type }, extraData) => Promise.await(canSendMessageAsync(rid, { uid, username, type }, extraData)); diff --git a/app/lib/server/functions/deleteMessage.js b/app/lib/server/functions/deleteMessage.js index e74ff6d7d1bb..4e80b52fb114 100644 --- a/app/lib/server/functions/deleteMessage.js +++ b/app/lib/server/functions/deleteMessage.js @@ -1,10 +1,10 @@ import { Meteor } from 'meteor/meteor'; -import { FileUpload } from '../../../file-upload'; -import { settings } from '../../../settings'; -import { Messages, Uploads, Rooms } from '../../../models'; -import { Notifications } from '../../../notifications'; -import { callbacks } from '../../../callbacks'; +import { FileUpload } from '../../../file-upload/server'; +import { settings } from '../../../settings/server'; +import { Messages, Uploads, Rooms } from '../../../models/server'; +import { Notifications } from '../../../notifications/server'; +import { callbacks } from '../../../callbacks/server'; import { Apps } from '../../../apps/server'; export const deleteMessage = function(message, user) { diff --git a/app/lib/server/methods/sendMessage.js b/app/lib/server/methods/sendMessage.js index 827ad31ba39c..d25284a3639f 100644 --- a/app/lib/server/methods/sendMessage.js +++ b/app/lib/server/methods/sendMessage.js @@ -50,6 +50,7 @@ export function executeSendMessage(uid, message) { const user = Users.findOneById(uid, { fields: { username: 1, + type: 1, ...!!settings.get('Message_SetNameToAliasEnabled') && { name: 1 }, }, }); @@ -67,7 +68,7 @@ export function executeSendMessage(uid, message) { } try { - const room = canSendMessage(rid, { uid, username: user.username }); + const room = canSendMessage(rid, { uid, username: user.username, type: user.type }); if (message.alias == null && settings.get('Message_SetNameToAliasEnabled')) { message.alias = user.name; } diff --git a/app/models/server/models/Messages.js b/app/models/server/models/Messages.js index 517ed14a9930..b7c1bba880b1 100644 --- a/app/models/server/models/Messages.js +++ b/app/models/server/models/Messages.js @@ -561,6 +561,9 @@ export class Messages extends Base { username: user.username, }, }, + $unset: { + blocks: 1, + }, }; return this.update(query, update); diff --git a/app/ui-message/client/message.html b/app/ui-message/client/message.html index d1c89d8f5a10..571d2b062f65 100644 --- a/app/ui-message/client/message.html +++ b/app/ui-message/client/message.html @@ -75,15 +75,16 @@ {{#if isSnippet}}
{{_ "Snippet_name"}}: {{snippetName}}
{{/if}} - {{#if isDecrypting}} - ****** - {{else}} - {{{body}}} - {{/if}} {{#if msg.blocks}}
{{> Blocks blocks=msg.blocks rid=msg.rid mid=msg._id}}
+ {{else}} + {{#if isDecrypting}} + ****** + {{else}} + {{{body}}} + {{/if}} {{/if}} diff --git a/package-lock.json b/package-lock.json index c022e91cd15c..42dfbdd500dd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2681,9 +2681,9 @@ } }, "@rocket.chat/apps-engine": { - "version": "1.12.0-beta.2685", - "resolved": "https://registry.npmjs.org/@rocket.chat/apps-engine/-/apps-engine-1.12.0-beta.2685.tgz", - "integrity": "sha512-T4KbuLtZE3TpbZ+gy5hZ5qel/NyXJZ77fafg0Qv4r3rIlVxig86Eqta5ufIqCUi7qzOaqkNFTWwcswJbyro0eg==", + "version": "1.12.0-beta.2703", + "resolved": "https://registry.npmjs.org/@rocket.chat/apps-engine/-/apps-engine-1.12.0-beta.2703.tgz", + "integrity": "sha512-f0ZAW5ktNRoDKkpCnWbpo2RGYA1IbScM2B2j01v8oslUbQxRvB3/PwkRJz5eAr6afUPNyp4+pfkXWTJ2VPra8Q==", "requires": { "adm-zip": "^0.4.9", "cryptiles": "^4.1.3", diff --git a/package.json b/package.json index 1b33f807f6f6..10a5aa87e541 100644 --- a/package.json +++ b/package.json @@ -122,7 +122,7 @@ "@google-cloud/language": "^3.7.0", "@google-cloud/storage": "^2.3.1", "@google-cloud/vision": "^1.8.0", - "@rocket.chat/apps-engine": "^1.12.0-beta.2685", + "@rocket.chat/apps-engine": "^1.12.0-beta.2703", "@rocket.chat/fuselage": "^0.2.0-alpha.22", "@rocket.chat/fuselage-hooks": "^0.2.0-alpha.22", "@rocket.chat/fuselage-ui-kit": "^0.2.0-alpha.22",