From 394aa73d8bfbf7e7d9099f71dd69915cd82e249c Mon Sep 17 00:00:00 2001 From: Douglas Gubert Date: Tue, 22 Jun 2021 15:51:51 -0300 Subject: [PATCH 1/4] [FIX] Apps not syncing status correctly on HA setups (#22415) --- app/apps/server/communication/websockets.js | 4 +- package-lock.json | 49 +++++++++------------ package.json | 2 +- 3 files changed, 24 insertions(+), 31 deletions(-) diff --git a/app/apps/server/communication/websockets.js b/app/apps/server/communication/websockets.js index ead46d67e59..fd9360dce47 100644 --- a/app/apps/server/communication/websockets.js +++ b/app/apps/server/communication/websockets.js @@ -68,7 +68,7 @@ export class AppServerListener { const storageItem = await this.orch.getStorage().retrieveOne(appId); - await this.orch.getManager().update(storageItem.zip); + await this.orch.getManager().update(Buffer.from(storageItem.zip, 'base64')); this.clientStreamer.emitWithoutBroadcast(AppEvents.APP_UPDATED, appId); } @@ -79,7 +79,7 @@ export class AppServerListener { return; } - await this.orch.getManager().remove(appId); + await this.orch.getManager().removeLocal(appId); this.clientStreamer.emitWithoutBroadcast(AppEvents.APP_REMOVED, appId); } diff --git a/package-lock.json b/package-lock.json index cd25a2cc9ff..f6e600c6db1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6241,9 +6241,9 @@ } }, "@rocket.chat/apps-engine": { - "version": "1.27.0-alpha.5192", - "resolved": "https://registry.npmjs.org/@rocket.chat/apps-engine/-/apps-engine-1.27.0-alpha.5192.tgz", - "integrity": "sha512-mN419xEns2P8UVV32nipfHyOll/EWwzUT0nOuMDn3eFq3h4TmYZms9rQJ/6ti62A86H9nJBwVwT5uoDnioJG7g==", + "version": "1.27.0-alpha.5237", + "resolved": "https://registry.npmjs.org/@rocket.chat/apps-engine/-/apps-engine-1.27.0-alpha.5237.tgz", + "integrity": "sha512-r1LCZ2ikR3bTK49hrB6DHFf/FVlLo32K2UmK7okdjgHvUQtjZUsweFSo0zfvR2B5AsStQ7SePPT7FZtCTGZ8RQ==", "requires": { "adm-zip": "^0.4.9", "cryptiles": "^4.1.3", @@ -6251,13 +6251,6 @@ "semver": "^5.5.0", "stack-trace": "0.0.10", "uuid": "^3.2.1" - }, - "dependencies": { - "adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" - } } }, "@rocket.chat/css-in-js": { @@ -23917,7 +23910,7 @@ }, "chownr": { "version": "1.1.1", - "resolved": false, + "resolved": "", "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", "dev": true, "optional": true @@ -23952,7 +23945,7 @@ }, "debug": { "version": "4.1.1", - "resolved": false, + "resolved": "", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "optional": true, @@ -23983,7 +23976,7 @@ }, "fs-minipass": { "version": "1.2.5", - "resolved": false, + "resolved": "", "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "dev": true, "optional": true, @@ -24017,7 +24010,7 @@ }, "glob": { "version": "7.1.3", - "resolved": false, + "resolved": "", "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, "optional": true, @@ -24049,7 +24042,7 @@ }, "ignore-walk": { "version": "3.0.1", - "resolved": false, + "resolved": "", "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "dev": true, "optional": true, @@ -24070,7 +24063,7 @@ }, "inherits": { "version": "2.0.3", - "resolved": false, + "resolved": "", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true, "optional": true @@ -24118,7 +24111,7 @@ }, "minipass": { "version": "2.3.5", - "resolved": false, + "resolved": "", "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", "dev": true, "optional": true, @@ -24129,7 +24122,7 @@ }, "minizlib": { "version": "1.2.1", - "resolved": false, + "resolved": "", "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", "dev": true, "optional": true, @@ -24149,7 +24142,7 @@ }, "ms": { "version": "2.1.1", - "resolved": false, + "resolved": "", "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true, "optional": true @@ -24163,7 +24156,7 @@ }, "needle": { "version": "2.3.0", - "resolved": false, + "resolved": "", "integrity": "sha512-QBZu7aAFR0522EyaXZM0FZ9GLpq6lvQ3uq8gteiDUp7wKdy0lSd2hPlgFwVuW1CBkfEs9PfDQsQzZghLs/psdg==", "dev": true, "optional": true, @@ -24175,7 +24168,7 @@ }, "node-pre-gyp": { "version": "0.12.0", - "resolved": false, + "resolved": "", "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==", "dev": true, "optional": true, @@ -24205,14 +24198,14 @@ }, "npm-bundled": { "version": "1.0.6", - "resolved": false, + "resolved": "", "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==", "dev": true, "optional": true }, "npm-packlist": { "version": "1.4.1", - "resolved": false, + "resolved": "", "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==", "dev": true, "optional": true, @@ -24292,7 +24285,7 @@ }, "process-nextick-args": { "version": "2.0.0", - "resolved": false, + "resolved": "", "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true, "optional": true @@ -24337,7 +24330,7 @@ }, "rimraf": { "version": "2.6.3", - "resolved": false, + "resolved": "", "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, "optional": true, @@ -24368,7 +24361,7 @@ }, "semver": { "version": "5.7.0", - "resolved": false, + "resolved": "", "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", "dev": true, "optional": true @@ -24428,7 +24421,7 @@ }, "tar": { "version": "4.4.8", - "resolved": false, + "resolved": "", "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==", "dev": true, "optional": true, @@ -24468,7 +24461,7 @@ }, "yallist": { "version": "3.0.3", - "resolved": false, + "resolved": "", "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", "dev": true, "optional": true diff --git a/package.json b/package.json index 9c7a8a96ebd..b2dfd357424 100644 --- a/package.json +++ b/package.json @@ -152,7 +152,7 @@ "@nivo/heatmap": "^0.61.0", "@nivo/line": "^0.61.1", "@nivo/pie": "^0.61.1", - "@rocket.chat/apps-engine": "1.27.0-alpha.5192", + "@rocket.chat/apps-engine": "1.27.0-alpha.5237", "@rocket.chat/css-in-js": "^0.6.3-dev.261", "@rocket.chat/emitter": "^0.26.0", "@rocket.chat/fuselage": "^0.6.3-dev.266", From fc726c6a63b749caa1087debad974f1a41baaf2e Mon Sep 17 00:00:00 2001 From: Lucas Sartor Chauvin Date: Tue, 22 Jun 2021 18:39:07 -0300 Subject: [PATCH 2/4] [FIX] Chore: `team.addMembers` doesn't add member to main team room (#22169) * fix teams.addMembers not adding users to team * fix adding multiple members * fix adding member with roles * fix 'Object is possibly 'undefined'' error --- server/services/team/service.ts | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/server/services/team/service.ts b/server/services/team/service.ts index 35ab4038dac..4bc7c3cd60a 100644 --- a/server/services/team/service.ts +++ b/server/services/team/service.ts @@ -559,16 +559,19 @@ export class TeamService extends ServiceClass implements ITeamService { throw new Error('invalid-user'); } - const membersList: Array> = members?.map((member) => ({ - teamId, - userId: member.userId, - roles: member.roles || [], - createdAt: new Date(), - createdBy, - })) || []; + const team = await this.TeamModel.findOneById(teamId, { projection: { roomId: 1 } }); + if (!team) { + throw new Error('team-does-not-exist'); + } + + for await (const member of members) { + const user = await this.Users.findOneById(member.userId, { projection: { username: 1 } }); + await addUserToRoom(team.roomId, user, createdBy, false); - await this.TeamMembersModel.insertMany(membersList); - await this.addMembersToDefaultRooms(createdBy, teamId, membersList); + if (member.roles) { + await this.addRolesToMember(teamId, member.userId, member.roles); + } + } } async updateMember(teamId: string, member: ITeamMemberParams): Promise { From da817a28a0b2198dc8903de71b0125f10d7f78b9 Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Tue, 22 Jun 2021 22:40:42 -0300 Subject: [PATCH 3/4] Add revert as a valid PR title --- .github/pr-title-checker-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/pr-title-checker-config.json b/.github/pr-title-checker-config.json index eb1bb148dee..0c937ed7339 100644 --- a/.github/pr-title-checker-config.json +++ b/.github/pr-title-checker-config.json @@ -4,7 +4,7 @@ "color": "B60205" }, "CHECKS": { - "regexp": "^(?:(?:\\[(NEW|BREAK|IMPROVE|FIX)\\](\\[(ENTERPRISE|APPS)\\])?|(?:Regression|Chore|Bump):) .+|Release [0-9]+\\.[0-9]+\\.[0-9]+)", + "regexp": "^(?:(?:\\[(NEW|BREAK|IMPROVE|FIX)\\](\\[(ENTERPRISE|APPS)\\])?|(?:Regression|Chore|Bump|Revert):) .+|Release [0-9]+\\.[0-9]+\\.[0-9]+)", "ignoreLabels" : ["[ignore-title]"] } } From 2d8704ad5d5c7f7f8a867949e711efb038a35e15 Mon Sep 17 00:00:00 2001 From: Kevin Aleman Date: Tue, 22 Jun 2021 19:41:41 -0600 Subject: [PATCH 4/4] Revert "[IMPROVE] Update system messages' behavior in rooms (#22018)" (#22435) This reverts commit 3afe072cdf3aac013af5ff164562c437bf612aa1. --- .../server/methods/saveRoomSettings.js | 4 ---- app/lib/lib/MessageTypes.js | 8 -------- app/message-pin/client/index.js | 1 + app/message-pin/client/messageType.js | 11 +++++++++++ app/models/server/models/Messages.js | 19 +++---------------- app/models/server/models/Rooms.js | 6 +----- .../RoomList/normalizeSidebarMessage.js | 10 ---------- packages/rocketchat-i18n/i18n/en.i18n.json | 1 - packages/rocketchat-i18n/i18n/pt-BR.i18n.json | 1 - packages/rocketchat-i18n/i18n/pt.i18n.json | 1 - tests/end-to-end/api/02-channels.js | 10 ---------- tests/end-to-end/api/03-groups.js | 10 ---------- 12 files changed, 16 insertions(+), 66 deletions(-) create mode 100644 app/message-pin/client/messageType.js diff --git a/app/channel-settings/server/methods/saveRoomSettings.js b/app/channel-settings/server/methods/saveRoomSettings.js index 6eafe6b77a6..811c492fb70 100644 --- a/app/channel-settings/server/methods/saveRoomSettings.js +++ b/app/channel-settings/server/methods/saveRoomSettings.js @@ -332,10 +332,6 @@ Meteor.methods({ callbacks.run('afterSaveRoomSettings', room); }); - if (settings.hasOwnProperty('systemMessages')) { - Rooms.resetLastMessageById(rid); - } - return { result: true, rid: room._id, diff --git a/app/lib/lib/MessageTypes.js b/app/lib/lib/MessageTypes.js index 1a198fd58bc..be706e8d3a0 100644 --- a/app/lib/lib/MessageTypes.js +++ b/app/lib/lib/MessageTypes.js @@ -135,11 +135,6 @@ Meteor.startup(function() { }; }, }); - MessageTypes.registerType({ - id: 'message_pinned', - system: true, - message: 'Pinned_a_message', - }); MessageTypes.registerType({ id: 'subscription-role-added', system: true, @@ -222,9 +217,6 @@ export const MessageTypesValues = [ }, { key: 'mute_unmute', i18nLabel: 'Message_HideType_mute_unmute', - }, { - key: 'message_pinned', - i18nLabel: 'Message_HideType_message_pinned', }, { key: 'r', i18nLabel: 'Message_HideType_r', diff --git a/app/message-pin/client/index.js b/app/message-pin/client/index.js index f370ba02b76..c48cf4ab0b9 100644 --- a/app/message-pin/client/index.js +++ b/app/message-pin/client/index.js @@ -1,4 +1,5 @@ import './actionButton'; +import './messageType'; import './pinMessage'; import './tabBar'; import './views/pinnedMessages.html'; diff --git a/app/message-pin/client/messageType.js b/app/message-pin/client/messageType.js new file mode 100644 index 00000000000..29effe5e839 --- /dev/null +++ b/app/message-pin/client/messageType.js @@ -0,0 +1,11 @@ +import { Meteor } from 'meteor/meteor'; + +import { MessageTypes } from '../../ui-utils'; + +Meteor.startup(function() { + MessageTypes.registerType({ + id: 'message_pinned', + system: true, + message: 'Pinned_a_message', + }); +}); diff --git a/app/models/server/models/Messages.js b/app/models/server/models/Messages.js index 150009dea1c..c02c902af2f 100644 --- a/app/models/server/models/Messages.js +++ b/app/models/server/models/Messages.js @@ -3,7 +3,6 @@ import _ from 'underscore'; import { Base } from './_Base'; import Rooms from './Rooms'; -import Subscriptions from './Subscriptions'; import { settings } from '../../../settings/server/functions/settings'; export class Messages extends Base { @@ -477,13 +476,11 @@ export class Messages extends Base { return this.find(query, options); } - getLastVisibleMessageSentByRoomId(rid, messageId) { - const { sysMes } = Rooms.getHiddenSystemMessagesTypesById(rid); - const hiddenSysMes = sysMes || settings.get('Hide_System_Messages'); + getLastVisibleMessageSentWithNoTypeByRoomId(rid, messageId) { const query = { rid, _hidden: { $ne: true }, - t: hiddenSysMes ? { $nin: hiddenSysMes } : undefined, + t: { $exists: false }, $or: [ { tmid: { $exists: false } }, { tshow: true }, @@ -741,17 +738,7 @@ export class Messages extends Base { _.extend(record, extraData); record._id = this.insertOrUpsert(record); - - const { sysMes } = Rooms.getHiddenSystemMessagesTypesById(roomId); - const hiddenSysMes = sysMes || settings.get('Hide_System_Messages'); - if (hiddenSysMes.length && hiddenSysMes.includes(type)) { - Rooms.incMsgCountById(roomId, 1); - } else { - const byUser = extraData && extraData.u ? extraData.u._id : user._id; - Rooms.incMsgCountAndSetLastMessageById(roomId, 1, record.ts, settings.get('Store_Last_Message') && record); - Subscriptions.setAlertForRoomIdExcludingUserId(roomId, byUser); - } - + Rooms.incMsgCountById(roomId, 1); return record; } diff --git a/app/models/server/models/Rooms.js b/app/models/server/models/Rooms.js index d3d34ca5e91..05751f59cae 100644 --- a/app/models/server/models/Rooms.js +++ b/app/models/server/models/Rooms.js @@ -253,10 +253,6 @@ export class Rooms extends Base { return this.find({ t: 'd', uids: { $size: 2, $in: [_id] } }, options); } - getHiddenSystemMessagesTypesById(_id, options) { - return this.findOne({ _id }, { ...options, fields: { sysMes: 1 } }); - } - setAllowReactingWhenReadOnlyById = function(_id, allowReacting) { const query = { _id, @@ -971,7 +967,7 @@ export class Rooms extends Base { resetLastMessageById(_id, messageId = undefined) { const query = { _id }; - const lastMessage = Messages.getLastVisibleMessageSentByRoomId(_id, messageId); + const lastMessage = Messages.getLastVisibleMessageSentWithNoTypeByRoomId(_id, messageId); const update = lastMessage ? { $set: { diff --git a/client/sidebar/RoomList/normalizeSidebarMessage.js b/client/sidebar/RoomList/normalizeSidebarMessage.js index 80f3d52b5f2..61a747662a0 100644 --- a/client/sidebar/RoomList/normalizeSidebarMessage.js +++ b/client/sidebar/RoomList/normalizeSidebarMessage.js @@ -1,18 +1,8 @@ import { escapeHTML } from '@rocket.chat/string-helpers'; -import { Meteor } from 'meteor/meteor'; -import { TAPi18n } from 'meteor/rocketchat:tap-i18n'; import { filterMarkdown } from '../../../app/markdown/lib/markdown'; -import { MessageTypes } from '../../../app/ui-utils/lib/MessageTypes'; export const normalizeSidebarMessage = (message, t) => { - const messageType = MessageTypes.getType(message); - if (message.t && messageType) { - const data = (typeof messageType.data === 'function' && messageType.data(message)) || {}; - const language = Meteor._localStorage.getItem('userLanguage'); - return TAPi18n.__(messageType.message, data, language); - } - if (message.msg) { return escapeHTML(filterMarkdown(message.msg)); } diff --git a/packages/rocketchat-i18n/i18n/en.i18n.json b/packages/rocketchat-i18n/i18n/en.i18n.json index 10644277722..64475d5ecb0 100644 --- a/packages/rocketchat-i18n/i18n/en.i18n.json +++ b/packages/rocketchat-i18n/i18n/en.i18n.json @@ -2784,7 +2784,6 @@ "Message_has_been_unpinned": "Message has been unpinned", "Message_has_been_unstarred": "Message has been unstarred", "Message_HideType_au": "Hide \"User Added\" messages", - "Message_HideType_message_pinned": "Hide \"Pinned a message\" messages", "Message_HideType_mute_unmute": "Hide \"User Muted / Unmuted\" messages", "Message_HideType_r": "Hide \"Room Name Changed\" messages", "Message_HideType_rm": "Hide \"Message Removed\" messages", diff --git a/packages/rocketchat-i18n/i18n/pt-BR.i18n.json b/packages/rocketchat-i18n/i18n/pt-BR.i18n.json index 7f6ccbf49f4..31675589af6 100644 --- a/packages/rocketchat-i18n/i18n/pt-BR.i18n.json +++ b/packages/rocketchat-i18n/i18n/pt-BR.i18n.json @@ -2316,7 +2316,6 @@ "Message_GroupingPeriod": "Período de Agrupamento (em segundos)", "Message_GroupingPeriodDescription": "As mensagens serão agrupadas com as anteriores se pertencerem ao mesmo usuário e o tempo decorrido for menor do que o tempo em segundos informado.", "Message_HideType_au": "Ocultar mensagens \"User Added\"", - "Message_HideType_message_pinned": "Ocultar mensagens \"Fixou uma mensagem\"", "Message_HideType_mute_unmute": "Ocultar mensagens \"Usuário silenciado / não modificado\"", "Message_HideType_ru": "Ocultar mensagens \"Usuário removido\"", "Message_HideType_uj": "Ocultar mensagens de \"Aderir ao usuário\"", diff --git a/packages/rocketchat-i18n/i18n/pt.i18n.json b/packages/rocketchat-i18n/i18n/pt.i18n.json index c7d7acea50a..932ca213b5d 100644 --- a/packages/rocketchat-i18n/i18n/pt.i18n.json +++ b/packages/rocketchat-i18n/i18n/pt.i18n.json @@ -2051,7 +2051,6 @@ "Message_GroupingPeriod": "Período de Agrupamento (em segundos)", "Message_GroupingPeriodDescription": "As mensagens serão agrupadas com as anteriores se pertencerem ao mesmo utilizador e o tempo decorrido for menor do que o tempo em segundos informado.", "Message_HideType_au": "Ocultar mensagens \"User Added\"", - "Message_HideType_message_pinned": "Ocultar mensagens \"Fixou uma mensagem\"", "Message_HideType_mute_unmute": "Ocultar mensagens \"utilizador silenciado / não modificado\"", "Message_HideType_ru": "Ocultar mensagens \"utilizador removido\"", "Message_HideType_uj": "Ocultar mensagens de \"Aderir ao utilizador\"", diff --git a/tests/end-to-end/api/02-channels.js b/tests/end-to-end/api/02-channels.js index a9bf4c7af5d..c39daffa495 100644 --- a/tests/end-to-end/api/02-channels.js +++ b/tests/end-to-end/api/02-channels.js @@ -68,16 +68,6 @@ describe('[Channels]', function() { }) .end(done); }); - it('should hide message pins (system messages)', (done) => { - request.post(api('rooms.saveRoomSettings')) - .set(credentials) - .send({ - rid: testChannel._id, - systemMessages: ['message_pinned'], - }) - .expect(200) - .end(done); - }); it('should return channel basic structure', (done) => { request.get(api('channels.info')) .set(credentials) diff --git a/tests/end-to-end/api/03-groups.js b/tests/end-to-end/api/03-groups.js index 616e32faa27..c632e890147 100644 --- a/tests/end-to-end/api/03-groups.js +++ b/tests/end-to-end/api/03-groups.js @@ -60,16 +60,6 @@ describe('[Groups]', function() { }) .end(done); }); - it('should hide message pins (system messages)', (done) => { - request.post(api('rooms.saveRoomSettings')) - .set(credentials) - .send({ - rid: testGroup._id, - systemMessages: ['message_pinned'], - }) - .expect(200) - .end(done); - }); it('should return group basic structure', (done) => { request.get(api('groups.info')) .set(credentials)