From 6649361db70647ea3ea707345d37a540da1a2f7e Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Wed, 19 Feb 2020 12:52:15 -0300 Subject: [PATCH 001/223] [FIX] Admin height if the blue banner is opened (#16629) * fix admin height * fix review --- client/components/basic/Page.js | 2 +- client/routes.js | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/client/components/basic/Page.js b/client/components/basic/Page.js index ddf01872c402..67034e0caec7 100644 --- a/client/components/basic/Page.js +++ b/client/components/basic/Page.js @@ -5,7 +5,7 @@ import { BurgerMenuButton } from './BurgerMenuButton'; export function Page(props) { return - ({ height: '100vh' }), [])} {...props} /> + ({ height: '100%' }), [])} {...props} /> ; } diff --git a/client/routes.js b/client/routes.js index 515a6b2a6daf..ce613e76b182 100644 --- a/client/routes.js +++ b/client/routes.js @@ -233,19 +233,20 @@ FlowRouter.route('/setup-wizard/:step?', { }, }); +const style = 'overflow: hidden; flex: 1 1 auto; height: 1%;'; FlowRouter.route('/admin/:group?', { name: 'admin', action: async ({ group = 'info' } = {}) => { switch (group) { case 'info': { const { InformationRoute } = await import('./components/admin/info/InformationRoute'); - BlazeLayout.render('main', { center: await createTemplateForComponent(InformationRoute) }); + BlazeLayout.render('main', { center: await createTemplateForComponent(InformationRoute, { }, () => HTML.DIV({ style })) }); // eslint-disable-line break; } default: { const { SettingsRoute } = await import('./components/admin/settings/SettingsRoute'); - BlazeLayout.render('main', { center: await createTemplateForComponent(SettingsRoute, { group }) }); + BlazeLayout.render('main', { center: await createTemplateForComponent(SettingsRoute, { group }, () => HTML.DIV({ style })) }); // eslint-disable-line // BlazeLayout.render('main', { center: 'admin' }); } } From 997dcae9d27b65118093461257aee115c0801628 Mon Sep 17 00:00:00 2001 From: Douglas Gubert Date: Tue, 18 Feb 2020 21:39:07 -0300 Subject: [PATCH 002/223] [FIX] Data converters overriding fields added by apps (#16639) --- app/apps/lib/misc/transformMappedData.js | 6 ++++-- app/lib/server/functions/sendMessage.js | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/apps/lib/misc/transformMappedData.js b/app/apps/lib/misc/transformMappedData.js index 0bba2c646081..61e57b0a53ca 100644 --- a/app/apps/lib/misc/transformMappedData.js +++ b/app/apps/lib/misc/transformMappedData.js @@ -73,8 +73,10 @@ export const transformMappedData = (data, map) => { if (typeof result !== 'undefined') { transformedData[to] = result; } - } else if (typeof from === 'string' && typeof originalData[from] !== 'undefined') { - transformedData[to] = originalData[from]; + } else if (typeof from === 'string') { + if (typeof originalData[from] !== 'undefined') { + transformedData[to] = originalData[from]; + } delete originalData[from]; } }); diff --git a/app/lib/server/functions/sendMessage.js b/app/lib/server/functions/sendMessage.js index ea5ce3088d51..5b7d3c281c10 100644 --- a/app/lib/server/functions/sendMessage.js +++ b/app/lib/server/functions/sendMessage.js @@ -136,6 +136,7 @@ const validateMessage = (message) => { emoji: String, avatar: ValidPartialURLParam, attachments: [Match.Any], + blocks: [Match.Any], })); if (Array.isArray(message.attachments) && message.attachments.length) { From df5b9105b6c29209579c819705751df87f546bf2 Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Tue, 18 Feb 2020 21:38:47 -0300 Subject: [PATCH 003/223] [FIX] Block user option inside admin view (#16626) --- app/ui-flextab/client/tabs/userActions.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/ui-flextab/client/tabs/userActions.js b/app/ui-flextab/client/tabs/userActions.js index 93d49bb92047..d1947e1e8661 100644 --- a/app/ui-flextab/client/tabs/userActions.js +++ b/app/ui-flextab/client/tabs/userActions.js @@ -26,11 +26,11 @@ const canBlockUser = () => ChatSubscription.findOne({ rid: Session.get('openedRoom'), 'u._id': Meteor.userId() }, { fields: { blocker: 1 } }) .blocker; -const canDirectMessageTo = (username) => { +const canDirectMessageTo = (username, directActions) => { const subscription = Subscriptions.findOne({ rid: Session.get('openedRoom') }); const canOpenDm = hasAllPermission('create-d') || Subscriptions.findOne({ name: username }); const dmIsNotAlreadyOpen = subscription && subscription.name !== username; - return canOpenDm && dmIsNotAlreadyOpen; + return canOpenDm && (!directActions || dmIsNotAlreadyOpen); }; export const getActions = ({ user, directActions, hideAdminControls }) => { @@ -107,7 +107,7 @@ export const getActions = ({ user, directActions, hideAdminControls }) => { Meteor.call('createDirectMessage', username, success((result) => result.rid && FlowRouter.go('direct', { username }, FlowRouter.current().queryParams))), ), condition() { - return canDirectMessageTo(this.username); + return canDirectMessageTo(this.username, directActions); }, }, @@ -188,7 +188,7 @@ export const getActions = ({ user, directActions, hideAdminControls }) => { }, }; }, function() { - if (!isInDirectMessageRoom() || isSelf(this.username)) { + if (!directActions || !isInDirectMessageRoom() || isSelf(this.username)) { return; } if (canBlockUser()) { From ffbad5888247854798ef89489daff03c37df9d26 Mon Sep 17 00:00:00 2001 From: Douglas Gubert Date: Tue, 18 Feb 2020 18:03:07 -0300 Subject: [PATCH 004/223] [FIX] Regression: New 'app' role with no permissions when updating to 3.0.0 (#16637) --- server/startup/migrations/index.js | 1 + server/startup/migrations/v174.js | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 server/startup/migrations/v174.js diff --git a/server/startup/migrations/index.js b/server/startup/migrations/index.js index 85bc4b3ba7ca..6c9b0f4d36d7 100644 --- a/server/startup/migrations/index.js +++ b/server/startup/migrations/index.js @@ -171,4 +171,5 @@ import './v170'; import './v171'; import './v172'; import './v173'; +import './v174'; import './xrun'; diff --git a/server/startup/migrations/v174.js b/server/startup/migrations/v174.js new file mode 100644 index 000000000000..0ca59f1e69cd --- /dev/null +++ b/server/startup/migrations/v174.js @@ -0,0 +1,26 @@ +import { Migrations } from '../../../app/migrations/server'; +import { Permissions } from '../../../app/models/server'; + +const appRolePermissions = [ + 'api-bypass-rate-limit', + 'create-c', + 'create-d', + 'create-p', + 'join-without-join-code', + 'leave-c', + 'leave-p', + 'send-many-messages', + 'view-c-room', + 'view-d-room', + 'view-joined-room', +]; + +Migrations.add({ + version: 174, + up() { + Permissions.update({ _id: { $in: appRolePermissions } }, { $addToSet: { roles: 'app' } }, { multi: true }); + }, + down() { + Permissions.update({ _id: { $in: appRolePermissions } }, { $pull: { roles: 'app' } }, { multi: true }); + }, +}); From 95e89f687becfb2a7c11fcebd77748a0f0b06770 Mon Sep 17 00:00:00 2001 From: Marcos Spessatto Defendi Date: Mon, 17 Feb 2020 21:14:31 -0300 Subject: [PATCH 005/223] [FIX] livechat/rooms endpoint not working with big amount of livechats (#16623) * Remove aggregate to improve performance * Use a cursor to run query only once * Do not use toArray in model Co-authored-by: Diego Sampaio --- app/livechat/server/api/lib/rooms.js | 33 +++++++----- app/models/server/raw/LivechatDepartment.js | 6 ++- app/models/server/raw/LivechatRooms.js | 58 ++++++--------------- 3 files changed, 39 insertions(+), 58 deletions(-) diff --git a/app/livechat/server/api/lib/rooms.js b/app/livechat/server/api/lib/rooms.js index 54a421d8e6c2..72d84803de15 100644 --- a/app/livechat/server/api/lib/rooms.js +++ b/app/livechat/server/api/lib/rooms.js @@ -1,4 +1,4 @@ -import { LivechatRooms } from '../../../../models/server/raw'; +import { LivechatRooms, LivechatDepartment } from '../../../../models/server/raw'; export async function findRooms({ agents, @@ -16,18 +16,7 @@ export async function findRooms({ sort, }, }) { - const total = (await LivechatRooms.findRoomsWithCriteria({ - agents, - roomName, - departmentId, - open, - createdAt, - closedAt, - tags, - customFields, - })).length; - - const rooms = await LivechatRooms.findRoomsWithCriteria({ + const cursor = LivechatRooms.findRoomsWithCriteria({ agents, roomName, departmentId, @@ -44,6 +33,24 @@ export async function findRooms({ }, }); + const total = await cursor.count(); + + const rooms = await cursor.toArray(); + + const departmentsIds = [...new Set(rooms.map((room) => room.departmentId).filter(Boolean))]; + if (departmentsIds.length) { + const departments = await LivechatDepartment.findInIds(departmentsIds, { fields: { name: 1 } }).toArray(); + + rooms.forEach((room) => { + if (!room.departmentId) { + return; + } + const department = departments.find((dept) => dept._id === room.departmentId); + if (department) { + room.department = department; + } + }); + } return { rooms, count: rooms.length, diff --git a/app/models/server/raw/LivechatDepartment.js b/app/models/server/raw/LivechatDepartment.js index 040e156b16df..1b103c034442 100644 --- a/app/models/server/raw/LivechatDepartment.js +++ b/app/models/server/raw/LivechatDepartment.js @@ -1,6 +1,8 @@ import { BaseRaw } from './BaseRaw'; export class LivechatDepartmentRaw extends BaseRaw { - - + findInIds(departmentsIds, options) { + const query = { _id: { $in: departmentsIds } }; + return this.find(query, options); + } } diff --git a/app/models/server/raw/LivechatRooms.js b/app/models/server/raw/LivechatRooms.js index 7f9286d86d05..da9ec4282e41 100644 --- a/app/models/server/raw/LivechatRooms.js +++ b/app/models/server/raw/LivechatRooms.js @@ -1099,73 +1099,45 @@ export class LivechatRoomsRaw extends BaseRaw { } findRoomsWithCriteria({ agents, roomName, departmentId, open, createdAt, closedAt, tags, customFields, options = {} }) { - const match = { - $match: { - t: 'l', - }, + const query = { + t: 'l', }; if (agents) { - match.$match.$or = [{ 'servedBy._id': { $in: agents } }, { 'servedBy.username': { $in: agents } }]; + query.$or = [{ 'servedBy._id': { $in: agents } }, { 'servedBy.username': { $in: agents } }]; } if (roomName) { - match.$match.fname = new RegExp(roomName, 'i'); + query.fname = new RegExp(roomName, 'i'); } if (departmentId) { - match.$match.departmentId = departmentId; + query.departmentId = departmentId; } if (open !== undefined) { - match.$match.open = { $exists: open }; + query.open = { $exists: open }; } if (createdAt) { - match.$match.ts = {}; + query.ts = {}; if (createdAt.start) { - match.$match.ts.$gte = new Date(createdAt.start); + query.ts.$gte = new Date(createdAt.start); } if (createdAt.end) { - match.$match.ts.$lte = new Date(createdAt.end); + query.ts.$lte = new Date(createdAt.end); } } if (closedAt) { - match.$match.closedAt = {}; + query.closedAt = {}; if (closedAt.start) { - match.$match.closedAt.$gte = new Date(closedAt.start); + query.closedAt.$gte = new Date(closedAt.start); } if (closedAt.end) { - match.$match.closedAt.$lte = new Date(closedAt.end); + query.closedAt.$lte = new Date(closedAt.end); } } if (tags) { - match.$match.tags = { $in: tags }; + query.tags = { $in: tags }; } if (customFields) { - match.$match.$and = Object.keys(customFields).map((key) => ({ [`livechatData.${ key }`]: new RegExp(customFields[key], 'i') })); - } - const sort = { $sort: options.sort || { name: 1 } }; - const firstParams = [match, sort]; - if (options.offset) { - firstParams.push({ $skip: options.offset }); + query.$and = Object.keys(customFields).map((key) => ({ [`livechatData.${ key }`]: new RegExp(customFields[key], 'i') })); } - if (options.count) { - firstParams.push({ $limit: options.count }); - } - const lookup = { - $lookup: { - from: 'rocketchat_livechat_department', - localField: 'departmentId', - foreignField: '_id', - as: 'department', - }, - }; - const unwind = { - $unwind: { - path: '$department', - preserveNullAndEmptyArrays: true, - }, - }; - const params = [...firstParams, lookup, unwind]; - if (options.fields) { - params.push({ $project: options.fields }); - } - return this.col.aggregate(params).toArray(); + return this.find(query, { sort: options.sort || { name: 1 }, skip: options.offset, limit: options.count }); } } From 57f28211a5b1e605b6fa801cfac61aa22b969a1b Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Mon, 17 Feb 2020 21:10:19 -0300 Subject: [PATCH 006/223] [FIX] Regression: Jitsi on external window infinite loop (#16625) --- app/videobridge/client/views/videoFlexTab.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/videobridge/client/views/videoFlexTab.js b/app/videobridge/client/views/videoFlexTab.js index 1b55095af759..ebc32f1bace2 100644 --- a/app/videobridge/client/views/videoFlexTab.js +++ b/app/videobridge/client/views/videoFlexTab.js @@ -1,4 +1,5 @@ import { Meteor } from 'meteor/meteor'; +import { Tracker } from 'meteor/tracker'; import { Session } from 'meteor/session'; import { Template } from 'meteor/templating'; import { TimeSync } from 'meteor/mizzao:timesync'; @@ -58,9 +59,9 @@ Template.videoFlexTab.onRendered(function() { const start = () => { const update = () => { - const { jitsiTimeout } = Rooms.findOne({ _id: rid }, { fields: { jitsiTimeout: 1 }, reactive: false }); + const { jitsiTimeout } = Rooms.findOne({ _id: rid }, { fields: { jitsiTimeout: 1 } }); - if (jitsiTimeout && (TimeSync.serverTime(), - new Date(jitsiTimeout) + CONSTANTS.TIMEOUT < CONSTANTS.DEBOUNCE)) { + if (jitsiTimeout && (TimeSync.serverTime() - new Date(jitsiTimeout) + CONSTANTS.TIMEOUT < CONSTANTS.DEBOUNCE)) { return; } if (Meteor.status().connected) { @@ -70,7 +71,7 @@ Template.videoFlexTab.onRendered(function() { return this.stop(); }; update(); - this.intervalHandler = Meteor.setInterval(update, CONSTANTS.HEARTBEAT); + this.intervalHandler = setInterval(update, CONSTANTS.HEARTBEAT); TabBar.updateButton('video', { class: 'red' }); }; @@ -125,7 +126,7 @@ Template.videoFlexTab.onRendered(function() { jitsiRoomActive = jitsiRoom; if (settings.get('Jitsi_Open_New_Window')) { - start(); + Tracker.nonreactive(() => start()); let queryString = ''; if (accessToken) { queryString = `?jwt=${ accessToken }`; @@ -157,7 +158,7 @@ Template.videoFlexTab.onRendered(function() { * For some reason those aren't working right. */ Meteor.setTimeout(() => this.api.executeCommand('displayName', [name]), 5000); - return start(); + return Tracker.nonreactive(() => start()); } // Execute any commands that might be reactive. Like name changing. From c4621c42a966d7cb2758e5e34f5043c535db8deb Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Mon, 17 Feb 2020 20:51:06 -0300 Subject: [PATCH 007/223] [FIX] UiKit not updating new actionIds received as responses from actions (#16624) --- app/ui-message/client/blocks/ModalBlock.js | 6 +-- package-lock.json | 47 ++++++++++++---------- package.json | 10 ++--- 3 files changed, 34 insertions(+), 29 deletions(-) diff --git a/app/ui-message/client/blocks/ModalBlock.js b/app/ui-message/client/blocks/ModalBlock.js index 36c5c7ab5806..bb6a1e48deac 100644 --- a/app/ui-message/client/blocks/ModalBlock.js +++ b/app/ui-message/client/blocks/ModalBlock.js @@ -79,7 +79,7 @@ Template.ModalBlock.onRendered(async function() { appId, viewId, view: { - ...this.data.view, + ...state.get().view, id: viewId, state: groupStateByBlockId(this.state.all()), }, @@ -91,7 +91,7 @@ Template.ModalBlock.onRendered(async function() { appId, viewId, view: { - ...this.data.view, + ...state.get().view, id: viewId, state: groupStateByBlockId(this.state.all()), }, @@ -105,7 +105,7 @@ Template.ModalBlock.onRendered(async function() { appId, payload: { view: { - ...this.data.view, + ...state.get().view, id: viewId, state: groupStateByBlockId(this.state.all()), }, diff --git a/package-lock.json b/package-lock.json index c7c9edd9db8c..dee9cb46302a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2716,36 +2716,41 @@ } }, "@rocket.chat/fuselage": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@rocket.chat/fuselage/-/fuselage-0.2.0.tgz", - "integrity": "sha512-APEd9eF9DXVcIrddGov+4yCK18RkOmkGFrNUpCHWqeuAjEy0oApaUWp4e9ISIviIEIijtZ6Q9T2jaLjSKdkzLA==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@rocket.chat/fuselage/-/fuselage-0.3.0.tgz", + "integrity": "sha512-nZdtJtEjZO2ZKQafo0ijANRAlr+wSQ9PzsjpRcan4XVaOdnS7Yri7ZlqtA2jdmHyr5/bbQzReM0WudujS5JMyg==", "requires": { - "@rocket.chat/fuselage-tokens": "^0.2.0", - "@rocket.chat/icons": "^0.2.0" + "@rocket.chat/fuselage-tokens": "^0.3.0", + "@rocket.chat/icons": "^0.3.0" } }, "@rocket.chat/fuselage-hooks": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@rocket.chat/fuselage-hooks/-/fuselage-hooks-0.2.0.tgz", - "integrity": "sha512-OKQWhsbm3eHU1IDshwEqZhpzMW+loGPdpr1W2mZHbazkcRQYVp7V76Hl3Hh/HHGn8+EPY4fluoPVHgoOm42NiA==" + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@rocket.chat/fuselage-hooks/-/fuselage-hooks-0.3.0.tgz", + "integrity": "sha512-VpRyEhntgJ1HLYtaRmOzdHTpfGxkyyD9ElxBwEENMcu4/Ke6brIttznevndjaZWznfF/VV+15vcFovimRt/giQ==" }, "@rocket.chat/fuselage-tokens": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@rocket.chat/fuselage-tokens/-/fuselage-tokens-0.2.0.tgz", - "integrity": "sha512-mHAoZ4mAXXYJ+Sz6DYwe/StO7HyMUNdYw+2U+9uzyO5Zyy5e88+lxD2+HI0UQ7AC6cM/Y77s1kNhTwDpP70oHw==" + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@rocket.chat/fuselage-tokens/-/fuselage-tokens-0.3.0.tgz", + "integrity": "sha512-PEFww6Q4gRmBo97nA6JHICSYHqQuCDHS4KFS070ofdaRParEaBhrQ8CBF21RpIXZpofk9d4nR96JdI0uf6rWOw==" }, "@rocket.chat/fuselage-ui-kit": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@rocket.chat/fuselage-ui-kit/-/fuselage-ui-kit-0.2.0.tgz", - "integrity": "sha512-slgtaz0gFWaU70XyMFI74L6tIUsrKdSae74/8BLq/w4dm3q1Faoc9jDvsgcvqta+/n0GguxjMNrEi6iOI4L96w==", + "version": "0.3.0", "requires": { - "@rocket.chat/ui-kit": "^0.2.0" + "@rocket.chat/ui-kit": "^0.3.0" + }, + "dependencies": { + "@rocket.chat/ui-kit": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@rocket.chat/ui-kit/-/ui-kit-0.2.0.tgz", + "integrity": "sha512-O6QNicDDRRbiULWXdkVmgUl1Pf3CoVVA8L7JEfiegQcTdPEsHlWGYBxcpbt23gY4hoNmbknlJHfCPNWd7oLcmQ==" + } } }, "@rocket.chat/icons": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@rocket.chat/icons/-/icons-0.2.0.tgz", - "integrity": "sha512-EUXi/TGe2YBVASoWPHm+FeRyq6gxNJjByNtc6wb1s0wyPxESD3rPpRkxR1PKjQtSTzNSFW8woEVT1UNPly7v1g==" + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@rocket.chat/icons/-/icons-0.3.0.tgz", + "integrity": "sha512-cE8tq4MzfqJq3AiSKMQS6RWj5gYKDhnQZNP63q0ljtvcZDzGX/LL3zmACmrCwwjT4Y0XNp2CpPW9mNFtG20iNQ==" }, "@rocket.chat/livechat": { "version": "1.3.1", @@ -2835,9 +2840,9 @@ } }, "@rocket.chat/ui-kit": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@rocket.chat/ui-kit/-/ui-kit-0.2.0.tgz", - "integrity": "sha512-O6QNicDDRRbiULWXdkVmgUl1Pf3CoVVA8L7JEfiegQcTdPEsHlWGYBxcpbt23gY4hoNmbknlJHfCPNWd7oLcmQ==" + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@rocket.chat/ui-kit/-/ui-kit-0.3.0.tgz", + "integrity": "sha512-YAV5l6iVIWuileg5DOU/0NQ/23/AULEr8UblIUSF3OShPN8nWanGMdG0E6xFLyXT+KHvmvzhiQe0/ju3Tk7x8A==" }, "@settlin/spacebars-loader": { "version": "1.0.7", diff --git a/package.json b/package.json index 0d0f66e6678c..e238acab7194 100644 --- a/package.json +++ b/package.json @@ -123,11 +123,11 @@ "@google-cloud/storage": "^2.3.1", "@google-cloud/vision": "^1.8.0", "@rocket.chat/apps-engine": "^1.12.0", - "@rocket.chat/fuselage": "^0.2.0", - "@rocket.chat/fuselage-hooks": "^0.2.0", - "@rocket.chat/fuselage-ui-kit": "^0.2.0", - "@rocket.chat/icons": "^0.2.0", - "@rocket.chat/ui-kit": "^0.2.0", + "@rocket.chat/fuselage": "^0.3.0", + "@rocket.chat/fuselage-hooks": "^0.3.0", + "@rocket.chat/fuselage-ui-kit": "^0.3.0", + "@rocket.chat/icons": "^0.3.0", + "@rocket.chat/ui-kit": "^0.3.0", "@slack/client": "^4.8.0", "adm-zip": "RocketChat/adm-zip", "archiver": "^3.0.0", From b87ffbbd4d82aadd2da97f81f032c9725b8b400d Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Wed, 19 Feb 2020 13:04:19 -0300 Subject: [PATCH 008/223] Bump version to 3.0.1 --- .docker/Dockerfile.rhel | 2 +- .github/history.json | 77 +++++++++++++++++++++++++++++++++++++++ HISTORY.md | 25 +++++++++++++ app/utils/rocketchat.info | 2 +- package.json | 2 +- 5 files changed, 105 insertions(+), 3 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index 0a700be61b46..c3d663fc2ba4 100644 --- a/.docker/Dockerfile.rhel +++ b/.docker/Dockerfile.rhel @@ -1,6 +1,6 @@ FROM registry.access.redhat.com/rhscl/nodejs-8-rhel7 -ENV RC_VERSION 3.0.0 +ENV RC_VERSION 3.0.1 MAINTAINER buildmaster@rocket.chat diff --git a/.github/history.json b/.github/history.json index afd5cd31de04..56e30e9a729a 100644 --- a/.github/history.json +++ b/.github/history.json @@ -39745,6 +39745,83 @@ "4.0" ], "pull_requests": [] + }, + "3.0.1": { + "node_version": "12.14.0", + "npm_version": "6.13.4", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "16624", + "title": "[FIX] UiKit not updating new actionIds received as responses from actions", + "userLogin": "ggazzo", + "milestone": "3.0.1", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "16625", + "title": "[FIX] Regression: Jitsi on external window infinite loop", + "userLogin": "ggazzo", + "milestone": "3.0.1", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "16623", + "title": "[FIX] livechat/rooms endpoint not working with big amount of livechats", + "userLogin": "MarcosSpessatto", + "milestone": "3.0.1", + "contributors": [ + "MarcosSpessatto", + "sampaiodiego" + ] + }, + { + "pr": "16637", + "title": "[FIX] Regression: New 'app' role with no permissions when updating to 3.0.0", + "userLogin": "d-gubert", + "milestone": "3.0.1", + "contributors": [ + "d-gubert" + ] + }, + { + "pr": "16626", + "title": "[FIX] Block user option inside admin view", + "userLogin": "ggazzo", + "milestone": "3.0.1", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "16639", + "title": "[FIX] Data converters overriding fields added by apps", + "userLogin": "d-gubert", + "milestone": "3.0.1", + "contributors": [ + "ggazzo", + "d-gubert", + "web-flow" + ] + }, + { + "pr": "16629", + "title": "[FIX] Admin height if the blue banner is opened", + "userLogin": "ggazzo", + "milestone": "3.0.1", + "contributors": [ + "ggazzo" + ] + } + ] } } } \ No newline at end of file diff --git a/HISTORY.md b/HISTORY.md index 4abcc90030c1..e86db17e8261 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,4 +1,29 @@ +# 3.0.1 +`2020-02-19 ยท 7 ๐Ÿ› ยท 4 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` + +### Engine versions +- Node: `12.14.0` +- NPM: `6.13.4` +- MongoDB: `3.4, 3.6, 4.0` + +### ๐Ÿ› Bug fixes + +- UiKit not updating new actionIds received as responses from actions ([#16624](https://github.com/RocketChat/Rocket.Chat/pull/16624)) +- Regression: Jitsi on external window infinite loop ([#16625](https://github.com/RocketChat/Rocket.Chat/pull/16625)) +- livechat/rooms endpoint not working with big amount of livechats ([#16623](https://github.com/RocketChat/Rocket.Chat/pull/16623)) +- Regression: New 'app' role with no permissions when updating to 3.0.0 ([#16637](https://github.com/RocketChat/Rocket.Chat/pull/16637)) +- Block user option inside admin view ([#16626](https://github.com/RocketChat/Rocket.Chat/pull/16626)) +- Data converters overriding fields added by apps ([#16639](https://github.com/RocketChat/Rocket.Chat/pull/16639)) +- Admin height if the blue banner is opened ([#16629](https://github.com/RocketChat/Rocket.Chat/pull/16629)) + +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@MarcosSpessatto](https://github.com/MarcosSpessatto) +- [@d-gubert](https://github.com/d-gubert) +- [@ggazzo](https://github.com/ggazzo) +- [@sampaiodiego](https://github.com/sampaiodiego) + # 3.0.0 `2020-02-14 ยท 7 ๏ธ๏ธ๏ธโš ๏ธ ยท 10 ๐ŸŽ‰ ยท 11 ๐Ÿš€ ยท 32 ๐Ÿ› ยท 43 ๐Ÿ” ยท 21 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index 3d617ac0916f..9bc526777aae 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.0.0" + "version": "3.0.1" } diff --git a/package.json b/package.json index e238acab7194..d6970a605cb0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Rocket.Chat", "description": "The Ultimate Open Source WebChat Platform", - "version": "3.0.0", + "version": "3.0.1", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From 6164f7630f603a78067d0dad058870e993fd13f6 Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Thu, 20 Feb 2020 14:39:03 -0300 Subject: [PATCH 009/223] [FIX] Clear unread red line when the ESC key is pressed (#16668) --- app/ui-utils/client/lib/readMessages.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/ui-utils/client/lib/readMessages.js b/app/ui-utils/client/lib/readMessages.js index 8754af583863..1afcd5d979d6 100644 --- a/app/ui-utils/client/lib/readMessages.js +++ b/app/ui-utils/client/lib/readMessages.js @@ -174,7 +174,12 @@ Meteor.startup(function() { .on('keyup', (e) => { const key = e.which; if (key === 27) { // ESCAPE KEY - readMessage.readNow(); + const rid = Session.get('openedRoom'); + if (!rid) { + return; + } + readMessage.readNow(rid); + readMessage.refreshUnreadMark(rid); } }); }); From 00f65d74210a833da8f647f9533ba8f28c1bc5ce Mon Sep 17 00:00:00 2001 From: Marcos Spessatto Defendi Date: Thu, 20 Feb 2020 13:22:15 -0300 Subject: [PATCH 010/223] [FIX] users.info endpoint not handling the error if the user does not exist (#16495) * Prevent user to be undefined * Move findById to Base model Co-authored-by: Diego Sampaio --- app/api/server/v1/users.js | 2 +- app/lib/server/functions/getFullUserData.js | 3 +++ app/models/server/models/Users.js | 6 ------ app/models/server/models/_Base.js | 8 ++++++++ app/models/server/models/_BaseDb.js | 4 ++++ tests/end-to-end/api/01-users.js | 15 +++++++++++++++ 6 files changed, 31 insertions(+), 7 deletions(-) diff --git a/app/api/server/v1/users.js b/app/api/server/v1/users.js index d0115d51fb0c..fa40c867f0de 100644 --- a/app/api/server/v1/users.js +++ b/app/api/server/v1/users.js @@ -166,7 +166,7 @@ API.v1.addRoute('users.info', { authRequired: true }, { : getFullUserData(params); if (!result || result.count() !== 1) { - return API.v1.failure(`Failed to get the user data for the userId of "${ this.userId }".`); + return API.v1.failure('User not found.'); } const [user] = result.fetch(); const myself = user._id === this.userId; diff --git a/app/lib/server/functions/getFullUserData.js b/app/lib/server/functions/getFullUserData.js index 317b181ab512..b79cc953adb9 100644 --- a/app/lib/server/functions/getFullUserData.js +++ b/app/lib/server/functions/getFullUserData.js @@ -78,6 +78,9 @@ export function getFullUserDataById({ userId, filterId }) { export const getFullUserData = function({ userId, filter, limit: l }) { const username = s.trim(filter); const userToRetrieveFullUserData = username && Users.findOneByUsername(username, { fields: { username: 1 } }); + if (!userToRetrieveFullUserData) { + return; + } const isMyOwnInfo = userToRetrieveFullUserData && userToRetrieveFullUserData._id === userId; const viewFullOtherUserInfo = hasPermission(userId, 'view-full-other-user-info'); diff --git a/app/models/server/models/Users.js b/app/models/server/models/Users.js index 42222ec37388..9d594a9f32b1 100644 --- a/app/models/server/models/Users.js +++ b/app/models/server/models/Users.js @@ -493,12 +493,6 @@ export class Users extends Base { } // FIND - findById(userId) { - const query = { _id: userId }; - - return this.find(query); - } - findByIds(users, options) { const query = { _id: { $in: users } }; return this.find(query, options); diff --git a/app/models/server/models/_Base.js b/app/models/server/models/_Base.js index 97315044e369..d5ba676bd7e2 100644 --- a/app/models/server/models/_Base.js +++ b/app/models/server/models/_Base.js @@ -119,6 +119,14 @@ export class Base { } } + findById(...args) { + try { + return this[this.origin].findById(...args); + } catch (e) { + console.error('Exception on find', e, ...args); + } + } + findOne(...args) { try { return this[this.origin].findOne(...args); diff --git a/app/models/server/models/_BaseDb.js b/app/models/server/models/_BaseDb.js index d7df328844ca..d248544a918a 100644 --- a/app/models/server/models/_BaseDb.js +++ b/app/models/server/models/_BaseDb.js @@ -130,6 +130,10 @@ export class BaseDb extends EventEmitter { return this.model.find(...args); } + findById(_id, options) { + return this.find({ _id }, options); + } + findOne(...args) { this._doNotMixInclusionAndExclusionFields(args[1]); return this.model.findOne(...args); diff --git a/tests/end-to-end/api/01-users.js b/tests/end-to-end/api/01-users.js index 3eb83c9106df..3ab97cdb5c9c 100644 --- a/tests/end-to-end/api/01-users.js +++ b/tests/end-to-end/api/01-users.js @@ -198,6 +198,21 @@ describe('[Users]', function() { describe('[/users.info]', () => { after(() => updatePermission('view-other-user-channels', ['admin'])); + it('should return an error when the user does not exist', (done) => { + request.get(api('users.info')) + .set(credentials) + .query({ + username: 'invalid-username', + }) + .expect('Content-Type', 'application/json') + .expect(400) + .expect((res) => { + expect(res.body).to.have.property('success', false); + expect(res.body).to.have.property('error').and.to.be.equal('User not found.'); + }) + .end(done); + }); + it('should query information about a user by userId', (done) => { request.get(api('users.info')) .set(credentials) From 0068bdb80d913f0b63ec44d8d81e7fd321e6b5c2 Mon Sep 17 00:00:00 2001 From: Renato Becker Date: Tue, 18 Feb 2020 09:41:02 -0300 Subject: [PATCH 011/223] [FIX] Omnichannel Inquiry queues when removing chats (#16603) * Fix Inquiry stream when removing omnichannel rooms. * Remove unnecessary blank line. * Remove unnecessary import files. --- app/livechat/client/lib/stream/queueManager.js | 6 +++--- app/livechat/client/views/app/livechatReadOnly.js | 4 +--- app/livechat/server/lib/Livechat.js | 15 +++++++++++++++ .../server/methods/removeAllClosedRooms.js | 8 +++----- app/livechat/server/methods/removeRoom.js | 7 +++---- app/models/server/models/LivechatInquiry.js | 8 ++++++++ 6 files changed, 33 insertions(+), 15 deletions(-) diff --git a/app/livechat/client/lib/stream/queueManager.js b/app/livechat/client/lib/stream/queueManager.js index 32eef969cfc8..5f58fdc56376 100644 --- a/app/livechat/client/lib/stream/queueManager.js +++ b/app/livechat/client/lib/stream/queueManager.js @@ -15,12 +15,12 @@ const events = { }, changed: (inquiry, collection) => { if (inquiry.status !== 'queued' || (inquiry.department && !agentDepartments.includes(inquiry.department))) { - return collection.remove({ rid: inquiry.rid }); + return collection.remove(inquiry._id); } delete inquiry.type; - collection.upsert({ rid: inquiry.rid }, inquiry); + collection.upsert({ _id: inquiry._id }, inquiry); }, - removed: (inquiry, collection) => collection.remove({ rid: inquiry.rid }), + removed: (inquiry, collection) => collection.remove(inquiry._id), }; const appendListenerToDepartment = (departmentId, collection) => livechatQueueStreamer.on(`${ LIVECHAT_INQUIRY_QUEUE_STREAM_OBSERVER }/${ departmentId }`, (inquiry) => events[inquiry.type](inquiry, collection)); diff --git a/app/livechat/client/views/app/livechatReadOnly.js b/app/livechat/client/views/app/livechatReadOnly.js index dc928e19fe5e..da599cb65cb0 100644 --- a/app/livechat/client/views/app/livechatReadOnly.js +++ b/app/livechat/client/views/app/livechatReadOnly.js @@ -50,9 +50,7 @@ Template.livechatReadOnly.onCreated(function() { this.preparing = new ReactiveVar(true); this.updateInquiry = (inquiry) => { - if (inquiry && inquiry.rid === this.rid) { - this.inquiry.set(inquiry); - } + this.inquiry.set(inquiry); }; Meteor.call('livechat:getRoutingConfig', (err, config) => { diff --git a/app/livechat/server/lib/Livechat.js b/app/livechat/server/lib/Livechat.js index f2f43691ce72..9853dcb5a28f 100644 --- a/app/livechat/server/lib/Livechat.js +++ b/app/livechat/server/lib/Livechat.js @@ -370,6 +370,20 @@ export const Livechat = { return true; }, + removeRoom(rid) { + check(rid, String); + const room = LivechatRooms.findOneById(rid); + if (!room) { + throw new Meteor.Error('error-invalid-room', 'Invalid room', { method: 'livechat:removeRoom' }); + } + + Messages.removeByRoomId(rid); + Subscriptions.removeByRoomId(rid); + LivechatInquiry.removeByRoomId(rid); + return LivechatRooms.removeById(rid); + }, + + setCustomFields({ token, key, value, overwrite } = {}) { check(token, String); check(key, String); @@ -757,6 +771,7 @@ export const Livechat = { Subscriptions.removeByVisitorToken(token); LivechatRooms.removeByVisitorToken(token); + LivechatInquiry.removeByVisitorToken(token); }, saveDepartmentAgents(_id, departmentAgents) { diff --git a/app/livechat/server/methods/removeAllClosedRooms.js b/app/livechat/server/methods/removeAllClosedRooms.js index 6849d2b40e6b..ae29e85a030f 100644 --- a/app/livechat/server/methods/removeAllClosedRooms.js +++ b/app/livechat/server/methods/removeAllClosedRooms.js @@ -1,7 +1,8 @@ import { Meteor } from 'meteor/meteor'; import { hasPermission } from '../../../authorization'; -import { LivechatRooms, Messages, Subscriptions } from '../../../models'; +import { LivechatRooms } from '../../../models'; +import { Livechat } from '../lib/Livechat'; Meteor.methods({ 'livechat:removeAllClosedRooms'(departmentIds) { @@ -11,10 +12,7 @@ Meteor.methods({ let count = 0; LivechatRooms.findClosedRooms(departmentIds).forEach(({ _id }) => { - Messages.removeByRoomId(_id); - Subscriptions.removeByRoomId(_id); - LivechatRooms.removeById(_id); - + Livechat.removeRoom(_id); count++; }); diff --git a/app/livechat/server/methods/removeRoom.js b/app/livechat/server/methods/removeRoom.js index ef0329ae0b4f..f8c251e28a36 100644 --- a/app/livechat/server/methods/removeRoom.js +++ b/app/livechat/server/methods/removeRoom.js @@ -1,7 +1,8 @@ import { Meteor } from 'meteor/meteor'; import { hasPermission } from '../../../authorization'; -import { LivechatRooms, Messages, Subscriptions } from '../../../models'; +import { LivechatRooms } from '../../../models'; +import { Livechat } from '../lib/Livechat'; Meteor.methods({ 'livechat:removeRoom'(rid) { @@ -29,8 +30,6 @@ Meteor.methods({ }); } - Messages.removeByRoomId(rid); - Subscriptions.removeByRoomId(rid); - return LivechatRooms.removeById(rid); + return Livechat.removeRoom(rid); }, }); diff --git a/app/models/server/models/LivechatInquiry.js b/app/models/server/models/LivechatInquiry.js index f7a78064d8a1..ccf54c445231 100644 --- a/app/models/server/models/LivechatInquiry.js +++ b/app/models/server/models/LivechatInquiry.js @@ -172,6 +172,14 @@ export class LivechatInquiry extends Base { removeByRoomId(rid) { return this.remove({ rid }); } + + removeByVisitorToken(token) { + const query = { + 'v.token': token, + }; + + this.remove(query); + } } export default new LivechatInquiry(); From be97a51e49d251e727beeca56626248936820d72 Mon Sep 17 00:00:00 2001 From: gabriellsh <40830821+gabriellsh@users.noreply.github.com> Date: Fri, 21 Feb 2020 15:05:23 -0300 Subject: [PATCH 012/223] [FIX] ie11 support (#16682) --- app/ui-sidenav/client/userPresence.js | 22 +++++++++++++++++----- imports/client/query-string | 1 + imports/client/scheduler | 1 + imports/client/split-on-first | 1 + imports/client/strict-uri-encode | 1 + 5 files changed, 21 insertions(+), 5 deletions(-) create mode 120000 imports/client/query-string create mode 120000 imports/client/scheduler create mode 120000 imports/client/split-on-first create mode 120000 imports/client/strict-uri-encode diff --git a/app/ui-sidenav/client/userPresence.js b/app/ui-sidenav/client/userPresence.js index 32501e8d9253..f6ae3e82171a 100644 --- a/app/ui-sidenav/client/userPresence.js +++ b/app/ui-sidenav/client/userPresence.js @@ -67,7 +67,9 @@ const handleEntries = function(entries) { getAll(); }; -const observer = new IntersectionObserver(handleEntries, options); +const featureExists = !!window.IntersectionObserver; + +const observer = featureExists && new IntersectionObserver(handleEntries, options); Tracker.autorun(() => { if (!Meteor.userId() || !Meteor.status().connected) { @@ -75,13 +77,23 @@ Tracker.autorun(() => { } mem.clear(get); - for (const node of data.keys()) { - observer.unobserve(node); - observer.observe(node); + if (featureExists) { + for (const node of data.keys()) { + observer.unobserve(node); + observer.observe(node); + } } + + get(this.data.uid); + getAll(); }); Template.userPresence.onRendered(function() { data.set(this.firstNode, this.data); - observer.observe(this.firstNode); + if (featureExists) { + return observer.observe(this.firstNode); + } + + get(this.data.uid); + getAll(); }); diff --git a/imports/client/query-string b/imports/client/query-string new file mode 120000 index 000000000000..3d5529bafa0b --- /dev/null +++ b/imports/client/query-string @@ -0,0 +1 @@ +../../node_modules/query-string/ \ No newline at end of file diff --git a/imports/client/scheduler b/imports/client/scheduler new file mode 120000 index 000000000000..d6ef6285d8c0 --- /dev/null +++ b/imports/client/scheduler @@ -0,0 +1 @@ +../../node_modules/scheduler/ \ No newline at end of file diff --git a/imports/client/split-on-first b/imports/client/split-on-first new file mode 120000 index 000000000000..ac3c77694047 --- /dev/null +++ b/imports/client/split-on-first @@ -0,0 +1 @@ +../../node_modules/split-on-first/ \ No newline at end of file diff --git a/imports/client/strict-uri-encode b/imports/client/strict-uri-encode new file mode 120000 index 000000000000..77c01a2aedbb --- /dev/null +++ b/imports/client/strict-uri-encode @@ -0,0 +1 @@ +../../node_modules/strict-uri-encode/ \ No newline at end of file From 031fd615b50728e34c983e243cc4bfc5db4e0a7b Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Fri, 21 Feb 2020 15:23:41 -0300 Subject: [PATCH 013/223] Bump version to 3.0.2 --- .docker/Dockerfile.rhel | 2 +- .github/history.json | 48 +++++++++++++++++++++++++++++++++++++++ HISTORY.md | 23 +++++++++++++++++++ app/utils/rocketchat.info | 2 +- package.json | 2 +- 5 files changed, 74 insertions(+), 3 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index c3d663fc2ba4..26f7053acf2b 100644 --- a/.docker/Dockerfile.rhel +++ b/.docker/Dockerfile.rhel @@ -1,6 +1,6 @@ FROM registry.access.redhat.com/rhscl/nodejs-8-rhel7 -ENV RC_VERSION 3.0.1 +ENV RC_VERSION 3.0.2 MAINTAINER buildmaster@rocket.chat diff --git a/.github/history.json b/.github/history.json index 56e30e9a729a..0ec310d4b388 100644 --- a/.github/history.json +++ b/.github/history.json @@ -39822,6 +39822,54 @@ ] } ] + }, + "3.0.2": { + "node_version": "12.14.0", + "npm_version": "6.13.4", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "16682", + "title": "[FIX] ie11 support", + "userLogin": "gabriellsh", + "milestone": "3.0.2", + "contributors": [ + "gabriellsh" + ] + }, + { + "pr": "16603", + "title": "[FIX] Omnichannel Inquiry queues when removing chats", + "userLogin": "renatobecker", + "milestone": "3.0.2", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "16495", + "title": "[FIX] users.info endpoint not handling the error if the user does not exist", + "userLogin": "MarcosSpessatto", + "milestone": "3.0.2", + "contributors": [ + "MarcosSpessatto", + "sampaiodiego" + ] + }, + { + "pr": "16668", + "title": "[FIX] Clear unread red line when the ESC key is pressed ", + "userLogin": "ggazzo", + "milestone": "3.0.2", + "contributors": [ + "ggazzo" + ] + } + ] } } } \ No newline at end of file diff --git a/HISTORY.md b/HISTORY.md index e86db17e8261..62686946b4cc 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,4 +1,27 @@ +# 3.0.2 +`2020-02-21 ยท 4 ๐Ÿ› ยท 5 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` + +### Engine versions +- Node: `12.14.0` +- NPM: `6.13.4` +- MongoDB: `3.4, 3.6, 4.0` + +### ๐Ÿ› Bug fixes + +- ie11 support ([#16682](https://github.com/RocketChat/Rocket.Chat/pull/16682)) +- Omnichannel Inquiry queues when removing chats ([#16603](https://github.com/RocketChat/Rocket.Chat/pull/16603)) +- users.info endpoint not handling the error if the user does not exist ([#16495](https://github.com/RocketChat/Rocket.Chat/pull/16495)) +- Clear unread red line when the ESC key is pressed ([#16668](https://github.com/RocketChat/Rocket.Chat/pull/16668)) + +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@MarcosSpessatto](https://github.com/MarcosSpessatto) +- [@gabriellsh](https://github.com/gabriellsh) +- [@ggazzo](https://github.com/ggazzo) +- [@renatobecker](https://github.com/renatobecker) +- [@sampaiodiego](https://github.com/sampaiodiego) + # 3.0.1 `2020-02-19 ยท 7 ๐Ÿ› ยท 4 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index 9bc526777aae..5298a3fef982 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.0.1" + "version": "3.0.2" } diff --git a/package.json b/package.json index d6970a605cb0..b796a24f3c5c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Rocket.Chat", "description": "The Ultimate Open Source WebChat Platform", - "version": "3.0.1", + "version": "3.0.2", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From 9d7150b574e0016c7155a2db95c80ef305bc94b7 Mon Sep 17 00:00:00 2001 From: Renato Becker Date: Thu, 20 Feb 2020 16:22:11 -0300 Subject: [PATCH 014/223] [IMPROVE] Check agent status when starting a new conversation with an agent assigned (#16618) --- app/livechat/server/lib/Helper.js | 10 ++++++++++ app/livechat/server/lib/QueueManager.js | 5 ++--- app/models/server/models/Users.js | 4 ++-- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/app/livechat/server/lib/Helper.js b/app/livechat/server/lib/Helper.js index 2c02722ff960..b8cf56a241e7 100644 --- a/app/livechat/server/lib/Helper.js +++ b/app/livechat/server/lib/Helper.js @@ -275,3 +275,13 @@ export const normalizeTransferredByData = (transferredBy, room) => { type, }; }; + +export const checkServiceStatus = ({ guest, agent }) => { + if (agent) { + const { agentId } = agent; + const users = Users.findOnlineAgents(agentId); + return users && users.count() > 0; + } + + return Livechat.online(guest.department); +}; diff --git a/app/livechat/server/lib/QueueManager.js b/app/livechat/server/lib/QueueManager.js index cdd4aa1c6012..aa1632390e20 100644 --- a/app/livechat/server/lib/QueueManager.js +++ b/app/livechat/server/lib/QueueManager.js @@ -2,10 +2,9 @@ import { Meteor } from 'meteor/meteor'; import { Match, check } from 'meteor/check'; import { LivechatRooms, LivechatInquiry } from '../../../models/server'; -import { createLivechatRoom, createLivechatInquiry } from './Helper'; +import { checkServiceStatus, createLivechatRoom, createLivechatInquiry } from './Helper'; import { callbacks } from '../../../callbacks/server'; import { RoutingManager } from './RoutingManager'; -import { Livechat } from './Livechat'; export const QueueManager = { async requestRoom({ guest, message, roomInfo, agent }) { @@ -19,7 +18,7 @@ export const QueueManager = { department: Match.Maybe(String), })); - if (!Livechat.online(guest.department)) { + if (!checkServiceStatus({ guest, agent })) { throw new Meteor.Error('no-agent-online', 'Sorry, no online agents'); } diff --git a/app/models/server/models/Users.js b/app/models/server/models/Users.js index 9d594a9f32b1..2e0fd8dc82c3 100644 --- a/app/models/server/models/Users.js +++ b/app/models/server/models/Users.js @@ -91,8 +91,8 @@ export class Users extends Base { return this.update(_id, update); } - findOnlineAgents() { - const query = queryStatusAgentOnline(); + findOnlineAgents(agentId) { + const query = queryStatusAgentOnline(agentId && { _id: agentId }); return this.find(query); } From 661ad361bd4438eb7ce607c7720a00969a0d7328 Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Thu, 20 Feb 2020 17:44:20 -0300 Subject: [PATCH 015/223] [FIX] LDAP sync admin action was not syncing exisent users (#16671) --- app/ldap/server/ldap.js | 7 ++- app/ldap/server/sync.js | 9 ++-- app/ldap/server/syncUsers.js | 4 +- .../server/functions/setUserActiveStatus.js | 46 +++++++++++++++++++ server/methods/setUserActiveStatus.js | 42 +---------------- 5 files changed, 61 insertions(+), 47 deletions(-) create mode 100644 app/lib/server/functions/setUserActiveStatus.js diff --git a/app/ldap/server/ldap.js b/app/ldap/server/ldap.js index c18370b09ce1..0739e6880270 100644 --- a/app/ldap/server/ldap.js +++ b/app/ldap/server/ldap.js @@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor'; import ldapjs from 'ldapjs'; import Bunyan from 'bunyan'; +import { callbacks } from '../../callbacks/server'; import { settings } from '../../settings'; import { Logger } from '../../logger'; @@ -376,6 +377,8 @@ export default class LDAP { searchAllPaged(BaseDN, options, page) { this.bindIfNecessary(); + ({ BaseDN, options } = callbacks.run('ldap.beforeSearchAll', { BaseDN, options })); + const processPage = ({ entries, title, end, next }) => { logger.search.info(title); // Force LDAP idle to wait the record processing @@ -425,8 +428,8 @@ export default class LDAP { title: 'Final Page', end: true, }); + entries = []; } else if (entries.length) { - logger.search.info('Page'); processPage({ entries, title: 'Page', @@ -453,6 +456,8 @@ export default class LDAP { searchAllAsync(BaseDN, options, callback) { this.bindIfNecessary(); + ({ BaseDN, options } = callbacks.run('ldap.beforeSearchAll', { BaseDN, options })); + this.client.search(BaseDN, options, (error, res) => { if (error) { logger.search.error(error); diff --git a/app/ldap/server/sync.js b/app/ldap/server/sync.js index e9ff3a30a45b..5a17a64f9e87 100644 --- a/app/ldap/server/sync.js +++ b/app/ldap/server/sync.js @@ -5,6 +5,7 @@ import { SyncedCron } from 'meteor/littledata:synced-cron'; import _ from 'underscore'; import LDAP from './ldap'; +import { callbacks } from '../../callbacks/server'; import { RocketChatFile } from '../../file'; import { settings } from '../../settings'; import { Notifications } from '../../notifications'; @@ -16,7 +17,7 @@ import { FileUpload } from '../../file-upload'; import { addUserToRoom, removeUserFromRoom, createRoom } from '../../lib/server/functions'; -const logger = new Logger('LDAPSync', {}); +export const logger = new Logger('LDAPSync', {}); export function isUserInLDAPGroup(ldap, ldapUser, user, ldapGroup) { const syncUserRolesFilter = settings.get('LDAP_Sync_User_Data_Groups_Filter').trim(); @@ -531,7 +532,7 @@ export function importNewUsers(ldap) { })); } -function sync() { +export function sync() { if (settings.get('LDAP_Enable') !== true) { return; } @@ -562,9 +563,9 @@ function sync() { if (ldapUser) { syncUserData(user, ldapUser, ldap); - } else { - logger.info('Can\'t sync user', user.username); } + + callbacks.run('ldap.afterSyncExistentUser', { ldapUser, user }); }); } } catch (error) { diff --git a/app/ldap/server/syncUsers.js b/app/ldap/server/syncUsers.js index 8713c8973e5c..d1f873af86d3 100644 --- a/app/ldap/server/syncUsers.js +++ b/app/ldap/server/syncUsers.js @@ -1,6 +1,6 @@ import { Meteor } from 'meteor/meteor'; -import { importNewUsers } from './sync'; +import { sync } from './sync'; import { hasRole } from '../../authorization'; import { settings } from '../../settings'; @@ -21,7 +21,7 @@ Meteor.methods({ this.unblock(); - importNewUsers(); + sync(); return { message: 'Sync_in_progress', diff --git a/app/lib/server/functions/setUserActiveStatus.js b/app/lib/server/functions/setUserActiveStatus.js new file mode 100644 index 000000000000..5a432d8cb769 --- /dev/null +++ b/app/lib/server/functions/setUserActiveStatus.js @@ -0,0 +1,46 @@ +import { check } from 'meteor/check'; +import { Accounts } from 'meteor/accounts-base'; + +import * as Mailer from '../../../mailer'; +import { Users, Subscriptions } from '../../../models'; +import { settings } from '../../../settings'; + +export function setUserActiveStatus(userId, active) { + check(userId, String); + check(active, Boolean); + + const user = Users.findOneById(userId); + + if (!user) { + return false; + } + + Users.setUserActive(userId, active); + + if (user.username) { + Subscriptions.setArchivedByUsername(user.username, !active); + } + + if (active === false) { + Users.unsetLoginTokens(userId); + } else { + Users.unsetReason(userId); + } + if (active && !settings.get('Accounts_Send_Email_When_Activating')) { + return true; + } + if (!active && !settings.get('Accounts_Send_Email_When_Deactivating')) { + return true; + } + + const destinations = Array.isArray(user.emails) && user.emails.map((email) => `${ user.name || user.username }<${ email.address }>`); + + const email = { + to: destinations, + from: settings.get('From_Email'), + subject: Accounts.emailTemplates.userActivated.subject({ active }), + html: Accounts.emailTemplates.userActivated.html({ active, name: user.name, username: user.username }), + }; + + Mailer.sendNoWrap(email); +} diff --git a/server/methods/setUserActiveStatus.js b/server/methods/setUserActiveStatus.js index 2328d79d54ca..d06e2aea0f3a 100644 --- a/server/methods/setUserActiveStatus.js +++ b/server/methods/setUserActiveStatus.js @@ -1,11 +1,8 @@ import { Meteor } from 'meteor/meteor'; import { check } from 'meteor/check'; -import { Accounts } from 'meteor/accounts-base'; -import * as Mailer from '../../app/mailer'; import { hasPermission } from '../../app/authorization'; -import { Users, Subscriptions } from '../../app/models'; -import { settings } from '../../app/settings'; +import { setUserActiveStatus } from '../../app/lib/server/functions/setUserActiveStatus'; Meteor.methods({ setUserActiveStatus(userId, active) { @@ -24,42 +21,7 @@ Meteor.methods({ }); } - const user = Users.findOneById(userId); - - if (!user) { - return false; - } - - Users.setUserActive(userId, active); - - if (user.username) { - Subscriptions.setArchivedByUsername(user.username, !active); - } - - if (active === false) { - Users.unsetLoginTokens(userId); - } else { - Users.unsetReason(userId); - } - if (active && !settings.get('Accounts_Send_Email_When_Activating')) { - return true; - } - if (!active && !settings.get('Accounts_Send_Email_When_Deactivating')) { - return true; - } - - const destinations = Array.isArray(user.emails) && user.emails.map((email) => `${ user.name || user.username }<${ email.address }>`); - - - const email = { - to: destinations, - from: settings.get('From_Email'), - subject: Accounts.emailTemplates.userActivated.subject({ active }), - html: Accounts.emailTemplates.userActivated.html({ active, name: user.name, username: user.username }), - }; - - Mailer.sendNoWrap(email); - + setUserActiveStatus(userId, active); return true; }, From 1b333f942dae5c97676cfa37702d4a4770a4a12c Mon Sep 17 00:00:00 2001 From: pierre-lehnen-rc <55164754+pierre-lehnen-rc@users.noreply.github.com> Date: Thu, 27 Feb 2020 15:24:21 -0300 Subject: [PATCH 016/223] [FIX] Rocket.Chat takes too long to set the username when it fails to send enrollment email (#16723) --- app/lib/server/functions/setUsername.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/lib/server/functions/setUsername.js b/app/lib/server/functions/setUsername.js index d705d436c084..7656e7dbe4af 100644 --- a/app/lib/server/functions/setUsername.js +++ b/app/lib/server/functions/setUsername.js @@ -41,7 +41,9 @@ export const _setUsername = function(userId, u) { // If first time setting username, send Enrollment Email try { if (!previousUsername && user.emails && user.emails.length > 0 && settings.get('Accounts_Enrollment_Email')) { - Accounts.sendEnrollmentEmail(user._id); + Meteor.defer(() => { + Accounts.sendEnrollmentEmail(user._id); + }); } } catch (e) { console.error(e); From 8a650e50ab9792b54454f5f321e03b5b6ec69b50 Mon Sep 17 00:00:00 2001 From: Aaron Ogle Date: Thu, 27 Feb 2020 12:25:25 -0600 Subject: [PATCH 017/223] [FIX] Manual Register use correct state for determining registered (#16726) * Fix: Manual Register api call * show button using correct condition * Removed '-->' from modal Co-authored-by: Douglas Gubert --- app/api/server/v1/cloud.js | 2 +- app/cloud/client/admin/cloud.html | 2 +- app/ui-utils/client/lib/modal.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/api/server/v1/cloud.js b/app/api/server/v1/cloud.js index 1aa430151c41..7b1b3e729121 100644 --- a/app/api/server/v1/cloud.js +++ b/app/api/server/v1/cloud.js @@ -17,7 +17,7 @@ API.v1.addRoute('cloud.manualRegister', { authRequired: true }, { const registrationInfo = retrieveRegistrationStatus(); - if (registrationInfo.connectToCloud) { + if (registrationInfo.workspaceRegistered) { return API.v1.failure('Workspace is already registered'); } diff --git a/app/cloud/client/admin/cloud.html b/app/cloud/client/admin/cloud.html index 41b24ec93d7f..78c1e053390d 100644 --- a/app/cloud/client/admin/cloud.html +++ b/app/cloud/client/admin/cloud.html @@ -3,7 +3,7 @@
{{#header sectionName="Connectivity_Services" hideHelp=true fixedHeight=true fullpage=true}}
- {{#unless info.connectToCloud}} + {{#unless info.workspaceRegistered}} diff --git a/app/ui-utils/client/lib/modal.html b/app/ui-utils/client/lib/modal.html index 69cbe1da8bf8..19ad6fe23d55 100644 --- a/app/ui-utils/client/lib/modal.html +++ b/app/ui-utils/client/lib/modal.html @@ -6,7 +6,7 @@ {{# if template}} - {{> Template.dynamic template=template data=data}} --> + {{> Template.dynamic template=template data=data}} {{else}}

From 0e9d6ea8ff839a3567efb773750de50ed8689f28 Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Mon, 2 Mar 2020 10:36:48 -0300 Subject: [PATCH 018/223] [FIX] Language country has been ignored on translation load (#16757) * [FIX] Language country has been ignored on translation load * Enforce uppercase country on filterLanguage method and change the language list to list with uppercase countries --- app/ui-account/client/accountPreferences.js | 4 ++-- client/startup/i18n.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/ui-account/client/accountPreferences.js b/app/ui-account/client/accountPreferences.js index 7c6c38b8a5f4..d17cd1c80943 100644 --- a/app/ui-account/client/accountPreferences.js +++ b/app/ui-account/client/accountPreferences.js @@ -49,7 +49,7 @@ Template.accountPreferences.helpers({ const languages = TAPi18n.getLanguages(); const result = Object.entries(languages) - .map(([key, language]) => ({ ...language, key: key.toLowerCase() })) + .map(([key, language]) => ({ ...language, key })) .sort((a, b) => a.key - b.key); result.unshift({ @@ -62,7 +62,7 @@ Template.accountPreferences.helpers({ }, isUserLanguage(key) { const languageKey = Meteor.user().language; - return typeof languageKey === 'string' && languageKey.toLowerCase() === key; + return typeof languageKey === 'string' && languageKey.toLowerCase() === key.toLowerCase(); }, ifThenElse(condition, val, not = '') { return condition ? val : not; diff --git a/client/startup/i18n.js b/client/startup/i18n.js index 4f9d0a996d2d..c0e35e78815e 100644 --- a/client/startup/i18n.js +++ b/client/startup/i18n.js @@ -21,7 +21,7 @@ Meteor.startup(() => { const regex = /([a-z]{2,3})-([a-z]{2,4})/; const matches = regex.exec(language); if (matches) { - return `${ matches[1] }-${ matches[2].toLowerCase() }`; + return `${ matches[1] }-${ matches[2].toUpperCase() }`; } return language; From 8cc8a603a5315b0b2bcb5bd9119d987bc988ea5c Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Mon, 2 Mar 2020 16:00:13 -0300 Subject: [PATCH 019/223] Bump version to 3.0.3 --- .docker/Dockerfile.rhel | 2 +- .github/history.json | 91 ++++++++++++++++++++++++++++++++++++++- HISTORY.md | 43 +++++++++++++++++- app/utils/rocketchat.info | 2 +- package.json | 2 +- 5 files changed, 135 insertions(+), 5 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index 26f7053acf2b..3edc448beeaa 100644 --- a/.docker/Dockerfile.rhel +++ b/.docker/Dockerfile.rhel @@ -1,6 +1,6 @@ FROM registry.access.redhat.com/rhscl/nodejs-8-rhel7 -ENV RC_VERSION 3.0.2 +ENV RC_VERSION 3.0.3 MAINTAINER buildmaster@rocket.chat diff --git a/.github/history.json b/.github/history.json index 0ec310d4b388..44a7272e4ba8 100644 --- a/.github/history.json +++ b/.github/history.json @@ -39823,6 +39823,27 @@ } ] }, + "2.4.10": { + "node_version": "8.17.0", + "npm_version": "6.13.4", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "16495", + "title": "[FIX] users.info endpoint not handling the error if the user does not exist", + "userLogin": "MarcosSpessatto", + "milestone": "3.0.2", + "contributors": [ + "MarcosSpessatto", + "sampaiodiego" + ] + } + ] + }, "3.0.2": { "node_version": "12.14.0", "npm_version": "6.13.4", @@ -39870,6 +39891,74 @@ ] } ] + }, + "2.4.11": { + "node_version": "8.17.0", + "npm_version": "6.13.4", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [] + }, + "3.0.3": { + "node_version": "12.14.0", + "npm_version": "6.13.4", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "16757", + "title": "[FIX] Language country has been ignored on translation load", + "userLogin": "rodrigok", + "milestone": "3.0.3", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "16726", + "title": "[FIX] Manual Register use correct state for determining registered", + "userLogin": "geekgonecrazy", + "milestone": "3.0.3", + "contributors": [ + "geekgonecrazy", + "web-flow", + "d-gubert" + ] + }, + { + "pr": "16723", + "title": "[FIX] Rocket.Chat takes too long to set the username when it fails to send enrollment email", + "userLogin": "pierre-lehnen-rc", + "milestone": "3.0.3", + "contributors": [ + "pierre-lehnen-rc" + ] + }, + { + "pr": "16671", + "title": "[FIX] LDAP sync admin action was not syncing existent users", + "userLogin": "rodrigok", + "milestone": "3.0.3", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "16618", + "title": "[FIX] Check agent status when starting a new conversation with an agent assigned", + "userLogin": "renatobecker", + "milestone": "3.0.3", + "contributors": [ + "renatobecker" + ] + } + ] } } -} \ No newline at end of file +} diff --git a/HISTORY.md b/HISTORY.md index 62686946b4cc..40f27d6c39d5 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,4 +1,28 @@ +# 3.0.3 +`2020-03-02 ยท 5 ๐Ÿ› ยท 5 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` + +### Engine versions +- Node: `12.14.0` +- NPM: `6.13.4` +- MongoDB: `3.4, 3.6, 4.0` + +### ๐Ÿ› Bug fixes + +- Language country has been ignored on translation load ([#16757](https://github.com/RocketChat/Rocket.Chat/pull/16757)) +- Manual Register use correct state for determining registered ([#16726](https://github.com/RocketChat/Rocket.Chat/pull/16726)) +- Rocket.Chat takes too long to set the username when it fails to send enrollment email ([#16723](https://github.com/RocketChat/Rocket.Chat/pull/16723)) +- LDAP sync admin action was not syncing existent users ([#16671](https://github.com/RocketChat/Rocket.Chat/pull/16671)) +- Check agent status when starting a new conversation with an agent assigned ([#16618](https://github.com/RocketChat/Rocket.Chat/pull/16618)) + +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@d-gubert](https://github.com/d-gubert) +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@pierre-lehnen-rc](https://github.com/pierre-lehnen-rc) +- [@renatobecker](https://github.com/renatobecker) +- [@rodrigok](https://github.com/rodrigok) + # 3.0.2 `2020-02-21 ยท 4 ๐Ÿ› ยท 5 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` @@ -203,6 +227,23 @@ - [@sampaiodiego](https://github.com/sampaiodiego) - [@tassoevan](https://github.com/tassoevan) +# 2.4.10 +`2020-02-20 ยท 1 ๐Ÿ› ยท 2 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` + +### Engine versions +- Node: `8.17.0` +- NPM: `6.13.4` +- MongoDB: `3.4, 3.6, 4.0` + +### ๐Ÿ› Bug fixes + +- users.info endpoint not handling the error if the user does not exist ([#16495](https://github.com/RocketChat/Rocket.Chat/pull/16495)) + +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@MarcosSpessatto](https://github.com/MarcosSpessatto) +- [@sampaiodiego](https://github.com/sampaiodiego) + # 2.4.9 `2020-02-10 ยท 1 ๐Ÿ› ยท 1 ๐Ÿ” ยท 1 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` @@ -6632,4 +6673,4 @@ - [@graywolf336](https://github.com/graywolf336) - [@marceloschmidt](https://github.com/marceloschmidt) - [@rodrigok](https://github.com/rodrigok) -- [@sampaiodiego](https://github.com/sampaiodiego) \ No newline at end of file +- [@sampaiodiego](https://github.com/sampaiodiego) diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index 5298a3fef982..ad3aeee82e4b 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.0.2" + "version": "3.0.3" } diff --git a/package.json b/package.json index b796a24f3c5c..b63dbf35dc2f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Rocket.Chat", "description": "The Ultimate Open Source WebChat Platform", - "version": "3.0.2", + "version": "3.0.3", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From c371875cf559257613cd1d6fa581b99fec0c225c Mon Sep 17 00:00:00 2001 From: pierre-lehnen-rc <55164754+pierre-lehnen-rc@users.noreply.github.com> Date: Wed, 26 Feb 2020 16:49:42 -0300 Subject: [PATCH 020/223] [FIX] TypeError when trying to load avatar of an invalid room. (#16699) --- server/routes/avatar/room.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/server/routes/avatar/room.js b/server/routes/avatar/room.js index 450e211e54c0..7c97106bfbc0 100644 --- a/server/routes/avatar/room.js +++ b/server/routes/avatar/room.js @@ -14,7 +14,7 @@ const getRoom = (roomId) => { const room = Rooms.findOneById(roomId, { fields: { t: 1, prid: 1, name: 1, fname: 1 } }); // if it is a discussion, returns the parent room - if (room.prid) { + if (room && room.prid) { return Rooms.findOneById(room.prid, { fields: { t: 1, name: 1, fname: 1 } }); } return room; @@ -24,6 +24,12 @@ export const roomAvatar = Meteor.bindEnvironment(function(req, res/* , next*/) { const roomId = req.url.substr(1); const room = getRoom(roomId); + if (!room) { + res.writeHead(404); + res.end(); + return; + } + const roomName = roomTypes.getConfig(room.t).roomName(room); setCacheAndDispositionHeaders(req, res); From 98da220c695d127b9836c260af60a55cee63794f Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Thu, 12 Mar 2020 18:00:10 -0300 Subject: [PATCH 021/223] [FIX] Integrations page pagination (#16838) --- app/integrations/client/views/integrations.js | 2 +- app/models/server/models/Integrations.js | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/integrations/client/views/integrations.js b/app/integrations/client/views/integrations.js index c568fa9293a5..0506b21e1697 100644 --- a/app/integrations/client/views/integrations.js +++ b/app/integrations/client/views/integrations.js @@ -46,7 +46,7 @@ Template.integrations.onCreated(async function() { this.autorun(async () => { const offset = this.offset.get(); - const { integrations, total } = await APIClient.v1.get(`integrations.list?count=${ ITEMS_COUNT }&offset=${ offset }`); + const { integrations, total } = await APIClient.v1.get(`integrations.list?sort={"type":1}&count=${ ITEMS_COUNT }&offset=${ offset }`); this.total.set(total); this.integrations.set(this.integrations.get().concat(integrations)); }); diff --git a/app/models/server/models/Integrations.js b/app/models/server/models/Integrations.js index 0db8901b9594..ffbf40c1dcce 100644 --- a/app/models/server/models/Integrations.js +++ b/app/models/server/models/Integrations.js @@ -5,6 +5,8 @@ import { Base } from './_Base'; export class Integrations extends Base { constructor() { super('integrations'); + + this.tryEnsureIndex({ type: 1 }); } findByType(type, options) { From fe798d977821ea1b20532cda3e203c9adab01b46 Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Thu, 20 Feb 2020 23:20:51 -0300 Subject: [PATCH 022/223] [IMPROVE] Send files over rest api (#16617) --- app/api/server/v1/rooms.js | 66 +++++++++--------- app/apps/client/admin/appInstall.js | 4 +- app/file-upload/server/lib/FileUpload.js | 2 + app/ui/client/lib/fileUpload.js | 87 +++++++++++++----------- app/utils/client/lib/RestApiClient.js | 28 ++++++-- 5 files changed, 110 insertions(+), 77 deletions(-) diff --git a/app/api/server/v1/rooms.js b/app/api/server/v1/rooms.js index 85924d77d27f..2f8a7df23e02 100644 --- a/app/api/server/v1/rooms.js +++ b/app/api/server/v1/rooms.js @@ -59,38 +59,45 @@ API.v1.addRoute('rooms.get', { authRequired: true }, { }, }); -API.v1.addRoute('rooms.upload/:rid', { authRequired: true }, { - post() { - const room = Meteor.call('canAccessRoom', this.urlParams.rid, this.userId); +const getFiles = Meteor.wrapAsync(({ request }, callback) => { + const busboy = new Busboy({ headers: request.headers }); + const files = []; - if (!room) { - return API.v1.unauthorized(); + const fields = {}; + + + busboy.on('file', (fieldname, file, filename, encoding, mimetype) => { + if (fieldname !== 'file') { + return callback(new Meteor.Error('invalid-field')); } - const busboy = new Busboy({ headers: this.request.headers }); - const files = []; - const fields = {}; + const fileDate = []; + file.on('data', (data) => fileDate.push(data)); - Meteor.wrapAsync((callback) => { - busboy.on('file', (fieldname, file, filename, encoding, mimetype) => { - if (fieldname !== 'file') { - return callback(new Meteor.Error('invalid-field')); - } + file.on('end', () => { + files.push({ fieldname, file, filename, encoding, mimetype, fileBuffer: Buffer.concat(fileDate) }); + }); + }); - const fileDate = []; - file.on('data', (data) => fileDate.push(data)); + busboy.on('field', (fieldname, value) => { fields[fieldname] = value; }); - file.on('end', () => { - files.push({ fieldname, file, filename, encoding, mimetype, fileBuffer: Buffer.concat(fileDate) }); - }); - }); + busboy.on('finish', Meteor.bindEnvironment(() => callback(null, { files, fields }))); - busboy.on('field', (fieldname, value) => { fields[fieldname] = value; }); + request.pipe(busboy); +}); - busboy.on('finish', Meteor.bindEnvironment(() => callback())); +API.v1.addRoute('rooms.upload/:rid', { authRequired: true }, { + post() { + const room = Meteor.call('canAccessRoom', this.urlParams.rid, this.userId); + + if (!room) { + return API.v1.unauthorized(); + } - this.request.pipe(busboy); - })(); + + const { files, fields } = getFiles({ + request: this.request, + }); if (files.length === 0) { return API.v1.failure('File required'); @@ -102,8 +109,6 @@ API.v1.addRoute('rooms.upload/:rid', { authRequired: true }, { const file = files[0]; - const fileStore = FileUpload.getStore('Uploads'); - const details = { name: file.filename, size: file.fileBuffer.length, @@ -112,18 +117,17 @@ API.v1.addRoute('rooms.upload/:rid', { authRequired: true }, { userId: this.userId, }; - let fileData = {}; - - Meteor.runAsUser(this.userId, () => { - const uploadedFile = Meteor.wrapAsync(fileStore.insert.bind(fileStore))(details, file.fileBuffer); + const fileData = Meteor.runAsUser(this.userId, () => { + const fileStore = FileUpload.getStore('Uploads'); + const uploadedFile = fileStore.insertSync(details, file.fileBuffer); uploadedFile.description = fields.description; delete fields.description; - API.v1.success(Meteor.call('sendFileMessage', this.urlParams.rid, null, uploadedFile, fields)); + Meteor.call('sendFileMessage', this.urlParams.rid, null, uploadedFile, fields); - fileData = uploadedFile; + return uploadedFile; }); return API.v1.success({ message: Messages.getMessageByFileIdAndUsername(fileData._id, this.userId) }); diff --git a/app/apps/client/admin/appInstall.js b/app/apps/client/admin/appInstall.js index 1db80c13b11e..031042ff2f04 100644 --- a/app/apps/client/admin/appInstall.js +++ b/app/apps/client/admin/appInstall.js @@ -148,9 +148,9 @@ Template.appInstall.events({ let result; if (isUpdating) { - result = await APIClient.upload(`apps/${ t.isUpdatingId.get() }`, data); + result = await APIClient.upload(`apps/${ t.isUpdatingId.get() }`, data).promise; } else { - result = await APIClient.upload('apps', data); + result = await APIClient.upload('apps', data).promise; } FlowRouter.go(`/admin/apps/${ result.app.id }?version=${ result.app.version }`); diff --git a/app/file-upload/server/lib/FileUpload.js b/app/file-upload/server/lib/FileUpload.js index b5a9c9d36c46..c66fe0276c73 100644 --- a/app/file-upload/server/lib/FileUpload.js +++ b/app/file-upload/server/lib/FileUpload.js @@ -435,6 +435,8 @@ export class FileUploadClass { } FileUpload.handlers[name] = this; + + this.insertSync = Meteor.wrapAsync(this.insert, this); } getStore() { diff --git a/app/ui/client/lib/fileUpload.js b/app/ui/client/lib/fileUpload.js index 42253997a60b..e41ea15116d9 100644 --- a/app/ui/client/lib/fileUpload.js +++ b/app/ui/client/lib/fileUpload.js @@ -1,12 +1,11 @@ -import { Meteor } from 'meteor/meteor'; import { Tracker } from 'meteor/tracker'; import { Session } from 'meteor/session'; import s from 'underscore.string'; import { Handlebars } from 'meteor/ui'; +import { Random } from 'meteor/random'; -import { fileUploadHandler } from '../../../file-upload'; import { settings } from '../../../settings/client'; -import { t, fileUploadIsValidContentType } from '../../../utils'; +import { t, fileUploadIsValidContentType, APIClient } from '../../../utils'; import { modal, prependReplies } from '../../../ui-utils'; @@ -193,7 +192,7 @@ export const fileUpload = async (files, input, { rid, tmid }) => { cancelButtonText: t('Cancel'), html: true, onRendered: () => $('#file-name').focus(), - }, (isConfirm) => { + }, async (isConfirm) => { if (!isConfirm) { return; } @@ -206,52 +205,48 @@ export const fileUpload = async (files, input, { rid, tmid }) => { description: document.getElementById('file-description').value, }; - const upload = fileUploadHandler('Uploads', record, file.file); + const fileName = document.getElementById('file-name').value || file.name || file.file.name; + + const data = new FormData(); + record.description && data.append('description', record.description); + msg && data.append('msg', msg); + tmid && data.append('tmid', tmid); + data.append('file', file.file, fileName); - uploadNextFile(); const uploads = Session.get('uploading') || []; - uploads.push({ - id: upload.id, - name: upload.getFileName(), + + const upload = { + id: Random.id(), + name: fileName, percentage: 0, - }); + }; + + uploads.push(upload); Session.set('uploading', uploads); - upload.onProgress = (progress) => { - const uploads = Session.get('uploading') || []; - uploads.filter((u) => u.id === upload.id).forEach((u) => { - u.percentage = Math.round(progress * 100) || 0; - }); - Session.set('uploading', uploads); - }; + uploadNextFile(); - upload.start((error, file, storage) => { - if (error) { + const { xhr, promise } = APIClient.upload(`v1/rooms.upload/${ rid }`, {}, data, { + progress(progress) { + const uploads = Session.get('uploading') || []; + + if (progress === 100) { + return; + } + uploads.filter((u) => u.id === upload.id).forEach((u) => { + u.percentage = Math.round(progress) || 0; + }); + Session.set('uploading', uploads); + }, + error(error) { const uploads = Session.get('uploading') || []; uploads.filter((u) => u.id === upload.id).forEach((u) => { u.error = error.message; u.percentage = 0; }); Session.set('uploading', uploads); - - return; - } - - if (!file) { - return; - } - - Meteor.call('sendFileMessage', rid, storage, file, { msg, tmid }, () => { - $(input) - .removeData('reply') - .trigger('dataChange'); - - setTimeout(() => { - const uploads = Session.get('uploading') || []; - Session.set('uploading', uploads.filter((u) => u.id !== upload.id)); - }, 2000); - }); + }, }); Tracker.autorun((computation) => { @@ -259,13 +254,27 @@ export const fileUpload = async (files, input, { rid, tmid }) => { if (!isCanceling) { return; } - computation.stop(); - upload.stop(); + Session.delete(`uploading-cancel-${ upload.id }`); + + xhr.abort(); const uploads = Session.get('uploading') || {}; Session.set('uploading', uploads.filter((u) => u.id !== upload.id)); }); + + try { + await promise; + const uploads = Session.get('uploading') || []; + return Session.set('uploading', uploads.filter((u) => u.id !== upload.id)); + } catch (error) { + const uploads = Session.get('uploading') || []; + uploads.filter((u) => u.id === upload.id).forEach((u) => { + u.error = error.message; + u.percentage = 0; + }); + Session.set('uploading', uploads); + } })); }; diff --git a/app/utils/client/lib/RestApiClient.js b/app/utils/client/lib/RestApiClient.js index 594927ebca19..6b927743cac4 100644 --- a/app/utils/client/lib/RestApiClient.js +++ b/app/utils/client/lib/RestApiClient.js @@ -21,13 +21,13 @@ export const APIClient = { return APIClient._jqueryCall('POST', endpoint, params, body); }, - upload(endpoint, params, formData) { + upload(endpoint, params, formData, xhrOptions) { if (!formData) { formData = params; params = {}; } - return APIClient._jqueryFormDataCall(endpoint, params, formData); + return APIClient._jqueryFormDataCall(endpoint, params, formData, xhrOptions); }, _generateQueryFromParams(params) { @@ -68,15 +68,31 @@ export const APIClient = { }); }, - _jqueryFormDataCall(endpoint, params, formData) { + _jqueryFormDataCall(endpoint, params, formData, { progress = () => {}, error = () => {} } = {}) { + const ret = { }; + const query = APIClient._generateQueryFromParams(params); if (!(formData instanceof FormData)) { throw new Error('The formData parameter MUST be an instance of the FormData class.'); } - return new Promise(function _jqueryFormDataPromise(resolve, reject) { - jQuery.ajax({ + ret.promise = new Promise(function _jqueryFormDataPromise(resolve, reject) { + ret.xhr = jQuery.ajax({ + xhr() { + const xhr = new window.XMLHttpRequest(); + + xhr.upload.addEventListener('progress', function(evt) { + if (evt.lengthComputable) { + const percentComplete = evt.loaded / evt.total; + progress(percentComplete * 100); + } + }, false); + + xhr.upload.addEventListener('error', error, false); + + return xhr; + }, url: `${ baseURI }api/${ endpoint }${ query }`, headers: { 'X-User-Id': Meteor._localStorage.getItem(Accounts.USER_ID_KEY), @@ -96,6 +112,8 @@ export const APIClient = { }, }); }); + + return ret; }, v1: { From 2ecf7f395a264dfa0513791a0d8683682f48a00b Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Mon, 16 Mar 2020 16:04:03 -0300 Subject: [PATCH 023/223] Bump version to 3.0.4 --- .docker/Dockerfile.rhel | 2 +- .github/history.json | 41 ++++++++++++++++++++++++++++++++++++++- HISTORY.md | 30 +++++++++++++++++++++++----- app/utils/rocketchat.info | 2 +- package.json | 2 +- 5 files changed, 68 insertions(+), 9 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index 3edc448beeaa..d43a140a37d2 100644 --- a/.docker/Dockerfile.rhel +++ b/.docker/Dockerfile.rhel @@ -1,6 +1,6 @@ FROM registry.access.redhat.com/rhscl/nodejs-8-rhel7 -ENV RC_VERSION 3.0.3 +ENV RC_VERSION 3.0.4 MAINTAINER buildmaster@rocket.chat diff --git a/.github/history.json b/.github/history.json index 44a7272e4ba8..8d6cdcf14c98 100644 --- a/.github/history.json +++ b/.github/history.json @@ -39959,6 +39959,45 @@ ] } ] + }, + "3.0.4": { + "node_version": "12.14.0", + "npm_version": "6.13.4", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "16617", + "title": "[IMPROVE] Send files over REST API", + "userLogin": "ggazzo", + "milestone": "3.1.0", + "contributors": [ + "ggazzo", + "web-flow", + "sampaiodiego" + ] + }, + { + "pr": "16838", + "title": "[FIX] Integrations page pagination", + "userLogin": "sampaiodiego", + "milestone": "3.1.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "16699", + "title": "[FIX] TypeError when trying to load avatar of an invalid room.", + "userLogin": "pierre-lehnen-rc", + "contributors": [ + "pierre-lehnen-rc" + ] + } + ] } } -} +} \ No newline at end of file diff --git a/HISTORY.md b/HISTORY.md index 40f27d6c39d5..291cd60288a4 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,4 +1,27 @@ +# 3.0.4 +`2020-03-16 ยท 1 ๐Ÿš€ ยท 2 ๐Ÿ› ยท 3 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` + +### Engine versions +- Node: `12.14.0` +- NPM: `6.13.4` +- MongoDB: `3.4, 3.6, 4.0` + +### ๐Ÿš€ Improvements + +- Send files over REST API ([#16617](https://github.com/RocketChat/Rocket.Chat/pull/16617)) + +### ๐Ÿ› Bug fixes + +- Integrations page pagination ([#16838](https://github.com/RocketChat/Rocket.Chat/pull/16838)) +- TypeError when trying to load avatar of an invalid room. ([#16699](https://github.com/RocketChat/Rocket.Chat/pull/16699)) + +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@ggazzo](https://github.com/ggazzo) +- [@pierre-lehnen-rc](https://github.com/pierre-lehnen-rc) +- [@sampaiodiego](https://github.com/sampaiodiego) + # 3.0.3 `2020-03-02 ยท 5 ๐Ÿ› ยท 5 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` @@ -24,7 +47,7 @@ - [@rodrigok](https://github.com/rodrigok) # 3.0.2 -`2020-02-21 ยท 4 ๐Ÿ› ยท 5 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2020-02-21 ยท 3 ๐Ÿ› ยท 3 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `12.14.0` @@ -35,16 +58,13 @@ - ie11 support ([#16682](https://github.com/RocketChat/Rocket.Chat/pull/16682)) - Omnichannel Inquiry queues when removing chats ([#16603](https://github.com/RocketChat/Rocket.Chat/pull/16603)) -- users.info endpoint not handling the error if the user does not exist ([#16495](https://github.com/RocketChat/Rocket.Chat/pull/16495)) - Clear unread red line when the ESC key is pressed ([#16668](https://github.com/RocketChat/Rocket.Chat/pull/16668)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ -- [@MarcosSpessatto](https://github.com/MarcosSpessatto) - [@gabriellsh](https://github.com/gabriellsh) - [@ggazzo](https://github.com/ggazzo) - [@renatobecker](https://github.com/renatobecker) -- [@sampaiodiego](https://github.com/sampaiodiego) # 3.0.1 `2020-02-19 ยท 7 ๐Ÿ› ยท 4 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` @@ -6673,4 +6693,4 @@ - [@graywolf336](https://github.com/graywolf336) - [@marceloschmidt](https://github.com/marceloschmidt) - [@rodrigok](https://github.com/rodrigok) -- [@sampaiodiego](https://github.com/sampaiodiego) +- [@sampaiodiego](https://github.com/sampaiodiego) \ No newline at end of file diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index ad3aeee82e4b..9b6d281d5f25 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.0.3" + "version": "3.0.4" } diff --git a/package.json b/package.json index b63dbf35dc2f..aafcf6c41fec 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Rocket.Chat", "description": "The Ultimate Open Source WebChat Platform", - "version": "3.0.3", + "version": "3.0.4", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From bedc7ee332fecf731d7bc82be77e7acfe3b2017a Mon Sep 17 00:00:00 2001 From: Renato Becker Date: Thu, 19 Mar 2020 14:06:13 -0300 Subject: [PATCH 024/223] Fix realtime data rendering on Omnichannel info panel. (#16783) --- .../client/views/app/tabbar/visitorInfo.js | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/app/livechat/client/views/app/tabbar/visitorInfo.js b/app/livechat/client/views/app/tabbar/visitorInfo.js index 39275ffebab3..08b59ea10c04 100644 --- a/app/livechat/client/views/app/tabbar/visitorInfo.js +++ b/app/livechat/client/views/app/tabbar/visitorInfo.js @@ -311,8 +311,18 @@ Template.visitorInfo.onCreated(function() { this.department = new ReactiveVar({}); this.room = new ReactiveVar({}); + this.updateVisitor = async (visitorId) => { + const { visitor } = await APIClient.v1.get(`livechat/visitors.info?visitorId=${ visitorId }`); + this.user.set(visitor); + }; + this.updateRoom = (room) => { + this.departmentId.set(room && room.departmentId); + this.tags.set(room && room.tags); this.room.set(room); + const visitorId = room && room.v && room.v._id; + this.visitorId.set(visitorId); + this.updateVisitor(visitorId); }; Meteor.call('livechat:getCustomFields', (err, customFields) => { @@ -330,10 +340,7 @@ Template.visitorInfo.onCreated(function() { const loadRoomData = async (rid) => { const { room } = await APIClient.v1.get(`rooms.info?roomId=${ rid }`); - this.visitorId.set(room && room.v && room.v._id); - this.departmentId.set(room && room.departmentId); - this.tags.set(room && room.tags); - this.room.set(room); + this.updateRoom(room); }; if (rid) { @@ -348,11 +355,10 @@ Template.visitorInfo.onCreated(function() { } }); - this.autorun(async () => { + this.autorun(() => { const visitorId = this.visitorId.get(); if (visitorId) { - const { visitor } = await APIClient.v1.get(`livechat/visitors.info?visitorId=${ visitorId }`); - this.user.set(visitor); + this.updateVisitor(visitorId); } }); }); From dab72da6fef050bc57ff73e700d20142e11c6172 Mon Sep 17 00:00:00 2001 From: Renato Becker Date: Thu, 19 Mar 2020 14:09:50 -0300 Subject: [PATCH 025/223] [FIX] Keeps the agent in the room after accepting a new Omnichannel request (#16787) --- app/livechat/client/views/app/livechatReadOnly.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/livechat/client/views/app/livechatReadOnly.js b/app/livechat/client/views/app/livechatReadOnly.js index da599cb65cb0..9ea5baf1b9c5 100644 --- a/app/livechat/client/views/app/livechatReadOnly.js +++ b/app/livechat/client/views/app/livechatReadOnly.js @@ -12,7 +12,7 @@ import { inquiryDataStream } from '../../lib/stream/inquiry'; Template.livechatReadOnly.helpers({ inquiryOpen() { const inquiry = Template.instance().inquiry.get(); - return (inquiry && inquiry.status === 'queued') || FlowRouter.go('/home'); + return inquiry && inquiry.status === 'queued'; }, roomOpen() { @@ -49,8 +49,11 @@ Template.livechatReadOnly.onCreated(function() { this.routingConfig = new ReactiveVar({}); this.preparing = new ReactiveVar(true); - this.updateInquiry = (inquiry) => { + this.updateInquiry = async (inquiry) => { this.inquiry.set(inquiry); + if (!await call('canAccessRoom', inquiry.rid, Meteor.userId())) { + FlowRouter.go('/home'); + } }; Meteor.call('livechat:getRoutingConfig', (err, config) => { From 5dd8a7ef6c86bffd41d306c3d91cabb22d4430bb Mon Sep 17 00:00:00 2001 From: Renato Becker Date: Thu, 19 Mar 2020 14:15:44 -0300 Subject: [PATCH 026/223] [FIX] Omnichannel Inquiry names not being updated when the guest name changes (#16782) --- app/livechat/server/lib/Livechat.js | 8 +++++++- app/models/server/models/LivechatInquiry.js | 11 +++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/livechat/server/lib/Livechat.js b/app/livechat/server/lib/Livechat.js index 9853dcb5a28f..36ee6fc697c0 100644 --- a/app/livechat/server/lib/Livechat.js +++ b/app/livechat/server/lib/Livechat.js @@ -480,7 +480,13 @@ export const Livechat = { }); if (!_.isEmpty(guestData.name)) { - return Rooms.setFnameById(roomData._id, guestData.name) && Subscriptions.updateDisplayNameByRoomId(roomData._id, guestData.name); + const { _id: rid } = roomData; + const { name } = guestData; + return Rooms.setFnameById(rid, name) + && LivechatInquiry.setNameByRoomId(rid, name) + // This one needs to be the last since the agent may not have the subscription + // when the conversation is in the queue, then the result will be 0(zero) + && Subscriptions.updateDisplayNameByRoomId(rid, name); } }, diff --git a/app/models/server/models/LivechatInquiry.js b/app/models/server/models/LivechatInquiry.js index ccf54c445231..1895a2547b28 100644 --- a/app/models/server/models/LivechatInquiry.js +++ b/app/models/server/models/LivechatInquiry.js @@ -102,6 +102,17 @@ export class LivechatInquiry extends Base { return this.update(query, update); } + setNameByRoomId(rid, name) { + const query = { rid }; + + const update = { + $set: { + name, + }, + }; + return this.update(query, update); + } + findOneByToken(token) { const query = { 'v.token': token, From 93d10147599ea8ca4bc80c73f1564d990b53031e Mon Sep 17 00:00:00 2001 From: Renato Becker Date: Thu, 19 Mar 2020 14:27:52 -0300 Subject: [PATCH 027/223] [NEW] Add new Omnichannel department forwarding callback (#16779) --- app/livechat/server/lib/Helper.js | 17 ++++++++++++++--- app/livechat/server/lib/RoutingManager.js | 8 ++++++-- packages/rocketchat-i18n/i18n/en.i18n.json | 1 + packages/rocketchat-i18n/i18n/pt-BR.i18n.json | 1 + 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/app/livechat/server/lib/Helper.js b/app/livechat/server/lib/Helper.js index b8cf56a241e7..5853f1d24456 100644 --- a/app/livechat/server/lib/Helper.js +++ b/app/livechat/server/lib/Helper.js @@ -213,12 +213,19 @@ export const forwardRoomToAgent = async (room, transferData) => { return true; }; +export const updateChatDepartment = ({ rid, newDepartmentId, oldDepartmentId }) => { + LivechatRooms.changeDepartmentIdByRoomId(rid, newDepartmentId); + LivechatInquiry.changeDepartmentIdByRoomId(rid, newDepartmentId); + + return callbacks.run('livechat.afterForwardChatToDepartment', { rid, newDepartmentId, oldDepartmentId }); +}; + export const forwardRoomToDepartment = async (room, guest, transferData) => { if (!room || !room.open) { return false; } - const { _id: rid, servedBy: oldServedBy } = room; + const { _id: rid, servedBy: oldServedBy, departmentId: oldDepartmentId } = room; const inquiry = LivechatInquiry.findOneByRoomId(rid); if (!inquiry) { @@ -226,6 +233,11 @@ export const forwardRoomToDepartment = async (room, guest, transferData) => { } const { departmentId } = transferData; + + if (oldDepartmentId === departmentId) { + throw new Meteor.Error('error-forwarding-chat-same-department', 'The selected department and the current room department are the same', { function: 'forwardRoomToDepartment' }); + } + if (!RoutingManager.getConfig().autoAssignAgent) { Livechat.saveTransferHistory(room, transferData); return RoutingManager.unassignAgent(inquiry, departmentId); @@ -252,8 +264,7 @@ export const forwardRoomToDepartment = async (room, guest, transferData) => { Messages.createUserJoinWithRoomIdAndUser(rid, servedBy); } - LivechatRooms.changeDepartmentIdByRoomId(rid, departmentId); - LivechatInquiry.changeDepartmentIdByRoomId(rid, departmentId); + updateChatDepartment({ rid, departmentId, oldDepartmentId }); const { token } = guest; Livechat.setDepartmentForGuest({ token, department: departmentId }); diff --git a/app/livechat/server/lib/RoutingManager.js b/app/livechat/server/lib/RoutingManager.js index 9352a1de9ba6..3b65ba14ceaa 100644 --- a/app/livechat/server/lib/RoutingManager.js +++ b/app/livechat/server/lib/RoutingManager.js @@ -7,6 +7,7 @@ import { createLivechatSubscription, forwardRoomToAgent, forwardRoomToDepartment, removeAgentFromSubscription, + updateChatDepartment, } from './Helper'; import { callbacks } from '../../../callbacks/server'; import { LivechatRooms, Rooms, Messages, Users, LivechatInquiry } from '../../../models/server'; @@ -87,8 +88,11 @@ export const RoutingManager = { } if (departmentId && departmentId !== department) { - LivechatRooms.changeDepartmentIdByRoomId(rid, departmentId); - LivechatInquiry.changeDepartmentIdByRoomId(rid, departmentId); + updateChatDepartment({ + rid, + newDepartmentId: departmentId, + oldDepartmentId: department, + }); // Fake the department to delegate the inquiry; inquiry.department = departmentId; } diff --git a/packages/rocketchat-i18n/i18n/en.i18n.json b/packages/rocketchat-i18n/i18n/en.i18n.json index aa7a476aed71..603253539bd4 100644 --- a/packages/rocketchat-i18n/i18n/en.i18n.json +++ b/packages/rocketchat-i18n/i18n/en.i18n.json @@ -1305,6 +1305,7 @@ "error-email-send-failed": "Error trying to send email: __message__", "error-field-unavailable": "__field__ is already in use :(", "error-file-too-large": "File is too large", + "error-forwarding-chat-same-department": "The selected department and the current room department are the same", "error-importer-not-defined": "The importer was not defined correctly, it is missing the Import class.", "error-import-file-extract-error": "Failed to extract import file.", "error-import-file-is-empty": "Imported file seems to be empty.", diff --git a/packages/rocketchat-i18n/i18n/pt-BR.i18n.json b/packages/rocketchat-i18n/i18n/pt-BR.i18n.json index c95d3a7d09ae..dd10552a41b0 100644 --- a/packages/rocketchat-i18n/i18n/pt-BR.i18n.json +++ b/packages/rocketchat-i18n/i18n/pt-BR.i18n.json @@ -1212,6 +1212,7 @@ "error-email-send-failed": "Erro ao tentar enviar e-mail: __message__", "error-field-unavailable": "__field__ jรก estรก sendo usado :(", "error-file-too-large": "Arquivo รฉ muito grande", + "error-forwarding-chat-same-department": "O departamento selecionado e o departamento atual da sala sรฃo iguais", "error-importer-not-defined": "O importador nรฃo foi definido corretamente; estรก faltando a classe Import.", "error-import-file-extract-error": "Falha ao extrair o arquivo importado.", "error-import-file-is-empty": "Arquivo importado parece estar vazio.", From 3813aefc8ac26d2b9f0c8309f96bc9b5315787ec Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Thu, 19 Mar 2020 15:44:40 -0300 Subject: [PATCH 028/223] [NEW] Two Factor authentication via email (#15949) --- .eslintrc | 23 +- app/2fa/client/TOTPPassword.js | 42 +- app/2fa/client/accountSecurity.html | 74 ++-- app/2fa/client/accountSecurity.js | 28 +- app/2fa/client/callWithTwoFactorRequired.js | 91 +++++ app/2fa/client/index.js | 1 + app/2fa/server/MethodInvocationOverride.js | 17 + app/2fa/server/code/EmailCheck.ts | 138 +++++++ app/2fa/server/code/ICodeCheck.ts | 17 + app/2fa/server/code/PasswordCheckFallback.ts | 38 ++ app/2fa/server/code/TOTPCheck.ts | 36 ++ app/2fa/server/code/index.ts | 156 ++++++++ app/2fa/server/index.js | 1 + app/2fa/server/loginHandler.js | 25 +- app/2fa/server/startup/settings.js | 29 +- app/2fa/server/twoFactorRequired.ts | 36 ++ app/api/server/api.js | 36 +- app/api/server/v1/users.js | 49 ++- app/blockstack/server/userHandler.js | 4 +- app/cas/server/cas_server.js | 5 +- app/crowd/server/crowd.js | 2 +- app/ldap/server/sync.js | 6 +- app/lib/client/lib/index.js | 4 +- app/lib/server/methods/insertOrUpdateUser.js | 5 +- app/lib/server/startup/settings.js | 3 + .../server/saml_server.js | 5 +- app/models/server/models/Users.js | 72 ++++ app/settings/server/functions/settings.d.ts | 3 + app/ui-utils/client/lib/modal.html | 3 + app/ui-utils/client/lib/modal.js | 4 + app/utils/client/lib/RestApiClient.js | 38 +- app/utils/client/lib/handleError.js | 7 + .../server/functions/getDefaultUserFields.js | 1 + .../setupWizard/steps/SettingsBasedStep.js | 18 +- definition/IMethodThisType.ts | 16 + definition/IMethodType.ts | 5 + definition/IUser.ts | 100 +++++ .../client/personalAccessTokens.html | 19 +- .../client/personalAccessTokens.js | 15 +- .../server/api/methods/generateToken.js | 6 +- .../server/api/methods/regenerateToken.js | 7 +- .../server/api/methods/removeToken.js | 5 +- package-lock.json | 361 +++++++----------- package.json | 6 +- packages/rocketchat-i18n/i18n/en.i18n.json | 32 +- packages/rocketchat-i18n/i18n/pt-BR.i18n.json | 32 +- packages/rocketchat-i18n/i18n/pt.i18n.json | 2 + server/configuration/accounts_meld.js | 3 +- server/lib/accounts.js | 12 +- server/main.d.ts | 40 ++ server/methods/saveUserProfile.js | 5 +- server/startup/initialData.js | 4 +- server/startup/migrations/index.js | 1 + server/startup/migrations/v172.js | 1 - server/startup/migrations/v177.js | 16 + 55 files changed, 1341 insertions(+), 364 deletions(-) create mode 100644 app/2fa/client/callWithTwoFactorRequired.js create mode 100644 app/2fa/server/MethodInvocationOverride.js create mode 100644 app/2fa/server/code/EmailCheck.ts create mode 100644 app/2fa/server/code/ICodeCheck.ts create mode 100644 app/2fa/server/code/PasswordCheckFallback.ts create mode 100644 app/2fa/server/code/TOTPCheck.ts create mode 100644 app/2fa/server/code/index.ts create mode 100644 app/2fa/server/twoFactorRequired.ts create mode 100644 app/settings/server/functions/settings.d.ts create mode 100644 definition/IMethodThisType.ts create mode 100644 definition/IMethodType.ts create mode 100644 definition/IUser.ts create mode 100644 server/main.d.ts create mode 100644 server/startup/migrations/v177.js diff --git a/.eslintrc b/.eslintrc index 46805bc5b654..efef5b7d68d8 100644 --- a/.eslintrc +++ b/.eslintrc @@ -24,12 +24,21 @@ "react/jsx-fragments": [ "error", "syntax" - ], + ] }, "settings": { - "react": { - "version": "detect", + "import/resolver": { + "node": { + "extensions": [ + ".js", + ".ts", + ".tsx" + ] + } }, + "react": { + "version": "detect" + } }, "overrides": [ { @@ -38,9 +47,9 @@ "**/*.tsx" ], "extends": [ - "@rocket.chat/eslint-config", "plugin:@typescript-eslint/recommended", - "plugin:@typescript-eslint/eslint-recommended" + "plugin:@typescript-eslint/eslint-recommended", + "@rocket.chat/eslint-config" ], "globals": { "Atomics": "readonly", @@ -73,6 +82,10 @@ "syntax" ], "@typescript-eslint/ban-ts-ignore": "off", + "@typescript-eslint/indent": [ + "error", + "tab" + ], "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/interface-name-prefix": [ "error", diff --git a/app/2fa/client/TOTPPassword.js b/app/2fa/client/TOTPPassword.js index 7a26863faadf..cf10bc405816 100644 --- a/app/2fa/client/TOTPPassword.js +++ b/app/2fa/client/TOTPPassword.js @@ -2,8 +2,8 @@ import { Meteor } from 'meteor/meteor'; import { Accounts } from 'meteor/accounts-base'; import toastr from 'toastr'; -import { modal } from '../../ui-utils'; import { t } from '../../utils'; +import { process2faReturn } from './callWithTwoFactorRequired'; function reportError(error, callback) { if (callback) { @@ -46,32 +46,20 @@ const { loginWithPassword } = Meteor; Meteor.loginWithPassword = function(email, password, cb) { loginWithPassword(email, password, (error) => { - if (!error || error.error !== 'totp-required') { - return cb(error); - } - - modal.open({ - title: t('Two-factor_authentication'), - text: t('Open_your_authentication_app_and_enter_the_code'), - type: 'input', - inputType: 'text', - showCancelButton: true, - closeOnConfirm: true, - confirmButtonText: t('Verify'), - cancelButtonText: t('Cancel'), - }, (code) => { - if (code === false) { - return cb(); - } - - Meteor.loginWithPasswordAndTOTP(email, password, code, (error) => { - if (error && error.error === 'totp-invalid') { - toastr.error(t('Invalid_two_factor_code')); - cb(); - } else { - cb(error); - } - }); + process2faReturn({ + error, + originalCallback: cb, + emailOrUsername: email, + onCode: (code) => { + Meteor.loginWithPasswordAndTOTP(email, password, code, (error) => { + if (error && error.error === 'totp-invalid') { + toastr.error(t('Invalid_two_factor_code')); + cb(); + } else { + cb(error); + } + }); + }, }); }); }; diff --git a/app/2fa/client/accountSecurity.html b/app/2fa/client/accountSecurity.html index c6d20854f8e9..87e42c658954 100644 --- a/app/2fa/client/accountSecurity.html +++ b/app/2fa/client/accountSecurity.html @@ -4,42 +4,56 @@
{{# if isAllowed}} -
-

{{_ "Two-factor_authentication"}}

-
- {{#if isEnabled}} - - {{else}} - {{#unless isRegistering}} -

{{_ "Two-factor_authentication_is_currently_disabled"}}

+
+

{{_ "Two-factor_authentication"}}

+
+ {{#if isEnabled}} + + {{else}} + {{#unless isRegistering}} +

{{_ "Two-factor_authentication_is_currently_disabled"}}

- - {{else}} -

{{_ "Scan_QR_code"}}

-

{{_ "Scan_QR_code_alternative_s" code=imageSecret}}

+ + {{else}} +

{{_ "Scan_QR_code"}}

+

{{_ "Scan_QR_code_alternative_s" code=imageSecret}}

- + - -
- - -
- - {{/unless}} - {{/if}} +
+
+ + +
+
+ {{/unless}} + {{/if}} +
-
- {{#if isEnabled}} -
-

{{_ "Backup_codes"}}

-
-

{{codesRemaining}}

- + {{#if isEnabled}} +
+

{{_ "Backup_codes"}}

+
+

{{codesRemaining}}

+ +
+
+ {{/if}} + +
+

{{_ "Two-factor_authentication_email"}}

+
+ {{#if isEmailEnabled}} + + {{else}} +

{{_ "Two-factor_authentication_email_is_currently_disabled"}}

+ + + {{/if}} +
-
- {{/if}} + {{/if}}
diff --git a/app/2fa/client/accountSecurity.js b/app/2fa/client/accountSecurity.js index 005f29c13df4..38d975e82328 100644 --- a/app/2fa/client/accountSecurity.js +++ b/app/2fa/client/accountSecurity.js @@ -5,7 +5,7 @@ import toastr from 'toastr'; import { modal } from '../../ui-utils'; import { settings } from '../../settings'; -import { t } from '../../utils'; +import { t, handleError, APIClient } from '../../utils/client'; Template.accountSecurity.helpers({ showImage() { @@ -32,6 +32,10 @@ Template.accountSecurity.helpers({ return t('You_have_n_codes_remaining', { number: Template.instance().codesRemaining.get() }); } }, + isEmailEnabled() { + const user = Meteor.user(); + return user && user.services && user.services.email2fa && user.services.email2fa.enabled; + }, }); Template.accountSecurity.events({ @@ -82,6 +86,28 @@ Template.accountSecurity.events({ }); }, + async 'click .enable-2fa-email'(event) { + event.preventDefault(); + + try { + await APIClient.v1.post('users.2fa.enableEmail'); + toastr.success(t('Two-factor_authentication_enabled')); + } catch (error) { + handleError(error); + } + }, + + async 'click .disable-2fa-email'(event) { + event.preventDefault(); + + try { + await APIClient.v1.post('users.2fa.disableEmail'); + toastr.success(t('Two-factor_authentication_disabled')); + } catch (error) { + handleError(error); + } + }, + 'click .verify-code'(event, instance) { event.preventDefault(); diff --git a/app/2fa/client/callWithTwoFactorRequired.js b/app/2fa/client/callWithTwoFactorRequired.js new file mode 100644 index 000000000000..a7bc16514f1b --- /dev/null +++ b/app/2fa/client/callWithTwoFactorRequired.js @@ -0,0 +1,91 @@ +import { Meteor } from 'meteor/meteor'; +import { SHA256 } from 'meteor/sha'; +import toastr from 'toastr'; + +import { modal } from '../../ui-utils/client'; +import { t, APIClient } from '../../utils/client'; + +const methods = { + totp: { + text: 'Open_your_authentication_app_and_enter_the_code', + }, + email: { + text: 'Verify_your_email_for_the_code_we_sent', + html: true, + }, + password: { + title: 'Please_enter_your_password', + text: 'For_your_security_you_must_enter_your_current_password_to_continue', + inputType: 'password', + }, +}; + +export function process2faReturn({ error, result, originalCallback, onCode, emailOrUsername }) { + if (!error || (error.error !== 'totp-required' && error.errorType !== 'totp-required')) { + return originalCallback(error, result); + } + + const method = error.details && error.details.method; + + if (!emailOrUsername && Meteor.user()) { + emailOrUsername = Meteor.user().username; + } + + modal.open({ + title: t(methods[method].title || 'Two Factor Authentication'), + text: t(methods[method].text), + html: methods[method].html, + type: 'input', + inputActionText: method === 'email' && t('Send_me_the_code_again'), + async inputAction(e) { + const { value } = e.currentTarget; + e.currentTarget.value = t('Sending'); + + await APIClient.v1.post('users.2fa.sendEmailCode', { emailOrUsername }); + + e.currentTarget.value = value; + }, + inputType: methods[method].inputType || 'text', + showCancelButton: true, + closeOnConfirm: true, + confirmButtonText: t('Verify'), + cancelButtonText: t('Cancel'), + }, (code) => { + if (code === false) { + return originalCallback(new Meteor.Error('totp-canceled')); + } + + if (method === 'password') { + code = SHA256(code); + } + onCode(code, method); + }); +} + +const { call } = Meteor; +Meteor.call = function(ddpMethod, ...args) { + let callback = args.pop(); + if (typeof callback !== 'function') { + args.push(callback); + callback = () => {}; + } + + return call(ddpMethod, ...args, function(error, result) { + process2faReturn({ + error, + result, + originalCallback: callback, + onCode: (code, method) => { + call(ddpMethod, ...args, { twoFactorCode: code, twoFactorMethod: method }, (error, result) => { + if (error && error.error === 'totp-invalid') { + error.toastrShowed = true; + toastr.error(t('Invalid_two_factor_code')); + return callback(error); + } + + callback(error, result); + }); + }, + }); + }); +}; diff --git a/app/2fa/client/index.js b/app/2fa/client/index.js index c5b1485a073b..cc18071f0238 100644 --- a/app/2fa/client/index.js +++ b/app/2fa/client/index.js @@ -1,3 +1,4 @@ import './accountSecurity.html'; import './accountSecurity'; +import './callWithTwoFactorRequired'; import './TOTPPassword'; diff --git a/app/2fa/server/MethodInvocationOverride.js b/app/2fa/server/MethodInvocationOverride.js new file mode 100644 index 000000000000..19b37e041fd1 --- /dev/null +++ b/app/2fa/server/MethodInvocationOverride.js @@ -0,0 +1,17 @@ +import { DDPCommon } from 'meteor/ddp-common'; +import { DDP } from 'meteor/ddp'; + +class MethodInvocation extends DDPCommon.MethodInvocation { + constructor(options) { + const result = super(options); + const currentInvocation = DDP._CurrentInvocation.get(); + + if (currentInvocation) { + this.twoFactorChecked = currentInvocation.twoFactorChecked; + } + + return result; + } +} + +DDPCommon.MethodInvocation = MethodInvocation; diff --git a/app/2fa/server/code/EmailCheck.ts b/app/2fa/server/code/EmailCheck.ts new file mode 100644 index 000000000000..1199c22397b1 --- /dev/null +++ b/app/2fa/server/code/EmailCheck.ts @@ -0,0 +1,138 @@ +import { Random } from 'meteor/random'; +import { TAPi18n } from 'meteor/rocketchat:tap-i18n'; +import { Accounts } from 'meteor/accounts-base'; +import bcrypt from 'bcrypt'; + +import { settings } from '../../../settings/server'; +import * as Mailer from '../../../mailer'; +import { Users } from '../../../models/server'; +import { ICodeCheck, IProcessInvalidCodeResult } from './ICodeCheck'; +import { IUser } from '../../../../definition/IUser'; + +export class EmailCheck implements ICodeCheck { + public readonly name = 'email'; + + private getUserVerifiedEmails(user: IUser): string[] { + if (!Array.isArray(user.emails)) { + return []; + } + return user.emails.filter(({ verified }) => verified).map((e) => e.address); + } + + public isEnabled(user: IUser): boolean { + if (!settings.get('Accounts_TwoFactorAuthentication_By_Email_Enabled')) { + return false; + } + + if (!user.services?.email2fa?.enabled) { + return false; + } + + return this.getUserVerifiedEmails(user).length > 0; + } + + private send2FAEmail(address: string, random: string, user: IUser): void { + const language = user.language || settings.get('Language') || 'en'; + + const t = (s: string): string => TAPi18n.__(s, { lng: language }); + + Mailer.send({ + to: address, + from: settings.get('From_Email'), + subject: 'Authentication code', + replyTo: undefined, + data: { + code: random.replace(/^(\d{3})/, '$1-'), + }, + headers: undefined, + text: ` +${ t('Here_is_your_authentication_code') } + +__code__ + +${ t('Do_not_provide_this_code_to_anyone') } +${ t('If_you_didnt_try_to_login_in_your_account_please_ignore_this_email') } +`, + html: ` +

${ t('Here_is_your_authentication_code') }

+

+ __code__ +

+

${ t('Do_not_provide_this_code_to_anyone') }

+

${ t('If_you_didnt_try_to_login_in_your_account_please_ignore_this_email') }

+ `, + }); + } + + public verify(user: IUser, codeFromEmail: string): boolean { + if (!this.isEnabled(user)) { + return false; + } + + if (!user.services || !Array.isArray(user.services?.emailCode)) { + return false; + } + + // Remove non digits + codeFromEmail = codeFromEmail.replace(/([^\d])/g, ''); + + Users.removeExpiredEmailCodesOfUserId(user._id); + + const valid = user.services.emailCode.find(({ code, expire }) => { + if (expire < new Date()) { + return false; + } + + if (bcrypt.compareSync(codeFromEmail, code)) { + Users.removeEmailCodeByUserIdAndCode(user._id, code); + return true; + } + + return false; + }); + + return !!valid; + } + + public sendEmailCode(user: IUser): string[] { + const emails = this.getUserVerifiedEmails(user); + const random = Random._randomString(6, '0123456789'); + const encryptedRandom = bcrypt.hashSync(random, Accounts._bcryptRounds()); + const expire = new Date(); + const expirationInSeconds = parseInt(settings.get('Accounts_TwoFactorAuthentication_By_Email_Code_Expiration')); + + expire.setSeconds(expire.getSeconds() + expirationInSeconds); + + Users.addEmailCodeByUserId(user._id, encryptedRandom, expire); + + for (const address of emails) { + this.send2FAEmail(address, random, user); + } + + return emails; + } + + public processInvalidCode(user: IUser): IProcessInvalidCodeResult { + Users.removeExpiredEmailCodesOfUserId(user._id); + + // Generate new code if the there isn't any code with more than 5 minutes to expire + const expireWithDelta = new Date(); + expireWithDelta.setMinutes(expireWithDelta.getMinutes() - 5); + + const hasValidCode = user.services?.emailCode?.filter(({ expire }) => expire > expireWithDelta); + + if (hasValidCode?.length) { + return { + codeGenerated: false, + codeCount: hasValidCode.length, + codeExpires: hasValidCode.map((i) => i.expire), + }; + } + + this.sendEmailCode(user); + + return { + codeGenerated: true, + }; + } +} diff --git a/app/2fa/server/code/ICodeCheck.ts b/app/2fa/server/code/ICodeCheck.ts new file mode 100644 index 000000000000..3c8f6a896fc3 --- /dev/null +++ b/app/2fa/server/code/ICodeCheck.ts @@ -0,0 +1,17 @@ +import { IUser } from '../../../../definition/IUser'; + +export interface IProcessInvalidCodeResult { + codeGenerated: boolean; + codeCount?: number; + codeExpires?: Date[]; +} + +export interface ICodeCheck { + readonly name: string; + + isEnabled(user: IUser): boolean; + + verify(user: IUser, code: string): boolean; + + processInvalidCode(user: IUser): IProcessInvalidCodeResult; +} diff --git a/app/2fa/server/code/PasswordCheckFallback.ts b/app/2fa/server/code/PasswordCheckFallback.ts new file mode 100644 index 000000000000..aef70ba64427 --- /dev/null +++ b/app/2fa/server/code/PasswordCheckFallback.ts @@ -0,0 +1,38 @@ +import { Accounts } from 'meteor/accounts-base'; + +import { ICodeCheck, IProcessInvalidCodeResult } from './ICodeCheck'; +import { IUser } from '../../../../definition/IUser'; + +export class PasswordCheckFallback implements ICodeCheck { + public readonly name = 'password'; + + public isEnabled(user: IUser): boolean { + // TODO: Uncomment for version 4.0 forcing the + // password fallback for who has password set. + // return user.services?.password?.bcrypt != null; + return !user; + } + + public verify(user: IUser, code: string): boolean { + if (!this.isEnabled(user)) { + return false; + } + + const passCheck = Accounts._checkPassword(user, { + digest: code.toLowerCase(), + algorithm: 'sha-256', + }); + + if (passCheck.error) { + return false; + } + + return true; + } + + public processInvalidCode(): IProcessInvalidCodeResult { + return { + codeGenerated: false, + }; + } +} diff --git a/app/2fa/server/code/TOTPCheck.ts b/app/2fa/server/code/TOTPCheck.ts new file mode 100644 index 000000000000..35ea93ccdec4 --- /dev/null +++ b/app/2fa/server/code/TOTPCheck.ts @@ -0,0 +1,36 @@ +import { TOTP } from '../lib/totp'; +import { IUser } from '../../../../definition/IUser'; +import { settings } from '../../../settings/server'; +import { ICodeCheck, IProcessInvalidCodeResult } from './ICodeCheck'; + +export class TOTPCheck implements ICodeCheck { + public readonly name = 'totp'; + + public isEnabled(user: IUser): boolean { + if (!settings.get('Accounts_TwoFactorAuthentication_Enabled')) { + return false; + } + + return user.services?.totp?.enabled === true; + } + + public verify(user: IUser, code: string): boolean { + if (!this.isEnabled(user)) { + return false; + } + + return TOTP.verify({ + secret: user.services?.totp?.secret, + token: code, + userId: user._id, + backupTokens: user.services?.totp?.hashedBackup, + }); + } + + public processInvalidCode(): IProcessInvalidCodeResult { + // Nothing to do + return { + codeGenerated: false, + }; + } +} diff --git a/app/2fa/server/code/index.ts b/app/2fa/server/code/index.ts new file mode 100644 index 000000000000..233e86dded59 --- /dev/null +++ b/app/2fa/server/code/index.ts @@ -0,0 +1,156 @@ +import crypto from 'crypto'; + +import { Meteor } from 'meteor/meteor'; +import { Accounts } from 'meteor/accounts-base'; + +import { settings } from '../../../settings/server'; +import { TOTPCheck } from './TOTPCheck'; +import { EmailCheck } from './EmailCheck'; +import { PasswordCheckFallback } from './PasswordCheckFallback'; +import { IUser } from '../../../../definition/IUser'; +import { ICodeCheck } from './ICodeCheck'; +import { Users } from '../../../models/server'; +import { IMethodConnection } from '../../../../definition/IMethodThisType'; + +export interface ITwoFactorOptions { + disablePasswordFallback?: boolean; + disableRememberMe?: boolean; +} + +export const totpCheck = new TOTPCheck(); +export const emailCheck = new EmailCheck(); +export const passwordCheckFallback = new PasswordCheckFallback(); + +export const checkMethods = new Map(); + +checkMethods.set(totpCheck.name, totpCheck); +checkMethods.set(emailCheck.name, emailCheck); + +export function getMethodByNameOrFirstActiveForUser(user: IUser, name?: string): ICodeCheck | undefined { + if (name && checkMethods.has(name)) { + return checkMethods.get(name); + } + + return Array.from(checkMethods.values()).find((method) => method.isEnabled(user)); +} + +export function getAvailableMethodNames(user: IUser): string[] | [] { + return Array.from(checkMethods).filter(([, method]) => method.isEnabled(user)).map(([name]) => name) || []; +} + +export function getUserForCheck(userId: string): IUser { + return Users.findOneById(userId, { + fields: { + emails: 1, + language: 1, + 'services.totp': 1, + 'services.email2fa': 1, + 'services.emailCode': 1, + 'services.password': 1, + 'services.resume.loginTokens': 1, + }, + }); +} + +export function getFingerprintFromConnection(connection: IMethodConnection): string { + const data = JSON.stringify({ + userAgent: connection.httpHeaders['user-agent'], + clientAddress: connection.clientAddress, + }); + + return crypto.createHash('md5').update(data).digest('hex'); +} + +export function isAuthorizedForToken(connection: IMethodConnection, user: IUser, options: ITwoFactorOptions): boolean { + const currentToken = Accounts._getLoginToken(connection.id); + const tokenObject = user.services?.resume?.loginTokens?.find((i) => i.hashedToken === currentToken); + + if (!tokenObject) { + return false; + } + + if (tokenObject.bypassTwoFactor === true) { + return true; + } + + if (options.disableRememberMe === true) { + return false; + } + + if (!tokenObject.twoFactorAuthorizedUntil || !tokenObject.twoFactorAuthorizedHash) { + return false; + } + + if (tokenObject.twoFactorAuthorizedUntil < new Date()) { + return false; + } + + if (tokenObject.twoFactorAuthorizedHash !== getFingerprintFromConnection(connection)) { + return false; + } + + return true; +} + +export function rememberAuthorization(connection: IMethodConnection, user: IUser): void { + const currentToken = Accounts._getLoginToken(connection.id); + + const rememberFor = parseInt(settings.get('Accounts_TwoFactorAuthentication_RememberFor')); + + if (rememberFor <= 0) { + return; + } + + const expires = new Date(); + expires.setSeconds(expires.getSeconds() + rememberFor); + + Users.setTwoFactorAuthorizationHashAndUntilForUserIdAndToken(user._id, currentToken, getFingerprintFromConnection(connection), expires); +} + +interface ICheckCodeForUser { + user: IUser | string; + code?: string; + method?: string; + options?: ITwoFactorOptions; + connection?: IMethodConnection; +} + +function _checkCodeForUser({ user, code, method, options = {}, connection }: ICheckCodeForUser): boolean { + if (typeof user === 'string') { + user = getUserForCheck(user); + } + + if (connection && isAuthorizedForToken(connection, user, options)) { + return true; + } + + let selectedMethod = getMethodByNameOrFirstActiveForUser(user, method); + + if (!selectedMethod) { + if (options.disablePasswordFallback || !passwordCheckFallback.isEnabled(user)) { + return true; + } + selectedMethod = passwordCheckFallback; + } + + if (!code) { + const data = selectedMethod.processInvalidCode(user); + const availableMethods = getAvailableMethodNames(user); + + throw new Meteor.Error('totp-required', 'TOTP Required', { method: selectedMethod.name, ...data, availableMethods }); + } + + const valid = selectedMethod.verify(user, code); + + if (!valid) { + throw new Meteor.Error('totp-invalid', 'TOTP Invalid', { method: selectedMethod.name }); + } + + if (options.disableRememberMe !== true && connection) { + rememberAuthorization(connection, user); + } + + return true; +} + +export const checkCodeForUser = process.env.TEST_MODE ? (): boolean => true : _checkCodeForUser; diff --git a/app/2fa/server/index.js b/app/2fa/server/index.js index e5d5ab3fc445..8e8555dd2ebe 100644 --- a/app/2fa/server/index.js +++ b/app/2fa/server/index.js @@ -1,3 +1,4 @@ +import './MethodInvocationOverride'; import './startup/settings'; import './methods/checkCodesRemaining'; import './methods/disable'; diff --git a/app/2fa/server/loginHandler.js b/app/2fa/server/loginHandler.js index a70f582f946b..7138a7b3d61f 100644 --- a/app/2fa/server/loginHandler.js +++ b/app/2fa/server/loginHandler.js @@ -1,9 +1,7 @@ -import { Meteor } from 'meteor/meteor'; import { Accounts } from 'meteor/accounts-base'; -import { TOTP } from './lib/totp'; -import { settings } from '../../settings'; import { callbacks } from '../../callbacks'; +import { checkCodeForUser } from './code/index'; Accounts.registerLoginHandler('totp', function(options) { if (!options.totp || !options.totp.code) { @@ -14,26 +12,11 @@ Accounts.registerLoginHandler('totp', function(options) { }); callbacks.add('onValidateLogin', (login) => { - if (!settings.get('Accounts_TwoFactorAuthentication_Enabled')) { + if (login.type !== 'password') { return; } - if (login.type === 'password' && login.user.services && login.user.services.totp && login.user.services.totp.enabled === true) { - const { totp } = login.methodArguments[0]; + const { totp } = login.methodArguments[0]; - if (!totp || !totp.code) { - throw new Meteor.Error('totp-required', 'TOTP Required'); - } - - const verified = TOTP.verify({ - secret: login.user.services.totp.secret, - token: totp.code, - userId: login.user._id, - backupTokens: login.user.services.totp.hashedBackup, - }); - - if (verified !== true) { - throw new Meteor.Error('totp-invalid', 'TOTP Invalid'); - } - } + checkCodeForUser({ user: login.user, code: totp && totp.code, options: { disablePasswordFallback: true } }); }, callbacks.priority.MEDIUM, '2fa'); diff --git a/app/2fa/server/startup/settings.js b/app/2fa/server/startup/settings.js index 51ccf2ac68f3..621c2f186697 100644 --- a/app/2fa/server/startup/settings.js +++ b/app/2fa/server/startup/settings.js @@ -8,12 +8,37 @@ settings.addGroup('Accounts', function() { }); this.add('Accounts_TwoFactorAuthentication_MaxDelta', 1, { type: 'int', - public: true, - i18nLabel: 'Accounts_TwoFactorAuthentication_MaxDelta', enableQuery: { _id: 'Accounts_TwoFactorAuthentication_Enabled', value: true, }, }); + + this.add('Accounts_TwoFactorAuthentication_By_Email_Enabled', true, { + type: 'boolean', + public: true, + }); + this.add('Accounts_TwoFactorAuthentication_By_Email_Auto_Opt_In', true, { + type: 'boolean', + enableQuery: { + _id: 'Accounts_TwoFactorAuthentication_By_Email_Enabled', + value: true, + }, + wizard: { + step: 3, + order: 3, + }, + }); + this.add('Accounts_TwoFactorAuthentication_By_Email_Code_Expiration', 3600, { + type: 'int', + enableQuery: { + _id: 'Accounts_TwoFactorAuthentication_By_Email_Enabled', + value: true, + }, + }); + + this.add('Accounts_TwoFactorAuthentication_RememberFor', 300, { + type: 'int', + }); }); }); diff --git a/app/2fa/server/twoFactorRequired.ts b/app/2fa/server/twoFactorRequired.ts new file mode 100644 index 000000000000..316ad726b139 --- /dev/null +++ b/app/2fa/server/twoFactorRequired.ts @@ -0,0 +1,36 @@ +import { Meteor } from 'meteor/meteor'; + +import { checkCodeForUser, ITwoFactorOptions } from './code/index'; +import { IMethodThisType } from '../../../definition/IMethodThisType'; + +export function twoFactorRequired(fn: Function, options: ITwoFactorOptions): Function { + return function(this: IMethodThisType, ...args: any[]): any { + if (!this.userId) { + throw new Meteor.Error('error-invalid-user', 'Invalid user', { method: 'twoFactorRequired' }); + } + + // get two factor options from last item of args and remove it + const twoFactor = args.pop(); + if (twoFactor) { + if (twoFactor.twoFactorCode && twoFactor.twoFactorMethod) { + checkCodeForUser({ + user: this.userId, + connection: this.connection || undefined, + code: twoFactor.twoFactorCode, + method: twoFactor.twoFactorMethod, + options, + }); + this.twoFactorChecked = true; + } else { + // if it was not two factor options, put it back + args.push(twoFactor); + } + } + + if (!this.twoFactorChecked) { + checkCodeForUser({ user: this.userId, connection: this.connection || undefined, options }); + } + + return fn.apply(this, args); + }; +} diff --git a/app/api/server/api.js b/app/api/server/api.js index adda6f7d23ca..8c731e7bfcce 100644 --- a/app/api/server/api.js +++ b/app/api/server/api.js @@ -12,6 +12,7 @@ import { settings } from '../../settings'; import { metrics } from '../../metrics'; import { hasPermission, hasAllPermission } from '../../authorization'; import { getDefaultUserFields } from '../../utils/server/functions/getDefaultUserFields'; +import { checkCodeForUser } from '../../2fa/server/code'; const logger = new Logger('API', {}); @@ -110,7 +111,7 @@ export class APIClass extends Restivus { return result; } - failure(result, errorType, stack) { + failure(result, errorType, stack, error) { if (_.isObject(result)) { result.success = false; } else { @@ -123,6 +124,14 @@ export class APIClass extends Restivus { if (errorType) { result.errorType = errorType; } + + if (error && error.details) { + try { + result.details = JSON.parse(error.details); + } catch (e) { + result.details = error.details; + } + } } result = { @@ -245,6 +254,15 @@ export class APIClass extends Restivus { .map(addRateLimitRuleToEveryRoute); } + processTwoFactor({ userId, request, invocation, options, connection }) { + const code = request.headers['x-2fa-code']; + const method = request.headers['x-2fa-method']; + + checkCodeForUser({ user: userId, code, method, options, connection }); + + invocation.twoFactorChecked = true; + } + getFullRouteName(route, method, apiVersion = null) { let prefix = `/${ this.apiPath || '' }`; if (apiVersion) { @@ -318,6 +336,8 @@ export class APIClass extends Restivus { id: Random.id(), close() {}, token: this.token, + httpHeaders: this.request.headers, + clientAddress: requestIp, }; try { @@ -340,6 +360,10 @@ export class APIClass extends Restivus { }; Accounts._setAccountData(connection.id, 'loginToken', this.token); + if (options.twoFactorRequired) { + api.processTwoFactor({ userId: this.userId, request: this.request, invocation, options: options.twoFactorOptions, connection }); + } + result = DDP._CurrentInvocation.withValue(invocation, () => originalAction.apply(this)); } catch (e) { logger.debug(`${ method } ${ route } threw an error:`, e.stack); @@ -349,7 +373,7 @@ export class APIClass extends Restivus { 'error-unauthorized': 'unauthorized', }[e.error] || 'failure'; - result = API.v1[apiMethod](typeof e === 'string' ? e : e.message, e.error); + result = API.v1[apiMethod](typeof e === 'string' ? e : e.message, e.error, undefined, e); } finally { delete Accounts._accountData[connection.id]; } @@ -378,9 +402,9 @@ export class APIClass extends Restivus { } _initAuth() { - const loginCompatibility = (bodyParams) => { + const loginCompatibility = (bodyParams, request) => { // Grab the username or email that the user is logging in with - const { user, username, email, password, code } = bodyParams; + const { user, username, email, password, code: bodyCode } = bodyParams; if (password == null) { return bodyParams; @@ -390,6 +414,8 @@ export class APIClass extends Restivus { return bodyParams; } + const code = bodyCode || request.headers['x-2fa-code']; + const auth = { password, }; @@ -429,7 +455,7 @@ export class APIClass extends Restivus { this.addRoute('login', { authRequired: false }, { post() { - const args = loginCompatibility(this.bodyParams); + const args = loginCompatibility(this.bodyParams, this.request); const getUserInfo = self.getHelperMethod('getUserInfo'); const invocation = new DDPCommon.MethodInvocation({ diff --git a/app/api/server/v1/users.js b/app/api/server/v1/users.js index 222c000360fb..18fcb5c8ddbd 100644 --- a/app/api/server/v1/users.js +++ b/app/api/server/v1/users.js @@ -20,6 +20,7 @@ import { getFullUserData, getFullUserDataById } from '../../../lib/server/functi import { API } from '../api'; import { setStatusText } from '../../../lib/server'; import { findUsersToAutocomplete } from '../lib/users'; +import { getUserForCheck, emailCheck } from '../../../2fa/server/code'; API.v1.addRoute('users.create', { authRequired: true }, { post() { @@ -426,7 +427,7 @@ API.v1.addRoute('users.setStatus', { authRequired: true }, { }, }); -API.v1.addRoute('users.update', { authRequired: true }, { +API.v1.addRoute('users.update', { authRequired: true, twoFactorRequired: true }, { post() { check(this.bodyParams, { userId: String, @@ -611,19 +612,19 @@ API.v1.addRoute('users.getUsernameSuggestion', { authRequired: true }, { }, }); -API.v1.addRoute('users.generatePersonalAccessToken', { authRequired: true }, { +API.v1.addRoute('users.generatePersonalAccessToken', { authRequired: true, twoFactorRequired: true }, { post() { - const { tokenName } = this.bodyParams; + const { tokenName, bypassTwoFactor } = this.bodyParams; if (!tokenName) { return API.v1.failure('The \'tokenName\' param is required'); } - const token = Meteor.runAsUser(this.userId, () => Meteor.call('personalAccessTokens:generateToken', { tokenName })); + const token = Meteor.runAsUser(this.userId, () => Meteor.call('personalAccessTokens:generateToken', { tokenName, bypassTwoFactor })); return API.v1.success({ token }); }, }); -API.v1.addRoute('users.regeneratePersonalAccessToken', { authRequired: true }, { +API.v1.addRoute('users.regeneratePersonalAccessToken', { authRequired: true, twoFactorRequired: true }, { post() { const { tokenName } = this.bodyParams; if (!tokenName) { @@ -647,6 +648,7 @@ API.v1.addRoute('users.getPersonalAccessTokens', { authRequired: true }, { name: loginToken.name, createdAt: loginToken.createdAt, lastTokenPart: loginToken.lastTokenPart, + bypassTwoFactor: loginToken.bypassTwoFactor, })); return API.v1.success({ @@ -655,7 +657,7 @@ API.v1.addRoute('users.getPersonalAccessTokens', { authRequired: true }, { }, }); -API.v1.addRoute('users.removePersonalAccessToken', { authRequired: true }, { +API.v1.addRoute('users.removePersonalAccessToken', { authRequired: true, twoFactorRequired: true }, { post() { const { tokenName } = this.bodyParams; if (!tokenName) { @@ -669,6 +671,41 @@ API.v1.addRoute('users.removePersonalAccessToken', { authRequired: true }, { }, }); +API.v1.addRoute('users.2fa.enableEmail', { authRequired: true }, { + post() { + Users.enableEmail2FAByUserId(this.userId); + + return API.v1.success(); + }, +}); + +API.v1.addRoute('users.2fa.disableEmail', { authRequired: true, twoFactorRequired: true, twoFactorOptions: { disableRememberMe: true } }, { + post() { + Users.disableEmail2FAByUserId(this.userId); + + return API.v1.success(); + }, +}); + +API.v1.addRoute('users.2fa.sendEmailCode', { + post() { + const { emailOrUsername } = this.bodyParams; + + if (!emailOrUsername) { + throw new Meteor.Error('error-parameter-required', 'emailOrUsername is required'); + } + + const method = emailOrUsername.includes('@') ? 'findOneByEmailAddress' : 'findOneByUsername'; + const userId = this.userId || Users[method](emailOrUsername, { fields: { _id: 1 } })?._id; + + if (!userId) { + throw new Meteor.Error('error-invalid-user', 'Invalid user'); + } + + return API.v1.success(emailCheck.sendEmailCode(getUserForCheck(userId))); + }, +}); + API.v1.addRoute('users.presence', { authRequired: true }, { get() { const { from, ids } = this.queryParams; diff --git a/app/blockstack/server/userHandler.js b/app/blockstack/server/userHandler.js index 8078d5358c7d..5ead21a43878 100644 --- a/app/blockstack/server/userHandler.js +++ b/app/blockstack/server/userHandler.js @@ -3,6 +3,7 @@ import { Accounts } from 'meteor/accounts-base'; import { ServiceConfiguration } from 'meteor/service-configuration'; import { logger } from './logger'; +import { settings } from '../../settings/server'; import { generateUsernameSuggestion } from '../../lib'; // Updates or creates a user after we authenticate with Blockstack @@ -34,8 +35,9 @@ export const updateOrCreateUser = (serviceData, options) => { // gaia, encrypting mail for DID user only. @TODO: document this approach. emails.push({ address: `${ did }@blockstack.email`, verified: false }); } else { + const verified = settings.get('Accounts_Verify_Email_For_External_Accounts'); // Reformat array of emails into expected format if they exist - emails = profile.emails.map((address) => ({ address, verified: true })); + emails = profile.emails.map((address) => ({ address, verified })); } const newUser = { diff --git a/app/cas/server/cas_server.js b/app/cas/server/cas_server.js index 3d8cfcd9801a..de2bec2ff5ff 100644 --- a/app/cas/server/cas_server.js +++ b/app/cas/server/cas_server.js @@ -125,6 +125,7 @@ Accounts.registerLoginHandler(function(options) { const cas_version = parseFloat(settings.get('CAS_version')); const sync_enabled = settings.get('CAS_Sync_User_Data_Enabled'); const trustUsername = settings.get('CAS_trust_username'); + const verified = settings.get('Accounts_Verify_Email_For_External_Accounts'); // We have these const ext_attrs = { @@ -201,7 +202,7 @@ Accounts.registerLoginHandler(function(options) { // Update email if (int_attrs.email) { - Meteor.users.update(user, { $set: { emails: [{ address: int_attrs.email, verified: true }] } }); + Meteor.users.update(user, { $set: { emails: [{ address: int_attrs.email, verified }] } }); } } } else { @@ -230,7 +231,7 @@ Accounts.registerLoginHandler(function(options) { // Add email if (int_attrs.email) { _.extend(newUser, { - emails: [{ address: int_attrs.email, verified: true }], + emails: [{ address: int_attrs.email, verified }], }); } diff --git a/app/crowd/server/crowd.js b/app/crowd/server/crowd.js index ed64c9657884..c91d2de399e4 100644 --- a/app/crowd/server/crowd.js +++ b/app/crowd/server/crowd.js @@ -151,7 +151,7 @@ export class CROWD { crowd_username: crowdUser.crowd_username, emails: [{ address: crowdUser.email, - verified: true, + verified: settings.get('Accounts_Verify_Email_For_External_Accounts'), }], active: crowdUser.active, crowd: true, diff --git a/app/ldap/server/sync.js b/app/ldap/server/sync.js index 5a17a64f9e87..9778bad9a3dc 100644 --- a/app/ldap/server/sync.js +++ b/app/ldap/server/sync.js @@ -123,12 +123,14 @@ export function getDataToSyncUserData(ldapUser, user) { return; } + const verified = settings.get('Accounts_Verify_Email_For_External_Accounts'); + if (_.isObject(ldapUser[ldapField])) { _.map(ldapUser[ldapField], function(item) { - emailList.push({ address: item, verified: true }); + emailList.push({ address: item, verified }); }); } else { - emailList.push({ address: ldapUser[ldapField], verified: true }); + emailList.push({ address: ldapUser[ldapField], verified }); } break; diff --git a/app/lib/client/lib/index.js b/app/lib/client/lib/index.js index 3b7017648ba7..4cc975c68ce2 100644 --- a/app/lib/client/lib/index.js +++ b/app/lib/client/lib/index.js @@ -5,6 +5,8 @@ for the *client* pieces of code which does include the shared library files. */ +import * as DateFormat from './formatDate'; + export { RocketChatAnnouncement } from './RocketChatAnnouncement'; export { LoginPresence } from './LoginPresence'; -export * as DateFormat from './formatDate'; +export { DateFormat }; diff --git a/app/lib/server/methods/insertOrUpdateUser.js b/app/lib/server/methods/insertOrUpdateUser.js index 5ef244126412..4d258c18d2a0 100644 --- a/app/lib/server/methods/insertOrUpdateUser.js +++ b/app/lib/server/methods/insertOrUpdateUser.js @@ -2,9 +2,10 @@ import { Meteor } from 'meteor/meteor'; import { check } from 'meteor/check'; import { saveUser } from '../functions'; +import { twoFactorRequired } from '../../../2fa/server/twoFactorRequired'; Meteor.methods({ - insertOrUpdateUser(userData) { + insertOrUpdateUser: twoFactorRequired(function(userData) { check(userData, Object); if (!Meteor.userId()) { @@ -12,5 +13,5 @@ Meteor.methods({ } return saveUser(Meteor.userId(), userData); - }, + }), }); diff --git a/app/lib/server/startup/settings.js b/app/lib/server/startup/settings.js index 4d1c9b253bab..02489b745fac 100644 --- a/app/lib/server/startup/settings.js +++ b/app/lib/server/startup/settings.js @@ -144,6 +144,9 @@ settings.addGroup('Accounts', function() { }, }, }); + this.add('Accounts_Verify_Email_For_External_Accounts', true, { + type: 'boolean', + }); this.add('Accounts_ManuallyApproveNewUsers', false, { public: true, type: 'boolean', diff --git a/app/meteor-accounts-saml/server/saml_server.js b/app/meteor-accounts-saml/server/saml_server.js index 23801cbcf0f5..4d0e716b273e 100644 --- a/app/meteor-accounts-saml/server/saml_server.js +++ b/app/meteor-accounts-saml/server/saml_server.js @@ -10,6 +10,7 @@ import _ from 'underscore'; import s from 'underscore.string'; import { SAML } from './saml_utils'; +import { settings } from '../../settings/server'; import { Rooms, Subscriptions, CredentialTokens } from '../../models'; import { generateUsernameSuggestion } from '../../lib'; import { _setUsername } from '../../lib/server/functions'; @@ -192,7 +193,7 @@ function overwriteData(user, fullName, eppnMatch, emailList) { $set: { emails: emailList.map((email) => ({ address: email, - verified: true, + verified: settings.get('Accounts_Verify_Email_For_External_Accounts'), })), }, }); @@ -294,7 +295,7 @@ Accounts.registerLoginHandler(function(loginRequest) { const emails = emailList.map((email) => ({ address: email, - verified: true, + verified: settings.get('Accounts_Verify_Email_For_External_Accounts'), })); let globalRoles; diff --git a/app/models/server/models/Users.js b/app/models/server/models/Users.js index bdce8470ee47..c0bbea891b17 100644 --- a/app/models/server/models/Users.js +++ b/app/models/server/models/Users.js @@ -398,6 +398,32 @@ export class Users extends Base { }); } + enableEmail2FAByUserId(userId) { + return this.update({ + _id: userId, + }, { + $set: { + 'services.email2fa': { + enabled: true, + changedAt: new Date(), + }, + }, + }); + } + + disableEmail2FAByUserId(userId) { + return this.update({ + _id: userId, + }, { + $set: { + 'services.email2fa': { + enabled: false, + changedAt: new Date(), + }, + }, + }); + } + findByIdsWithPublicE2EKey(ids, options) { const query = { _id: { @@ -419,6 +445,40 @@ export class Users extends Base { }); } + removeExpiredEmailCodesOfUserId(userId) { + this.update({ _id: userId }, { + $pull: { + 'services.emailCode': { + expire: { $lt: new Date() }, + }, + }, + }); + } + + removeEmailCodeByUserIdAndCode(userId, code) { + this.update({ _id: userId }, { + $pull: { + 'services.emailCode': { + code, + }, + }, + }); + } + + addEmailCodeByUserId(userId, code, expire) { + this.update({ _id: userId }, { + $push: { + 'services.emailCode': { + $each: [{ + code, + expire, + }], + $slice: -5, + }, + }, + }); + } + findUsersInRoles(roles, scope, options) { roles = [].concat(roles); @@ -1074,6 +1134,18 @@ export class Users extends Base { return this.update(_id, update); } + setTwoFactorAuthorizationHashAndUntilForUserIdAndToken(_id, token, hash, until) { + return this.update({ + _id, + 'services.resume.loginTokens.hashedToken': token, + }, { + $set: { + 'services.resume.loginTokens.$.twoFactorAuthorizedHash': hash, + 'services.resume.loginTokens.$.twoFactorAuthorizedUntil': until, + }, + }); + } + setUtcOffset(_id, utcOffset) { const query = { _id, diff --git a/app/settings/server/functions/settings.d.ts b/app/settings/server/functions/settings.d.ts new file mode 100644 index 000000000000..8748685d0bb7 --- /dev/null +++ b/app/settings/server/functions/settings.d.ts @@ -0,0 +1,3 @@ +export namespace settings { + export function get(name: string): string; +} diff --git a/app/ui-utils/client/lib/modal.html b/app/ui-utils/client/lib/modal.html index 19ad6fe23d55..5a3d7d95efd5 100644 --- a/app/ui-utils/client/lib/modal.html +++ b/app/ui-utils/client/lib/modal.html @@ -47,6 +47,9 @@

{{/if}} + {{#if inputActionText}} + + {{/if}} {{#if dontAskAgain}}
- + {{> livechatAutocompleteUser + onClickTag=onClickTagDepartment + list=selectedDepartments + onSelect=onSelectDepartments + collection='CachedDepartmentList' + endpoint='livechat/department.autocomplete' + field='name' + sort='name' + label="Department" + placeholder="Enter_a_department_name" + name="department" + icon="queue" + noMatchTemplate="userSearchEmpty" + templateItem="popupList_item_channel" + template="roomSearch" + noMatchTemplate="roomSearchEmpty" + modifier=departmentModifier + showLabel=true + }}
diff --git a/server/methods/createDirectMessage.js b/server/methods/createDirectMessage.js index 9d1d48f92441..8ecf775c2722 100644 --- a/server/methods/createDirectMessage.js +++ b/server/methods/createDirectMessage.js @@ -9,8 +9,8 @@ import { addUser } from '../../app/federation/server/functions/addUser'; import { createRoom } from '../../app/lib/server'; Meteor.methods({ - createDirectMessage(username) { - check(username, String); + createDirectMessage(...usernames) { + check(usernames, [String]); if (!Meteor.userId()) { throw new Meteor.Error('error-invalid-user', 'Invalid user', { @@ -26,7 +26,7 @@ Meteor.methods({ }); } - if (settings.get('Message_AllowDirectMessagesToYourself') === false && me.username === username) { + if (settings.get('Message_AllowDirectMessagesToYourself') === false && usernames.length === 1 && me.username === usernames[0]) { throw new Meteor.Error('error-invalid-user', 'Invalid user', { method: 'createDirectMessage', }); @@ -38,29 +38,29 @@ Meteor.methods({ }); } - let to = Users.findOneByUsernameIgnoringCase(username); - // If the username does have an `@`, but does not exist locally, we create it first - if (!to && username.indexOf('@') !== -1) { - to = addUser(username); - } + const users = usernames.filter((username) => username !== me.username).map((username) => { + let to = Users.findOneByUsernameIgnoringCase(username); - if (!to) { - throw new Meteor.Error('error-invalid-user', 'Invalid user', { - method: 'createDirectMessage', - }); - } + // If the username does have an `@`, but does not exist locally, we create it first + if (!to && username.indexOf('@') !== -1) { + to = addUser(username); + } - if (!hasPermission(to._id, 'view-d-room')) { - throw new Meteor.Error('error-not-allowed', 'Target user not allowed to receive messages', { - method: 'createDirectMessage', - }); - } + if (!to) { + throw new Meteor.Error('error-invalid-user', 'Invalid user', { + method: 'createDirectMessage', + }); + } + return to; + }); - const { _id: rid } = createRoom('d', undefined, undefined, [me, to]); + const { _id: rid, inserted, ...room } = createRoom('d', null, null, [me, ...users], null, { }, { creator: me._id }); return { + t: 'd', rid, + ...room, }; }, }); diff --git a/server/methods/saveUserProfile.js b/server/methods/saveUserProfile.js index 9a1487a40a4b..b197a3a038f4 100644 --- a/server/methods/saveUserProfile.js +++ b/server/methods/saveUserProfile.js @@ -6,6 +6,23 @@ import { saveCustomFields, passwordPolicy } from '../../app/lib'; import { Users } from '../../app/models'; import { settings as rcSettings } from '../../app/settings'; import { twoFactorRequired } from '../../app/2fa/server/twoFactorRequired'; +import { saveUserIdentity } from '../../app/lib/server/functions/saveUserIdentity'; + +function checkPassword(user = {}, typedPassword) { + if (!(user.services && user.services.password && user.services.password.bcrypt && user.services.password.bcrypt.trim())) { + return true; + } + + const passCheck = Accounts._checkPassword(user, { + digest: typedPassword.toLowerCase(), + algorithm: 'sha-256', + }); + + if (passCheck.error) { + return false; + } + return true; +} Meteor.methods({ saveUserProfile: twoFactorRequired(function(settings, customFields) { @@ -26,28 +43,14 @@ Meteor.methods({ const user = Users.findOneById(this.userId); - function checkPassword(user = {}, typedPassword) { - if (!(user.services && user.services.password && user.services.password.bcrypt && user.services.password.bcrypt.trim())) { - return true; - } - - const passCheck = Accounts._checkPassword(user, { - digest: typedPassword.toLowerCase(), - algorithm: 'sha-256', - }); - - if (passCheck.error) { - return false; + if (settings.realname || settings.username) { + if (!saveUserIdentity(this.userId, { + _id: this.userId, + name: settings.realname, + username: settings.username, + })) { + throw new Meteor.Error('error-could-not-save-identity', 'Could not save user identity', { method: 'saveUserProfile' }); } - return true; - } - - if (settings.realname || (!settings.realname && !rcSettings.get('Accounts_RequireNameForSignUp'))) { - Meteor.call('setRealName', settings.realname); - } - - if (settings.username) { - Meteor.call('setUsername', settings.username); } if (settings.statusText || settings.statusText === '') { diff --git a/server/publications/room/index.js b/server/publications/room/index.js index 8b4f3794beac..98fd2ea29caf 100644 --- a/server/publications/room/index.js +++ b/server/publications/room/index.js @@ -52,6 +52,10 @@ export const fields = { e2eKeyId: 1, departmentId: 1, servedBy: 1, + + // fields used by DMs + usernames: 1, + uids: 1, }; const roomMap = (record) => { @@ -91,7 +95,7 @@ Meteor.methods({ const roomFind = roomTypes.getRoomFind(type); - const room = roomFind ? roomFind.call(this, name) : Rooms.findByTypeAndName(type, name); + const room = roomFind ? roomFind.call(this, name) : Rooms.findByTypeAndNameOrId(type, name); if (!room) { throw new Meteor.Error('error-invalid-room', 'Invalid room', { method: 'getRoomByTypeAndName' }); diff --git a/server/startup/migrations/index.js b/server/startup/migrations/index.js index ecc2aa96f5ee..6ad1177c8965 100644 --- a/server/startup/migrations/index.js +++ b/server/startup/migrations/index.js @@ -176,4 +176,5 @@ import './v175'; import './v176'; import './v177'; import './v178'; +import './v179'; import './xrun'; diff --git a/server/startup/migrations/v179.js b/server/startup/migrations/v179.js new file mode 100644 index 000000000000..a7e4d81a3b62 --- /dev/null +++ b/server/startup/migrations/v179.js @@ -0,0 +1,87 @@ +import { Meteor } from 'meteor/meteor'; +import Future from 'fibers/future'; + +import { Migrations } from '../../../app/migrations/server'; +import { Rooms } from '../../../app/models/server'; + +const batchSize = 5000; + +const getIds = (_id) => { + // DM alone + if (_id.length === 17) { + return [_id]; + } + + // DM with rocket.cat + if (_id.match(/rocket\.cat/)) { + return [ + 'rocket.cat', + _id.replace('rocket.cat', ''), + ]; + } + + const total = _id.length; + + // regular DMs + const id1 = _id.substr(0, Math.ceil(total / 2)); + const id2 = _id.substr(Math.ceil(total / 2)); + + // buggy (?) DM alone but with duplicated _id + // if (id1 === id2) { + // return [id1]; + // } + + return [id1, id2]; +}; + +async function migrateDMs(models, total, current) { + const { roomCollection } = models; + + console.log(`DM rooms schema migration ${ current }/${ total }`); + + const items = await roomCollection.find({ t: 'd', uids: { $exists: false } }, { fields: { _id: 1 } }).limit(batchSize).toArray(); + + const actions = items.map((room) => roomCollection.updateOne({ _id: room._id }, { + $set: { + uids: getIds(room._id), + }, + })); + + const batch = Promise.all(actions); + if (actions.length === batchSize) { + await batch; + return migrateDMs(models, total, current + batchSize); + } + + return batch; +} + +Migrations.add({ + version: 179, + up() { + const fut = new Future(); + + const roomCollection = Rooms.model.rawCollection(); + + Meteor.setTimeout(async () => { + const rooms = roomCollection.find({ t: 'd' }); + const total = await rooms.count(); + await rooms.close(); + + if (total < batchSize * 2) { + await migrateDMs({ roomCollection }, total, 0); + return fut.return(); + } + + console.log('Changing schema of Direct Message rooms, this may take a long time ...'); + + await migrateDMs({ roomCollection }, total, 0); + + console.log('Changing schema of Direct Message rooms finished.'); + + fut.return(); + }, 200); + + fut.wait(); + }, +}); From 29f03966ec3746f8a76e516ceacbe2eac252a8d2 Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Thu, 26 Mar 2020 00:42:37 -0300 Subject: [PATCH 076/223] =?UTF-8?q?Fix:=202FA=20DDP=20method=20not=20getti?= =?UTF-8?q?ng=20code=20on=20API=20call=20that=20doesn=E2=80=99t=20requires?= =?UTF-8?q?=202FA=20(#16998)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/2fa/server/code/index.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/2fa/server/code/index.ts b/app/2fa/server/code/index.ts index 233e86dded59..cdc12e6520ab 100644 --- a/app/2fa/server/code/index.ts +++ b/app/2fa/server/code/index.ts @@ -120,6 +120,11 @@ function _checkCodeForUser({ user, code, method, options = {}, connection }: ICh user = getUserForCheck(user); } + if (!code && !method && connection?.httpHeaders?.['x-2fa-code'] && connection.httpHeaders['x-2fa-method']) { + code = connection.httpHeaders['x-2fa-code']; + method = connection.httpHeaders['x-2fa-method']; + } + if (connection && isAuthorizedForToken(connection, user, options)) { return true; } From 5355b8275b806f1fed48b1f636a1d779f3eb0383 Mon Sep 17 00:00:00 2001 From: Subham Sahoo <43502196+subham103@users.noreply.github.com> Date: Thu, 26 Mar 2020 09:40:18 +0530 Subject: [PATCH 077/223] [FIX] Wrong message count statistics in Admin info page (#16680) Co-authored-by: Gabriel Henriques Co-authored-by: Diego Sampaio --- app/lib/server/functions/deleteMessage.js | 3 +++ app/models/server/models/Messages.js | 14 ++++++++++++-- app/models/server/models/Rooms.js | 7 +++++-- app/statistics/server/lib/statistics.js | 2 +- 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/app/lib/server/functions/deleteMessage.js b/app/lib/server/functions/deleteMessage.js index 4e80b52fb114..aeae4c11caa4 100644 --- a/app/lib/server/functions/deleteMessage.js +++ b/app/lib/server/functions/deleteMessage.js @@ -49,6 +49,9 @@ export const deleteMessage = function(message, user) { } } + // decrease message count + Rooms.decreaseMessageCountById(message.rid, 1); + if (showDeletedStatus) { Messages.setAsDeletedByIdAndUser(message._id, user); } else { diff --git a/app/models/server/models/Messages.js b/app/models/server/models/Messages.js index 5ba20bf50ff2..d9e686002da6 100644 --- a/app/models/server/models/Messages.js +++ b/app/models/server/models/Messages.js @@ -915,7 +915,12 @@ export class Messages extends Base { } if (!limit) { - return this.remove(query); + const count = this.remove(query); + + // decrease message count + Rooms.decreaseMessageCountById(rid, count); + + return count; } const messagesToDelete = this.find(query, { @@ -925,11 +930,16 @@ export class Messages extends Base { limit, }).map(({ _id }) => _id); - return this.remove({ + const count = this.remove({ _id: { $in: messagesToDelete, }, }); + + // decrease message count + Rooms.decreaseMessageCountById(rid, count); + + return count; } removeByUserId(userId) { diff --git a/app/models/server/models/Rooms.js b/app/models/server/models/Rooms.js index a9034630737f..57cec3cac3eb 100644 --- a/app/models/server/models/Rooms.js +++ b/app/models/server/models/Rooms.js @@ -615,8 +615,7 @@ export class Rooms extends Base { return this.update(query, update); } - incMsgCountById(_id, inc) { - if (inc == null) { inc = 1; } + incMsgCountById(_id, inc = 1) { const query = { _id }; const update = { @@ -648,6 +647,10 @@ export class Rooms extends Base { return this.update(query, update); } + decreaseMessageCountById(_id, count = 1) { + return this.incMsgCountById(_id, -count); + } + incUsersCountById(_id, inc = 1) { const query = { _id }; diff --git a/app/statistics/server/lib/statistics.js b/app/statistics/server/lib/statistics.js index 251cf2d146ef..c7b79f75948e 100644 --- a/app/statistics/server/lib/statistics.js +++ b/app/statistics/server/lib/statistics.js @@ -87,11 +87,11 @@ export const statistics = { statistics.livechatEnabled = settings.get('Livechat_enabled'); // Message statistics - statistics.totalMessages = Messages.find().count(); statistics.totalChannelMessages = _.reduce(Rooms.findByType('c', { fields: { msgs: 1 } }).fetch(), function _countChannelMessages(num, room) { return num + room.msgs; }, 0); statistics.totalPrivateGroupMessages = _.reduce(Rooms.findByType('p', { fields: { msgs: 1 } }).fetch(), function _countPrivateGroupMessages(num, room) { return num + room.msgs; }, 0); statistics.totalDirectMessages = _.reduce(Rooms.findByType('d', { fields: { msgs: 1 } }).fetch(), function _countDirectMessages(num, room) { return num + room.msgs; }, 0); statistics.totalLivechatMessages = _.reduce(Rooms.findByType('l', { fields: { msgs: 1 } }).fetch(), function _countLivechatMessages(num, room) { return num + room.msgs; }, 0); + statistics.totalMessages = statistics.totalChannelMessages + statistics.totalPrivateGroupMessages + statistics.totalDirectMessages + statistics.totalLivechatMessages; // Federation statistics const federationOverviewData = federationGetStatistics(); From 2d4e5ca4a6874d8af3598ef2841bee96e95b9ded Mon Sep 17 00:00:00 2001 From: Subham Sahoo <43502196+subham103@users.noreply.github.com> Date: Thu, 26 Mar 2020 09:48:46 +0530 Subject: [PATCH 078/223] [NEW] Sort channel directory listing by latest message (#16604) Co-authored-by: Diego Sampaio --- app/ui/client/views/app/directory.html | 4 ++-- server/methods/browseChannels.js | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/ui/client/views/app/directory.html b/app/ui/client/views/app/directory.html index f2990d38bf8d..a9c729f6b159 100644 --- a/app/ui/client/views/app/directory.html +++ b/app/ui/client/views/app/directory.html @@ -45,8 +45,8 @@
{{_ "Users"}} {{> icon icon=(sortIcon 'usersCount')}}
{{#if showLastMessage}} - -
{{_ "Last_Message"}}
+ +
{{_ "Last_Message"}} {{> icon icon=(sortIcon 'lastMessage')}}
{{/if}} diff --git a/server/methods/browseChannels.js b/server/methods/browseChannels.js index 0bb2e41362de..a0b61baad54c 100644 --- a/server/methods/browseChannels.js +++ b/server/methods/browseChannels.js @@ -15,6 +15,10 @@ const sortChannels = function(field, direction) { return { ts: direction === 'asc' ? 1 : -1, }; + case 'lastMessage': + return { + 'lastMessage.ts': direction === 'asc' ? 1 : -1, + }; default: return { [field]: direction === 'asc' ? 1 : -1, @@ -51,7 +55,7 @@ Meteor.methods({ return; } - if (!['name', 'createdAt', 'usersCount', ...type === 'channels' ? ['usernames'] : [], ...type === 'users' ? ['username', 'email'] : []].includes(sortBy)) { + if (!['name', 'createdAt', 'usersCount', ...type === 'channels' ? ['usernames', 'lastMessage'] : [], ...type === 'users' ? ['username', 'email'] : []].includes(sortBy)) { return; } From 0cf6dbd2b6e66fb3bc2b81ee6b1763bcf0306167 Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Thu, 26 Mar 2020 02:13:16 -0300 Subject: [PATCH 079/223] Group DM improvements --- .../client/views/app/CreateDirectMessage.js | 3 +++ server/startup/migrations/v179.js | 19 ++++++++++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/app/ui/client/views/app/CreateDirectMessage.js b/app/ui/client/views/app/CreateDirectMessage.js index 667a4e63d49a..3370559e1024 100755 --- a/app/ui/client/views/app/CreateDirectMessage.js +++ b/app/ui/client/views/app/CreateDirectMessage.js @@ -1,6 +1,7 @@ import { Tracker } from 'meteor/tracker'; import { Meteor } from 'meteor/meteor'; import { Template } from 'meteor/templating'; +import { ReactiveVar } from 'meteor/reactive-var'; import { roomTypes } from '../../../../utils/client'; import { call } from '../../../../ui-utils/client'; @@ -83,6 +84,8 @@ Template.CreateDirectMessage.onRendered(function() { }); Template.CreateDirectMessage.onCreated(function() { + this.selectedUsers = new ReactiveVar([]); + this.onSelectUser = ({ item: user }) => { if (user.username === Meteor.user().username) { return; diff --git a/server/startup/migrations/v179.js b/server/startup/migrations/v179.js index a7e4d81a3b62..cf275527edd5 100644 --- a/server/startup/migrations/v179.js +++ b/server/startup/migrations/v179.js @@ -41,13 +41,22 @@ async function migrateDMs(models, total, current) { const items = await roomCollection.find({ t: 'd', uids: { $exists: false } }, { fields: { _id: 1 } }).limit(batchSize).toArray(); - const actions = items.map((room) => roomCollection.updateOne({ _id: room._id }, { - $set: { - uids: getIds(room._id), + const actions = items.map((room) => ({ + updateOne: { + filter: { _id: room._id }, + update: { + $set: { + uids: getIds(room._id), + }, + }, }, })); - const batch = Promise.all(actions); + if (actions.length === 0) { + return; + } + + const batch = await roomCollection.bulkWrite(actions, { ordered: false }); if (actions.length === batchSize) { await batch; return migrateDMs(models, total, current + batchSize); @@ -68,7 +77,7 @@ Migrations.add({ const total = await rooms.count(); await rooms.close(); - if (total < batchSize * 2) { + if (total < batchSize * 10) { await migrateDMs({ roomCollection }, total, 0); return fut.return(); } From 328f0ecb50c8be6abd6cfafc25d4bf179253597b Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Thu, 26 Mar 2020 16:09:26 -0300 Subject: [PATCH 080/223] Regression: Fix issue with opening rooms (#17028) --- app/lib/server/functions/createDirectRoom.js | 4 ++-- app/models/server/models/Rooms.js | 2 +- app/ui-cached-collection/client/models/CachedCollection.js | 2 +- app/ui-utils/client/lib/RoomManager.js | 6 +++++- packages/rocketchat-i18n/i18n/en.i18n.json | 2 +- 5 files changed, 10 insertions(+), 6 deletions(-) diff --git a/app/lib/server/functions/createDirectRoom.js b/app/lib/server/functions/createDirectRoom.js index ae1ee8b20c4c..c8b5cd5cf081 100644 --- a/app/lib/server/functions/createDirectRoom.js +++ b/app/lib/server/functions/createDirectRoom.js @@ -35,8 +35,8 @@ export const createDirectRoom = function(members, roomExtraData = {}, options = // Deprecated: using users' _id to compose the room _id is deprecated const room = uids.length <= 2 - ? Rooms.findById(uids.join(''), { fields: { _id: 1 } }) - : Rooms.findDirectRoomContainingAllUserIDs(uids, { fields: { _id: 1 } }); + ? Rooms.findOneById(uids.join(''), { fields: { _id: 1 } }) + : Rooms.findOneDirectRoomContainingAllUserIDs(uids, { fields: { _id: 1 } }); const isNewRoom = !room; diff --git a/app/models/server/models/Rooms.js b/app/models/server/models/Rooms.js index 57cec3cac3eb..50b2568d735c 100644 --- a/app/models/server/models/Rooms.js +++ b/app/models/server/models/Rooms.js @@ -476,7 +476,7 @@ export class Rooms extends Base { return this.findOne(query, options); } - findDirectRoomContainingAllUserIDs(uid, options) { + findOneDirectRoomContainingAllUserIDs(uid, options) { const query = { t: 'd', uids: { $size: uid.length, $all: uid }, diff --git a/app/ui-cached-collection/client/models/CachedCollection.js b/app/ui-cached-collection/client/models/CachedCollection.js index ea305ba81c00..f6c21c91049a 100644 --- a/app/ui-cached-collection/client/models/CachedCollection.js +++ b/app/ui-cached-collection/client/models/CachedCollection.js @@ -131,7 +131,7 @@ export class CachedCollection extends EventEmitter { userRelated = true, listenChangesForLoggedUsersOnly = false, useSync = true, - version = 8, + version = 9, maxCacheTime = 60 * 60 * 24 * 30, onSyncData = (/* action, record */) => {}, }) { diff --git a/app/ui-utils/client/lib/RoomManager.js b/app/ui-utils/client/lib/RoomManager.js index da748a3e7326..0a9460c01b28 100644 --- a/app/ui-utils/client/lib/RoomManager.js +++ b/app/ui-utils/client/lib/RoomManager.js @@ -141,7 +141,11 @@ export const RoomManager = new function() { openedRooms[typeName].ready = false; openedRooms[typeName].active = false; if (openedRooms[typeName].template != null) { - Blaze.remove(openedRooms[typeName].template); + try { + Blaze.remove(openedRooms[typeName].template); + } catch (e) { + console.error('Error removing template from DOM', e); + } } delete openedRooms[typeName].dom; delete openedRooms[typeName].template; diff --git a/packages/rocketchat-i18n/i18n/en.i18n.json b/packages/rocketchat-i18n/i18n/en.i18n.json index ef37f627eed1..5c8e260d2f98 100644 --- a/packages/rocketchat-i18n/i18n/en.i18n.json +++ b/packages/rocketchat-i18n/i18n/en.i18n.json @@ -1140,7 +1140,7 @@ "Desktop_Notifications_Not_Enabled": "Desktop Notifications are Not Enabled", "Details": "Details", "Different_Style_For_User_Mentions": "Different style for user mentions", - "Direct_message_creation_description" : "You are about to create a chat with multiple users. Add the ones you would like to talk, everyone in te same place, using direct messages.", + "Direct_message_creation_description" : "You are about to create a chat with multiple users. Add the ones you would like to talk, everyone in the same place, using direct messages.", "Direct_message_you_have_joined": "You have joined a new direct message with", "Direct_message_someone": "Direct message someone", "Direct_Messages": "Direct Messages", From 4fadecefd179c6d2b32475eec2fcc1f91d7042ab Mon Sep 17 00:00:00 2001 From: Douglas Gubert Date: Thu, 26 Mar 2020 17:34:31 -0300 Subject: [PATCH 081/223] Regression: Small fixes for Game Center (#17018) Co-authored-by: Diego Sampaio --- app/apps/client/gameCenter/gameCenter.js | 7 +++--- app/apps/client/gameCenter/gameContainer.html | 2 +- app/apps/client/gameCenter/invitePlayers.js | 22 ++++++++++++++----- app/apps/client/gameCenter/tabBar.js | 8 ++----- app/livestream/client/tabBar.js | 8 +++++-- app/ui-utils/client/lib/TabBar.js | 17 ++++++++++++++ packages/rocketchat-i18n/i18n/en.i18n.json | 7 +++--- packages/rocketchat-i18n/i18n/pt-BR.i18n.json | 2 +- packages/rocketchat-i18n/i18n/zh.i18n.json | 2 +- 9 files changed, 51 insertions(+), 24 deletions(-) diff --git a/app/apps/client/gameCenter/gameCenter.js b/app/apps/client/gameCenter/gameCenter.js index 91e092b4f97a..c7eef85de989 100644 --- a/app/apps/client/gameCenter/gameCenter.js +++ b/app/apps/client/gameCenter/gameCenter.js @@ -1,16 +1,15 @@ -import toastr from 'toastr'; import { Template } from 'meteor/templating'; import { ReactiveVar } from 'meteor/reactive-var'; import { modal } from '../../../ui-utils/client'; -import { APIClient, t } from '../../../utils/client'; +import { APIClient, t, handleError } from '../../../utils/client'; const getExternalComponents = async (instance) => { try { const { externalComponents } = await APIClient.get('apps/externalComponents'); instance.games.set(externalComponents); } catch (e) { - toastr.error((e.xhr.responseJSON && e.xhr.responseJSON.error) || e.message); + handleError(e); } instance.isLoading.set(false); @@ -98,7 +97,7 @@ Template.GameCenter.events({ 'click .js-invite'(event) { event.stopPropagation(); modal.open({ - title: t('Invite You Friends to Join'), + title: t('Apps_Game_Center_Invite_Friends'), content: 'InvitePlayers', data: this, confirmOnEnter: false, diff --git a/app/apps/client/gameCenter/gameContainer.html b/app/apps/client/gameCenter/gameContainer.html index 6bbb136df0ed..7955cc95577d 100644 --- a/app/apps/client/gameCenter/gameContainer.html +++ b/app/apps/client/gameCenter/gameContainer.html @@ -5,7 +5,7 @@ {{#if showBackButton}} diff --git a/app/apps/client/gameCenter/invitePlayers.js b/app/apps/client/gameCenter/invitePlayers.js index 31616bbf3862..1f0b6f07455e 100644 --- a/app/apps/client/gameCenter/invitePlayers.js +++ b/app/apps/client/gameCenter/invitePlayers.js @@ -4,6 +4,8 @@ import { Template } from 'meteor/templating'; import { ReactiveVar } from 'meteor/reactive-var'; import { Blaze } from 'meteor/blaze'; import { TAPi18n } from 'meteor/rocketchat:tap-i18n'; +import { Tracker } from 'meteor/tracker'; +import { Session } from 'meteor/session'; import { AutoComplete } from '../../../meteor-autocomplete/client'; import { roomTypes } from '../../../utils/client'; @@ -79,15 +81,23 @@ Template.InvitePlayers.events({ roomTypes.openRouteLink(result.t, result); - // setTimeout ensures the message is only sent after the + // This ensures the message is only sent after the // user has been redirected to the new room, preventing a // weird bug that made the message appear as unsent until // the screen gets refreshed - setTimeout(() => call('sendMessage', { - _id: Random.id(), - rid: result.rid, - msg: TAPi18n.__('Game_Center_Play_Game_Together', { name }), - }), 100); + Tracker.autorun((c) => { + if (Session.get('openedRoom') !== result.rid) { + return; + } + + call('sendMessage', { + _id: Random.id(), + rid: result.rid, + msg: TAPi18n.__('Apps_Game_Center_Play_Game_Together', { name }), + }); + + c.stop(); + }); modal.close(); } catch (err) { diff --git a/app/apps/client/gameCenter/tabBar.js b/app/apps/client/gameCenter/tabBar.js index 0d5aff24c957..fe5883119c97 100644 --- a/app/apps/client/gameCenter/tabBar.js +++ b/app/apps/client/gameCenter/tabBar.js @@ -2,7 +2,7 @@ import { Meteor } from 'meteor/meteor'; import { Tracker } from 'meteor/tracker'; import { APIClient } from '../../../utils/client'; -import { TabBar, TABBAR_DEFAULT_VISIBLE_ICON_COUNT } from '../../../ui-utils/client'; +import { TabBar } from '../../../ui-utils/client'; import { settings } from '../../../settings/client'; import './gameCenter.html'; @@ -10,23 +10,19 @@ import './gameCenter.html'; Meteor.startup(function() { Tracker.autorun(async function() { if (!settings.get('Apps_Game_Center_enabled')) { - TabBar.size = TABBAR_DEFAULT_VISIBLE_ICON_COUNT; return TabBar.removeButton('gameCenter'); } const { externalComponents } = await APIClient.get('apps/externalComponents'); if (!externalComponents.length) { - TabBar.size = TABBAR_DEFAULT_VISIBLE_ICON_COUNT; return TabBar.removeButton('gameCenter'); } - TabBar.size = TABBAR_DEFAULT_VISIBLE_ICON_COUNT + 1; - TabBar.addButton({ groups: ['channel', 'group', 'direct'], id: 'gameCenter', - i18nTitle: 'Game_Center', + i18nTitle: 'Apps_Game_Center', icon: 'game', template: 'GameCenter', order: -1, diff --git a/app/livestream/client/tabBar.js b/app/livestream/client/tabBar.js index 1ebd068b2719..a1041cac5256 100644 --- a/app/livestream/client/tabBar.js +++ b/app/livestream/client/tabBar.js @@ -10,8 +10,12 @@ Meteor.startup(function() { Tracker.autorun(function() { TabBar.removeButton('livestream'); if (settings.get('Livestream_enabled')) { - const live = Rooms.findOne({ _id: Session.get('openedRoom'), 'streamingOptions.type': 'livestream', 'streamingOptions.id': { $exists: 1 } }, { fields: { streamingOptions: 1 } }); - TabBar.size = live ? 5 : 4; + const live = Rooms.findOne({ + _id: Session.get('openedRoom'), + 'streamingOptions.type': 'livestream', + 'streamingOptions.id': { $exists: 1 }, + }, { fields: { streamingOptions: 1 } }); + return TabBar.addButton({ groups: ['channel', 'group'], id: 'livestream', diff --git a/app/ui-utils/client/lib/TabBar.js b/app/ui-utils/client/lib/TabBar.js index b9ec9039e3d7..15568d7be4e9 100644 --- a/app/ui-utils/client/lib/TabBar.js +++ b/app/ui-utils/client/lib/TabBar.js @@ -1,5 +1,6 @@ import _ from 'underscore'; import { ReactiveVar } from 'meteor/reactive-var'; +import { Tracker } from 'meteor/tracker'; export const TABBAR_DEFAULT_VISIBLE_ICON_COUNT = 4; @@ -38,12 +39,28 @@ export const TabBar = new class TabBar { btns[config.id].groups = _.union(btns[config.id].groups || [], this.extraGroups[config.id]); } + // When you add a button with an order value of -1 + // we assume you want to force the visualization of your button + // so we increase the number of buttons that are shown so you + // don't end up hiding any of the default ones + if (config.order === -1) { + Tracker.nonreactive(() => this.size++); + } + this.buttons.set(btns); } removeButton(id) { const btns = this.buttons.curValue; + + // Here we decrease the shown count as your + // button is no longer present + if (btns[id] && btns[id].order === -1) { + Tracker.nonreactive(() => this.size--); + } + delete btns[id]; + this.buttons.set(btns); } diff --git a/packages/rocketchat-i18n/i18n/en.i18n.json b/packages/rocketchat-i18n/i18n/en.i18n.json index 5c8e260d2f98..dd9a3327143c 100644 --- a/packages/rocketchat-i18n/i18n/en.i18n.json +++ b/packages/rocketchat-i18n/i18n/en.i18n.json @@ -392,7 +392,11 @@ "Apps_Framework_Development_Mode": "Enable development mode", "Apps_Framework_Development_Mode_Description": "Development mode allows the installation of Apps that are not from the Rocket.Chat's Marketplace.", "Apps_Framework_enabled": "Enable the App Framework", + "Apps_Game_Center": "Game Center", + "Apps_Game_Center_Back": "Back to Game Center", "Apps_Game_Center_enabled": "Enable the Game Center", + "Apps_Game_Center_Play_Game_Together": "@here Let's play __name__ together!", + "Apps_Game_Center_Invite_Friends": "Invite your friends to join", "Apps_Marketplace_Deactivate_App_Prompt": "Do you really want to disable this app?", "Apps_Marketplace_Modify_App_Subscription": "Modify Subscription", "Apps_Marketplace_Uninstall_App_Prompt": "Do you really want to uninstall this app?", @@ -495,7 +499,6 @@ "Back": "Back", "Back_to_applications": "Back to applications", "Back_to_chat": "Back to chat", - "Back_to_Game_Center": "Back to Game Center", "Back_to_imports": "Back to imports", "Back_to_integration_detail": "Back to the integration detail", "Back_to_integrations": "Back to integrations", @@ -1612,8 +1615,6 @@ "From_Email": "From Email", "From_email_warning": "Warning: The field From is subject to your mail server settings.", "Full_Screen": "Full Screen", - "Game_Center": "Game Center", - "Game_Center_Play_Game_Together": "@here Let's play __name__ together!", "Gaming": "Gaming", "General": "General", "Get_link": "Get Link", diff --git a/packages/rocketchat-i18n/i18n/pt-BR.i18n.json b/packages/rocketchat-i18n/i18n/pt-BR.i18n.json index 1b7210b17d34..e26ed0ea5829 100644 --- a/packages/rocketchat-i18n/i18n/pt-BR.i18n.json +++ b/packages/rocketchat-i18n/i18n/pt-BR.i18n.json @@ -370,6 +370,7 @@ "Apps_Engine_Version": "Versรฃo da Apps Engine", "Apps_Framework_Development_Mode": "Habilitar modo de desenvolvimento", "Apps_Framework_enabled": "Ativar o App Framework", + "Apps_Game_Center": "Game Center", "Apps_Game_Center_enabled": "Habilitar Game Center", "Apps_Settings": "Configuraรงรตes da aplicaรงรฃo", "Apps_WhatIsIt": "Apps: o que sรฃo eles?", @@ -1476,7 +1477,6 @@ "From_Email": "Email De", "From_email_warning": "Aviso: O campo De estรก sujeito ร s configuraรงรตes do seu servidor de emails.", "Full_Screen": "Tela cheia", - "Game_Center": "Game Center", "Gaming": "Jogos", "General": "Geral", "Get_link": "Obter Link", diff --git a/packages/rocketchat-i18n/i18n/zh.i18n.json b/packages/rocketchat-i18n/i18n/zh.i18n.json index 735d4d3d1517..273c4640ecdd 100644 --- a/packages/rocketchat-i18n/i18n/zh.i18n.json +++ b/packages/rocketchat-i18n/i18n/zh.i18n.json @@ -374,6 +374,7 @@ "Apps_Framework_Development_Mode": "ๅฏ็”จๅผ€ๅ‘ๆจกๅผ", "Apps_Framework_Development_Mode_Description": "ๅผ€ๅ‘ๆจกๅผๅ…่ฎธๆ‚จๅฎ‰่ฃ…้‚ฃไบ›ไธๅœจ Rocket.Chat ๅธ‚ๅœบไธญ็š„ๅบ”็”จใ€‚", "Apps_Framework_enabled": "ๅฏ็”จๅบ”็”จๆก†ๆžถ", + "Apps_Game_Center": "ๆธธๆˆไธญๅฟƒ", "Apps_Game_Center_enabled": "ๅฏ็”จๆธธๆˆไธญๅฟƒ", "Apps_Marketplace_Deactivate_App_Prompt": "ๆ˜ฏๅฆ็กฎๅฎš่ฆ็ฆ็”จๆญคๅบ”็”จ็จ‹ๅบ๏ผŸ", "Apps_Marketplace_Modify_App_Subscription": "ไฟฎๆ”น่ฎข้˜…", @@ -1551,7 +1552,6 @@ "From_Email": "ไปŽ็”ตๅญ้‚ฎไปถ", "From_email_warning": "่ญฆๅ‘Š๏ผšFrom ๅญ—ๆฎตๆฅ่‡ชไบŽ้‚ฎไปถๆœๅŠกๅ™จ็š„่ฎพ็ฝฎใ€‚", "Full_Screen": "ๅ…จๅฑ", - "Game_Center": "ๆธธๆˆไธญๅฟƒ", "Gaming": "ๆธธๆˆ", "General": "้€š็”จ", "Get_link": "่Žทๅ–้“พๆŽฅ", From 951a06e5aec08d78ffc22bec7e3ab6dd354305ac Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Thu, 26 Mar 2020 03:07:31 -0300 Subject: [PATCH 082/223] Bump version to 3.1.0-rc.0 --- .docker/Dockerfile.rhel | 2 +- .github/history.json | 2 +- HISTORY.md | 169 ++++++++++++++++++++++++++++++++++++++ app/utils/rocketchat.info | 2 +- package.json | 2 +- 5 files changed, 173 insertions(+), 4 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index 3c765d8ffeff..619924060341 100644 --- a/.docker/Dockerfile.rhel +++ b/.docker/Dockerfile.rhel @@ -1,6 +1,6 @@ FROM registry.access.redhat.com/rhscl/nodejs-8-rhel7 -ENV RC_VERSION 3.1.0-develop +ENV RC_VERSION 3.1.0-rc.0 MAINTAINER buildmaster@rocket.chat diff --git a/.github/history.json b/.github/history.json index 8352e9effef3..dd48d2729376 100644 --- a/.github/history.json +++ b/.github/history.json @@ -40069,4 +40069,4 @@ ] } } -} \ No newline at end of file +} diff --git a/HISTORY.md b/HISTORY.md index e5eea1c8a5c0..79c3b30f71b4 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,4 +1,173 @@ +# 3.1.0 (Under Release Candidate Process) + +## 3.1.0-rc.0 +`2020-03-26 ยท 20 ๐ŸŽ‰ ยท 16 ๐Ÿš€ ยท 44 ๐Ÿ› ยท 29 ๐Ÿ” ยท 34 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` + +### ๐ŸŽ‰ New features + +- Sort channel directory listing by latest message ([#16604](https://github.com/RocketChat/Rocket.Chat/pull/16604) by [@subham103](https://github.com/subham103)) +- Direct message between multiple users ([#16761](https://github.com/RocketChat/Rocket.Chat/pull/16761)) +- [ENTERPRISE] Engagement Dashboard ([#16960](https://github.com/RocketChat/Rocket.Chat/pull/16960)) +- Synchronize saml roles to local user (#16152) ([#16158](https://github.com/RocketChat/Rocket.Chat/pull/16158) by [@col-panic](https://github.com/col-panic)) +- Route to get updated roles after a date ([#16610](https://github.com/RocketChat/Rocket.Chat/pull/16610) by [@ashwaniYDV](https://github.com/ashwaniYDV)) +- Enterprise Edition ([#16944](https://github.com/RocketChat/Rocket.Chat/pull/16944)) +- Settings to enable E2E encryption for Private and Direct Rooms by default ([#16928](https://github.com/RocketChat/Rocket.Chat/pull/16928)) +- Experimental Game Center (externalComponents implementation) ([#15123](https://github.com/RocketChat/Rocket.Chat/pull/15123)) +- Add default chat closing tags in Omnichannel departments ([#16859](https://github.com/RocketChat/Rocket.Chat/pull/16859)) +- Allow to set default department and location sharing on SMS / WhatsApp integration ([#16557](https://github.com/RocketChat/Rocket.Chat/pull/16557)) +- Two Factor authentication via email ([#15949](https://github.com/RocketChat/Rocket.Chat/pull/15949)) +- Add new Omnichannel department forwarding callback ([#16779](https://github.com/RocketChat/Rocket.Chat/pull/16779)) +- Translation via MS translate ([#16363](https://github.com/RocketChat/Rocket.Chat/pull/16363) by [@mrsimpson](https://github.com/mrsimpson)) +- API `users.deactivateIdle` for mass-disabling of idle users ([#16849](https://github.com/RocketChat/Rocket.Chat/pull/16849)) +- API to logout from other locations ([#16193](https://github.com/RocketChat/Rocket.Chat/pull/16193) by [@jschirrmacher](https://github.com/jschirrmacher)) +- SAML config to allow clock drift ([#16751](https://github.com/RocketChat/Rocket.Chat/pull/16751) by [@localguru](https://github.com/localguru)) +- Update Meteor to 1.9.2 and Node to 12.16.1 ([#16718](https://github.com/RocketChat/Rocket.Chat/pull/16718)) +- Add methods to include room types on dashboard ([#16576](https://github.com/RocketChat/Rocket.Chat/pull/16576)) +- Save default filters in the Omnichannel Current Chats list ([#16653](https://github.com/RocketChat/Rocket.Chat/pull/16653)) +- Open the Visitor Info panel automatically when the agent enters an Omnichannel room ([#16496](https://github.com/RocketChat/Rocket.Chat/pull/16496)) + +### ๐Ÿš€ Improvements + +- Ability to change offline message button link on emails notifications ([#16784](https://github.com/RocketChat/Rocket.Chat/pull/16784)) +- Update ancestral departments when an Omnichannel room is forwarded to another department ([#16958](https://github.com/RocketChat/Rocket.Chat/pull/16958)) +- Allow login of non LDAP users when LDAP is enabled ([#16949](https://github.com/RocketChat/Rocket.Chat/pull/16949)) +- Omnichannel aggregations performance improvements ([#16755](https://github.com/RocketChat/Rocket.Chat/pull/16755)) +- Replace the Department select component by an Autocomplete input in Omnichannel UI ([#16669](https://github.com/RocketChat/Rocket.Chat/pull/16669)) +- User gets feedback when a message has been starred or unstarred ([#13860](https://github.com/RocketChat/Rocket.Chat/pull/13860) by [@fliptrail](https://github.com/fliptrail)) +- Added border to page header. ([#16792](https://github.com/RocketChat/Rocket.Chat/pull/16792)) +- Context menu autofocus ([#16915](https://github.com/RocketChat/Rocket.Chat/pull/16915)) +- Add option to require authentication on user's shield endpoint ([#16845](https://github.com/RocketChat/Rocket.Chat/pull/16845)) +- Apps-engine E2E tests ([#16781](https://github.com/RocketChat/Rocket.Chat/pull/16781)) +- Rename client-side term "Livechat" to "Omnichannel" ([#16752](https://github.com/RocketChat/Rocket.Chat/pull/16752)) +- Accept open formarts of text, spreadsheet, presentation for upload by default ([#16502](https://github.com/RocketChat/Rocket.Chat/pull/16502)) +- Add message_pruned and file_pruned for singular file or message deleted ([#16322](https://github.com/RocketChat/Rocket.Chat/pull/16322) by [@ritwizsinha](https://github.com/ritwizsinha)) +- Added autofocus to Directory ([#16217](https://github.com/RocketChat/Rocket.Chat/pull/16217) by [@ashwaniYDV](https://github.com/ashwaniYDV)) +- Added timer in video message recorder ([#16221](https://github.com/RocketChat/Rocket.Chat/pull/16221) by [@ashwaniYDV](https://github.com/ashwaniYDV)) +- Removed the 'reply in thread' from thread replies ([#16630](https://github.com/RocketChat/Rocket.Chat/pull/16630) by [@ritwizsinha](https://github.com/ritwizsinha)) + +### ๐Ÿ› Bug fixes + +- Wrong message count statistics in Admin info page ([#16680](https://github.com/RocketChat/Rocket.Chat/pull/16680) by [@subham103](https://github.com/subham103)) +- CAS ignores username attribute map ([#16942](https://github.com/RocketChat/Rocket.Chat/pull/16942) by [@pmayer](https://github.com/pmayer)) +- Adding margin to click to load text ([#16210](https://github.com/RocketChat/Rocket.Chat/pull/16210) by [@ritwizsinha](https://github.com/ritwizsinha)) +- Explicitly set text of confirmation button ([#16138](https://github.com/RocketChat/Rocket.Chat/pull/16138) by [@jschirrmacher](https://github.com/jschirrmacher)) +- Display user status along with icon ([#16875](https://github.com/RocketChat/Rocket.Chat/pull/16875) by [@Nikhil713](https://github.com/Nikhil713)) +- users.setStatus and user from params ([#16128](https://github.com/RocketChat/Rocket.Chat/pull/16128) by [@rm-yakovenko](https://github.com/rm-yakovenko)) +- Text formatted to remain within button even on screen resize ([#14136](https://github.com/RocketChat/Rocket.Chat/pull/14136) by [@Rodriq](https://github.com/Rodriq)) +- Messages doesn't send to Slack via SlackBridge after renaming channel ([#16565](https://github.com/RocketChat/Rocket.Chat/pull/16565) by [@antkaz](https://github.com/antkaz)) +- Remove Reply in DM from Omnichannel rooms ([#16957](https://github.com/RocketChat/Rocket.Chat/pull/16957) by [@ashwaniYDV](https://github.com/ashwaniYDV)) +- Login with LinkedIn not mapping name and picture correctly ([#16955](https://github.com/RocketChat/Rocket.Chat/pull/16955)) +- Make the AppLivechatBridge.createMessage works properly as a promise ([#16941](https://github.com/RocketChat/Rocket.Chat/pull/16941)) +- Omnichannel Inquiry names not being updated when the guest name changes ([#16782](https://github.com/RocketChat/Rocket.Chat/pull/16782)) +- Real-time data rendering on Omnichannel room info panel ([#16783](https://github.com/RocketChat/Rocket.Chat/pull/16783)) +- Show error message if password and confirm password not equal ([#16247](https://github.com/RocketChat/Rocket.Chat/pull/16247) by [@ashwaniYDV](https://github.com/ashwaniYDV)) +- Message quote button inside threads ([#16925](https://github.com/RocketChat/Rocket.Chat/pull/16925)) +- admin can sort users by email in directory view ([#15796](https://github.com/RocketChat/Rocket.Chat/pull/15796) by [@sneakson](https://github.com/sneakson)) +- Pinned messages wouldn't collapse ([#16188](https://github.com/RocketChat/Rocket.Chat/pull/16188)) +- Correct thread messages display in context bar. ([#16835](https://github.com/RocketChat/Rocket.Chat/pull/16835) by [@ritwizsinha](https://github.com/ritwizsinha)) +- Public channel cannot be accessed via URL when 'Allow Anonymous Read' is active ([#16914](https://github.com/RocketChat/Rocket.Chat/pull/16914) by [@ashwaniYDV](https://github.com/ashwaniYDV)) +- Custom OAuth Bug ([#16811](https://github.com/RocketChat/Rocket.Chat/pull/16811) by [@PrajvalRaval](https://github.com/PrajvalRaval)) +- Facebook integration missing visitor data after registerGuest ([#16810](https://github.com/RocketChat/Rocket.Chat/pull/16810) by [@antkaz](https://github.com/antkaz)) +- Invite links counting users already joined ([#16591](https://github.com/RocketChat/Rocket.Chat/pull/16591) by [@ritwizsinha](https://github.com/ritwizsinha)) +- No settings to be displayed if search not found ([#16255](https://github.com/RocketChat/Rocket.Chat/pull/16255) by [@ashwaniYDV](https://github.com/ashwaniYDV)) +- Removed some hardcoded texts ([#16304](https://github.com/RocketChat/Rocket.Chat/pull/16304) by [@ashwaniYDV](https://github.com/ashwaniYDV)) +- Cannot unfollow message from thread's panel ([#16560](https://github.com/RocketChat/Rocket.Chat/pull/16560) by [@subham103](https://github.com/subham103)) +- Fallback content-type as application/octet-stream for FileSystem uploads ([#16776](https://github.com/RocketChat/Rocket.Chat/pull/16776) by [@georgmu](https://github.com/georgmu)) +- Remove spaces from i18n placeholders to show Personal access token ([#16724](https://github.com/RocketChat/Rocket.Chat/pull/16724) by [@harakiwi1](https://github.com/harakiwi1)) +- Slash command preview: Wrong item being selected, Horizontal scroll ([#16750](https://github.com/RocketChat/Rocket.Chat/pull/16750)) +- Cannot pin on direct messages ([#16759](https://github.com/RocketChat/Rocket.Chat/pull/16759) by [@ritwizsinha](https://github.com/ritwizsinha)) +- Get all channels from Slack via REST API ([#16767](https://github.com/RocketChat/Rocket.Chat/pull/16767) by [@antkaz](https://github.com/antkaz)) +- Flextab information is not working when clicking on visitor or agent username in Omnichannel messages ([#16797](https://github.com/RocketChat/Rocket.Chat/pull/16797) by [@ashwaniYDV](https://github.com/ashwaniYDV)) +- Slackbridge-import command doesn't work ([#16645](https://github.com/RocketChat/Rocket.Chat/pull/16645) by [@antkaz](https://github.com/antkaz)) +- Cannot edit Profile when Full Name is empty and not required ([#16744](https://github.com/RocketChat/Rocket.Chat/pull/16744)) +- Color setting editing issues ([#16706](https://github.com/RocketChat/Rocket.Chat/pull/16706)) +- Console error on login ([#16704](https://github.com/RocketChat/Rocket.Chat/pull/16704)) +- Delete messages while searching bug ([#16568](https://github.com/RocketChat/Rocket.Chat/pull/16568) by [@karimelghazouly](https://github.com/karimelghazouly)) +- Correctly aligned input element of custom user status component ([#16151](https://github.com/RocketChat/Rocket.Chat/pull/16151) by [@ashwaniYDV](https://github.com/ashwaniYDV)) +- "Jump to message" is rendered twice when message is starred. ([#16170](https://github.com/RocketChat/Rocket.Chat/pull/16170) by [@ashwaniYDV](https://github.com/ashwaniYDV)) +- If InternalHubot_Username is undefined then rocket.cat should be default bot ([#16371](https://github.com/RocketChat/Rocket.Chat/pull/16371) by [@ashwaniYDV](https://github.com/ashwaniYDV)) +- Bug making us to reload the page after cancel was clicked on editing ([#16315](https://github.com/RocketChat/Rocket.Chat/pull/16315) by [@ritwizsinha](https://github.com/ritwizsinha)) +- File uploads out of threads are not visible in regular message view ([#16416](https://github.com/RocketChat/Rocket.Chat/pull/16416) by [@ashwaniYDV](https://github.com/ashwaniYDV)) +- Added an option to pin/unpin a thread message ([#16457](https://github.com/RocketChat/Rocket.Chat/pull/16457) by [@ashwaniYDV](https://github.com/ashwaniYDV)) +- Changed Opt_In message, removed translations ([#16631](https://github.com/RocketChat/Rocket.Chat/pull/16631)) +- Additional scroll when contextual bar is open ([#16667](https://github.com/RocketChat/Rocket.Chat/pull/16667)) + +
+๐Ÿ” Minor changes + +- Fix: 2FA DDP method not getting code on API call that doesnโ€™t requires 2FA ([#16998](https://github.com/RocketChat/Rocket.Chat/pull/16998)) +- Fix StreamCast info ([#16995](https://github.com/RocketChat/Rocket.Chat/pull/16995)) +- Fix: StreamCast was not working correctly ([#16983](https://github.com/RocketChat/Rocket.Chat/pull/16983)) +- Change license version requested ([#16956](https://github.com/RocketChat/Rocket.Chat/pull/16956)) +- Fix: Padding required in the Facebook Messenger option in Livechat ([#16202](https://github.com/RocketChat/Rocket.Chat/pull/16202) by [@ritwizsinha](https://github.com/ritwizsinha)) +- Add some missing ES translations ([#16120](https://github.com/RocketChat/Rocket.Chat/pull/16120) by [@ivanape](https://github.com/ivanape)) +- Redirected to home when a room has been deleted instead of getting broken link(blank page) of deleted room ([#16227](https://github.com/RocketChat/Rocket.Chat/pull/16227) by [@ashwaniYDV](https://github.com/ashwaniYDV)) +- Fixed translate variable in UnarchiveRoom Modal ([#16310](https://github.com/RocketChat/Rocket.Chat/pull/16310) by [@ashwaniYDV](https://github.com/ashwaniYDV)) +- Update cypress to version 4.0.2 ([#16685](https://github.com/RocketChat/Rocket.Chat/pull/16685)) +- Update presence package ([#16786](https://github.com/RocketChat/Rocket.Chat/pull/16786)) +- Add an index to the name field for omnichannel department ([#16953](https://github.com/RocketChat/Rocket.Chat/pull/16953)) +- Add lint to `.less` files ([#16893](https://github.com/RocketChat/Rocket.Chat/pull/16893)) +- Upgrade Livechat Widget version to 1.4.0 ([#16950](https://github.com/RocketChat/Rocket.Chat/pull/16950)) +- Bump acorn from 6.0.7 to 6.4.1 ([#16876](https://github.com/RocketChat/Rocket.Chat/pull/16876) by [@dependabot[bot]](https://github.com/dependabot[bot])) +- Fixed Line break incorrectly being called apostrophe in code ([#16918](https://github.com/RocketChat/Rocket.Chat/pull/16918) by [@aKn1ghtOut](https://github.com/aKn1ghtOut)) +- Improve room types usage ([#16753](https://github.com/RocketChat/Rocket.Chat/pull/16753)) +- Add Enterprise Edition license ([#16801](https://github.com/RocketChat/Rocket.Chat/pull/16801)) +- LingoHub based on develop ([#16837](https://github.com/RocketChat/Rocket.Chat/pull/16837)) +- Regression: Fix omnichannel icon missing on sidebar ([#16775](https://github.com/RocketChat/Rocket.Chat/pull/16775)) +- Removing Trailing Space ([#16470](https://github.com/RocketChat/Rocket.Chat/pull/16470) by [@aryamanpuri](https://github.com/aryamanpuri)) +- [Apps] Lazy load categories and marketplaceVersion in admin - apps page ([#16258](https://github.com/RocketChat/Rocket.Chat/pull/16258)) +- Fix Docker preview image ([#16736](https://github.com/RocketChat/Rocket.Chat/pull/16736)) +- [CHORE] Changed remaining SelectInput's to Select ([#16719](https://github.com/RocketChat/Rocket.Chat/pull/16719)) +- [CHORE] Update snap install instructions ([#16720](https://github.com/RocketChat/Rocket.Chat/pull/16720)) +- Regression: Show upload errors ([#16681](https://github.com/RocketChat/Rocket.Chat/pull/16681)) +- [CHORE] Look for Storybook stories on `app/` too ([#16595](https://github.com/RocketChat/Rocket.Chat/pull/16595)) +- LingoHub based on develop ([#16640](https://github.com/RocketChat/Rocket.Chat/pull/16640)) +- fix: add option to mount media on snap ([#13591](https://github.com/RocketChat/Rocket.Chat/pull/13591) by [@knrt10](https://github.com/knrt10)) +- Merge master into develop & Set version to 3.1.0-develop ([#16609](https://github.com/RocketChat/Rocket.Chat/pull/16609)) + +
+ +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜ + +- [@Nikhil713](https://github.com/Nikhil713) +- [@PrajvalRaval](https://github.com/PrajvalRaval) +- [@Rodriq](https://github.com/Rodriq) +- [@aKn1ghtOut](https://github.com/aKn1ghtOut) +- [@antkaz](https://github.com/antkaz) +- [@aryamanpuri](https://github.com/aryamanpuri) +- [@ashwaniYDV](https://github.com/ashwaniYDV) +- [@col-panic](https://github.com/col-panic) +- [@dependabot[bot]](https://github.com/dependabot[bot]) +- [@fliptrail](https://github.com/fliptrail) +- [@georgmu](https://github.com/georgmu) +- [@harakiwi1](https://github.com/harakiwi1) +- [@ivanape](https://github.com/ivanape) +- [@jschirrmacher](https://github.com/jschirrmacher) +- [@karimelghazouly](https://github.com/karimelghazouly) +- [@knrt10](https://github.com/knrt10) +- [@localguru](https://github.com/localguru) +- [@mrsimpson](https://github.com/mrsimpson) +- [@pmayer](https://github.com/pmayer) +- [@ritwizsinha](https://github.com/ritwizsinha) +- [@rm-yakovenko](https://github.com/rm-yakovenko) +- [@sneakson](https://github.com/sneakson) +- [@subham103](https://github.com/subham103) + +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@MarcosSpessatto](https://github.com/MarcosSpessatto) +- [@d-gubert](https://github.com/d-gubert) +- [@gabriellsh](https://github.com/gabriellsh) +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@ggazzo](https://github.com/ggazzo) +- [@lolimay](https://github.com/lolimay) +- [@marceloschmidt](https://github.com/marceloschmidt) +- [@renatobecker](https://github.com/renatobecker) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) +- [@tassoevan](https://github.com/tassoevan) + # 3.0.7 `2020-03-25 ยท 1 ๐Ÿ” ยท 1 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index 72a729708147..89e93e701d59 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.1.0-develop" + "version": "3.1.0-rc.0" } diff --git a/package.json b/package.json index 44a87bc90d54..f24426c8b27c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Rocket.Chat", "description": "The Ultimate Open Source WebChat Platform", - "version": "3.1.0-develop", + "version": "3.1.0-rc.0", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From 8dbb0d2621599480a889ff831c79e5234d2aa025 Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Thu, 26 Mar 2020 19:04:52 -0300 Subject: [PATCH 083/223] Bump version to 3.1.0-rc.1 --- .docker/Dockerfile.rhel | 2 +- .github/history.json | 1258 +++++++++++++- HISTORY.md | 3317 ++++++++++++++++++++++++++++++++++++- app/utils/rocketchat.info | 2 +- package.json | 2 +- 5 files changed, 4551 insertions(+), 30 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index 619924060341..db7f8b82184b 100644 --- a/.docker/Dockerfile.rhel +++ b/.docker/Dockerfile.rhel @@ -1,6 +1,6 @@ FROM registry.access.redhat.com/rhscl/nodejs-8-rhel7 -ENV RC_VERSION 3.1.0-rc.0 +ENV RC_VERSION 3.1.0-rc.1 MAINTAINER buildmaster@rocket.chat diff --git a/.github/history.json b/.github/history.json index dd48d2729376..f436ce550743 100644 --- a/.github/history.json +++ b/.github/history.json @@ -40067,6 +40067,1262 @@ ] } ] + }, + "3.1.0-rc.0": { + "node_version": "12.16.1", + "npm_version": "6.13.4", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "16604", + "title": "[NEW] Sort channel directory listing by latest message", + "userLogin": "subham103", + "contributors": [ + "subham103", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "16680", + "title": "[FIX] Wrong message count statistics in Admin info page", + "userLogin": "subham103", + "contributors": [ + "subham103", + "gabriellsh", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "16998", + "title": "Fix: 2FA DDP method not getting code on API call that doesnโ€™t requires 2FA", + "userLogin": "rodrigok", + "milestone": "3.1.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "16761", + "title": "[NEW] Direct message between multiple users", + "userLogin": "ggazzo", + "milestone": "3.1.0", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "17017", + "title": "Regression: Remove deprecated Omnichannel setting used to fetch the queue data through subscription ", + "userLogin": "renatobecker", + "milestone": "3.1.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "16999", + "title": "Regression: Replace the Omnichannel queue model observe with Stream", + "userLogin": "renatobecker", + "milestone": "3.1.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "16960", + "title": "[NEW] [ENTERPRISE] Engagement Dashboard", + "userLogin": "tassoevan", + "contributors": [ + "tassoevan", + "MarcosSpessatto" + ] + }, + { + "pr": "16995", + "title": "Fix StreamCast info", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "16784", + "title": "[IMPROVE] Ability to change offline message button link on emails notifications", + "userLogin": "MarcosSpessatto", + "milestone": "3.1.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok" + ] + }, + { + "pr": "16989", + "title": "[FIX] Race conditions on/before login", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "16983", + "title": "Fix: StreamCast was not working correctly", + "userLogin": "rodrigok", + "milestone": "3.1.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "16942", + "title": "[FIX] CAS ignores username attribute map", + "userLogin": "pmayer", + "milestone": "3.1.0", + "contributors": [ + "pmayer", + "web-flow" + ] + }, + { + "pr": "16958", + "title": "[FIX] Ancestral departments were not updated when an Omnichannel room is forwarded to another department", + "userLogin": "renatobecker", + "milestone": "3.1.0", + "contributors": [ + "renatobecker", + "web-flow", + "sampaiodiego" + ] + }, + { + "pr": "16956", + "title": "Change license version requested", + "userLogin": "geekgonecrazy", + "contributors": [ + "geekgonecrazy", + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "16158", + "title": "[NEW] Synchronize saml roles to local user (#16152)", + "userLogin": "col-panic", + "contributors": [ + "col-panic", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "16202", + "title": "Fix: Padding required in the Facebook Messenger option in Livechat", + "userLogin": "ritwizsinha", + "contributors": [ + "ritwizsinha", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "16120", + "title": "Add some missing ES translations", + "userLogin": "ivanape", + "contributors": [ + "ivanape", + "gabriellsh", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "16210", + "title": "Fix: Adding margin to click to load text", + "userLogin": "ritwizsinha", + "contributors": [ + "ritwizsinha", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "16138", + "title": "[FIX] Explicitly set text of confirmation button", + "userLogin": "jschirrmacher", + "contributors": [ + "jschirrmacher", + "web-flow" + ] + }, + { + "pr": "16227", + "title": "Redirected to home when a room has been deleted instead of getting broken link(blank page) of deleted room", + "userLogin": "ashwaniYDV", + "contributors": [ + "ashwaniYDV", + "web-flow" + ] + }, + { + "pr": "16310", + "title": "Fixed translate variable in UnarchiveRoom Modal", + "userLogin": "ashwaniYDV", + "contributors": [ + "ashwaniYDV" + ] + }, + { + "pr": "16875", + "title": "[FIX] Display user status along with icon", + "userLogin": "Nikhil713", + "contributors": [ + "Nikhil713", + "web-flow" + ] + }, + { + "pr": "16128", + "title": "[FIX] `users.setStatus` API was ignoring the user from params when trying to set status of other users", + "userLogin": "rm-yakovenko", + "milestone": "3.1.0", + "contributors": [ + "rm-yakovenko", + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "16685", + "title": "Update cypress to version 4.0.2", + "userLogin": "rodrigok", + "milestone": "3.1.0", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "14136", + "title": "[FIX] Text formatted to remain within button even on screen resize ", + "userLogin": "Rodriq", + "milestone": "3.1.0", + "contributors": [ + "Rodriq", + "web-flow", + "ggazzo" + ] + }, + { + "pr": "16565", + "title": "[FIX] Messages doesn't send to Slack via SlackBridge after renaming channel", + "userLogin": "antkaz", + "milestone": "3.1.0", + "contributors": [ + "antkaz" + ] + }, + { + "pr": "16610", + "title": "[NEW] Route to get updated roles after a date", + "userLogin": "ashwaniYDV", + "milestone": "3.1.0", + "contributors": [ + "ashwaniYDV", + "MarcosSpessatto" + ] + }, + { + "pr": "16957", + "title": "[FIX] Remove Reply in DM from Omnichannel rooms", + "userLogin": "ashwaniYDV", + "milestone": "3.1.0", + "contributors": [ + "ashwaniYDV", + "renatobecker", + "web-flow" + ] + }, + { + "pr": "16786", + "title": "Update presence package", + "userLogin": "sampaiodiego", + "milestone": "3.1.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "16944", + "title": "[NEW] Enterprise Edition", + "userLogin": "sampaiodiego", + "milestone": "3.1.0", + "contributors": [ + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "16953", + "title": "Add an index to the name field for omnichannel department", + "userLogin": "renatobecker", + "milestone": "3.1.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "16955", + "title": "[FIX] Login with LinkedIn not mapping name and picture correctly", + "userLogin": "marceloschmidt", + "contributors": [ + "marceloschmidt", + "sampaiodiego" + ] + }, + { + "pr": "16949", + "title": "[IMPROVE] Allow login of non LDAP users when LDAP is enabled", + "userLogin": "rodrigok", + "milestone": "3.1.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "16893", + "title": "Add lint to `.less` files", + "userLogin": "sampaiodiego", + "milestone": "3.1.0", + "contributors": [ + "sampaiodiego", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "16950", + "title": "Upgrade Livechat Widget version to 1.4.0", + "userLogin": "renatobecker", + "milestone": "3.1.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "16876", + "title": "Bump acorn from 6.0.7 to 6.4.1", + "userLogin": "dependabot[bot]", + "contributors": [ + "dependabot[bot]", + "web-flow" + ] + }, + { + "pr": "16928", + "title": "[NEW] Settings to enable E2E encryption for Private and Direct Rooms by default", + "userLogin": "rodrigok", + "milestone": "3.1.0", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "16941", + "title": "Fix: Make the AppLivechatBridge.createMessage works properly as a promise", + "userLogin": "renatobecker", + "milestone": "3.1.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "15123", + "title": "[NEW] Experimental Game Center (externalComponents implementation)", + "userLogin": "d-gubert", + "contributors": [ + "lolimay", + "web-flow", + "d-gubert" + ] + }, + { + "pr": "16755", + "title": "[IMPROVE] Omnichannel aggregations performance improvements", + "userLogin": "MarcosSpessatto", + "milestone": "3.1.0", + "contributors": [ + "MarcosSpessatto", + "renatobecker", + "web-flow" + ] + }, + { + "pr": "16669", + "title": "[IMPROVE] Replace the Department select component by an Autocomplete input in Omnichannel UI", + "userLogin": "renatobecker", + "milestone": "3.1.0", + "contributors": [ + "renatobecker", + "web-flow" + ] + }, + { + "pr": "16859", + "title": "[NEW] Add default chat closing tags in Omnichannel departments", + "userLogin": "renatobecker", + "milestone": "3.1.0", + "contributors": [ + "renatobecker", + "web-flow" + ] + }, + { + "pr": "16557", + "title": "[NEW] Allow to set default department and location sharing on SMS / WhatsApp integration", + "userLogin": "renatobecker", + "milestone": "3.1.0", + "contributors": [ + "renatobecker", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "15949", + "title": "[NEW] Two Factor authentication via email", + "userLogin": "rodrigok", + "milestone": "3.1.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "16779", + "title": "Add new Omnichannel department forwarding callback", + "userLogin": "renatobecker", + "milestone": "3.1.0", + "contributors": [ + "renatobecker", + "web-flow" + ] + }, + { + "pr": "16782", + "title": "[FIX] Omnichannel Inquiry names not being updated when the guest name changes", + "userLogin": "renatobecker", + "milestone": "3.1.0", + "contributors": [ + "renatobecker", + "web-flow" + ] + }, + { + "pr": "16787", + "title": "[FIX] Keeps the agent in the room after accepting a new Omnichannel request", + "userLogin": "renatobecker", + "milestone": "3.1.0", + "contributors": [ + "renatobecker", + "web-flow" + ] + }, + { + "pr": "16783", + "title": "[FIX] Real-time data rendering on Omnichannel room info panel ", + "userLogin": "renatobecker", + "milestone": "3.1.0", + "contributors": [ + "renatobecker", + "web-flow" + ] + }, + { + "pr": "16247", + "title": "[FIX] Show error message if password and confirm password not equal ", + "userLogin": "ashwaniYDV", + "milestone": "3.1.0", + "contributors": [ + "ashwaniYDV" + ] + }, + { + "pr": "16925", + "title": "[FIX] When trying to quote messages inside threads the quote would be sent to room instead to the thread", + "userLogin": "gabriellsh", + "contributors": [ + "gabriellsh" + ] + }, + { + "pr": "13860", + "title": "[IMPROVE] User gets feedback when a message has been starred or unstarred", + "userLogin": "fliptrail", + "milestone": "3.1.0", + "contributors": [ + "fliptrail" + ] + }, + { + "pr": "15796", + "title": "[FIX] Admins can't sort users by email in directory view", + "userLogin": "sneakson", + "milestone": "3.1.0", + "contributors": [ + "sneakson" + ] + }, + { + "pr": "16188", + "title": "[FIX] Pinned messages wouldn't collapse", + "userLogin": "gabriellsh", + "milestone": "3.1.0", + "contributors": [ + "gabriellsh" + ] + }, + { + "pr": "16792", + "title": "Added border to page header", + "userLogin": "gabriellsh", + "contributors": [ + "gabriellsh", + "web-flow" + ] + }, + { + "pr": "16835", + "title": "[FIX] Wrong thread messages display in contextual bar", + "userLogin": "ritwizsinha", + "milestone": "3.1.0", + "contributors": [ + "ritwizsinha" + ] + }, + { + "pr": "16914", + "title": "[FIX] Public channel cannot be accessed via URL when 'Allow Anonymous Read' is active", + "userLogin": "ashwaniYDV", + "contributors": [ + "ashwaniYDV" + ] + }, + { + "pr": "16918", + "title": "Fixed Line break incorrectly being called apostrophe in code", + "userLogin": "aKn1ghtOut", + "contributors": [ + "aKn1ghtOut" + ] + }, + { + "pr": "16915", + "title": "[IMPROVE] Contextual bar autofocus", + "userLogin": "gabriellsh", + "contributors": [ + "gabriellsh" + ] + }, + { + "pr": "16753", + "title": "Improve room types usage", + "userLogin": "ggazzo", + "milestone": "3.1.0", + "contributors": [ + "ggazzo", + "rodrigok" + ] + }, + { + "pr": "16363", + "title": "[NEW] Translation via MS translate", + "userLogin": "mrsimpson", + "description": "Adds Microsoft's translation service (https://translator.microsoft.com/) as a provider for translation of messages.\r\nIn addition to implementing the interface (similar to google and DeepL), a small change has been done in order to display the translation provider on the UI.", + "milestone": "3.1.0", + "contributors": [ + "mrsimpson", + "web-flow" + ] + }, + { + "pr": "16849", + "title": "[NEW] API `users.deactivateIdle` for mass-disabling of idle users", + "userLogin": "rodrigok", + "milestone": "3.1.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "16193", + "title": "[NEW] API `users.logoutOtherClient` to logout from other locations", + "userLogin": "jschirrmacher", + "milestone": "3.1.0", + "contributors": [ + "jschirrmacher", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "16845", + "title": "[IMPROVE] Add option to require authentication on user's shield endpoint", + "userLogin": "MarcosSpessatto", + "milestone": "3.1.0", + "contributors": [ + "MarcosSpessatto", + "web-flow" + ] + }, + { + "pr": "16811", + "title": "[FIX] Custom OAuth Bug", + "userLogin": "PrajvalRaval", + "contributors": [ + "PrajvalRaval" + ] + }, + { + "pr": "16838", + "title": "[FIX] Integrations page pagination", + "userLogin": "sampaiodiego", + "milestone": "3.1.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "16810", + "title": "[FIX] Facebook integration missing visitor data after registerGuest", + "userLogin": "antkaz", + "milestone": "3.1.0", + "contributors": [ + "antkaz", + "web-flow" + ] + }, + { + "pr": "16591", + "title": "[FIX] Invite links counting users already joined", + "userLogin": "ritwizsinha", + "contributors": [ + "ritwizsinha", + "sampaiodiego" + ] + }, + { + "pr": "16255", + "title": "[IMPROVE] Displays `Nothing found` on admin sidebar when search returns nothing", + "userLogin": "ashwaniYDV", + "contributors": [ + "ashwaniYDV" + ] + }, + { + "pr": "16304", + "title": "Fix: Removed some hardcoded texts", + "userLogin": "ashwaniYDV", + "contributors": [ + "ashwaniYDV" + ] + }, + { + "pr": "16560", + "title": "[FIX] Cannot unfollow message from thread's panel", + "userLogin": "subham103", + "contributors": [ + "subham103" + ] + }, + { + "pr": "16801", + "title": "Add Enterprise Edition license", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "16776", + "title": "[IMPROVE] Fallback content-type as application/octet-stream for FileSystem uploads", + "userLogin": "georgmu", + "contributors": [ + "georgmu" + ] + }, + { + "pr": "16781", + "title": "Improve: Apps-engine E2E tests", + "userLogin": "MarcosSpessatto", + "milestone": "3.1.0", + "contributors": [ + "MarcosSpessatto", + "d-gubert" + ] + }, + { + "pr": "16724", + "title": "[FIX] Remove spaces from i18n placeholders to show Personal access token", + "userLogin": "harakiwi1", + "contributors": [ + "harakiwi1", + "sampaiodiego" + ] + }, + { + "pr": "16751", + "title": "[NEW] SAML config to allow clock drift", + "userLogin": "localguru", + "contributors": [ + "localguru", + "web-flow" + ] + }, + { + "pr": "16750", + "title": "[FIX] Slash command preview: Wrong item being selected, Horizontal scroll", + "userLogin": "gabriellsh", + "milestone": "3.1.0", + "contributors": [ + "gabriellsh" + ] + }, + { + "pr": "16759", + "title": "[FIX] Cannot pin on direct messages", + "userLogin": "ritwizsinha", + "contributors": [ + "ritwizsinha" + ] + }, + { + "pr": "16767", + "title": "[FIX] SlackBridge: Get all channels from Slack via REST API", + "userLogin": "antkaz", + "contributors": [ + "antkaz" + ] + }, + { + "pr": "16837", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "16797", + "title": "[FIX] Flextab information is not working when clicking on visitor or agent username in Omnichannel messages", + "userLogin": "ashwaniYDV", + "milestone": "3.1.0", + "contributors": [ + "ashwaniYDV" + ] + }, + { + "pr": "16718", + "title": "[NEW] Update Meteor to 1.9.2 and Node to 12.16.1", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "16645", + "title": "[FIX] Slackbridge-import command doesn't work", + "userLogin": "antkaz", + "contributors": [ + "antkaz" + ] + }, + { + "pr": "16775", + "title": "Regression: Fix omnichannel icon missing on sidebar", + "userLogin": "renatobecker", + "milestone": "3.1.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "16752", + "title": "[IMPROVE] Rename client-side term \"Livechat\" to \"Omnichannel\"", + "userLogin": "renatobecker", + "milestone": "3.1.0", + "contributors": [ + "renatobecker", + "rodrigok" + ] + }, + { + "pr": "16757", + "title": "[FIX] Language country has been ignored on translation load", + "userLogin": "rodrigok", + "description": "Languages including country variations like `pt-BR` were ignoring the country party because the user's preference has been saved in lowercase `pt-br` causing the language to not match the available languages. Now we enforce the uppercase of the country part when loading the language.", + "milestone": "3.0.3", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "16744", + "title": "[FIX] Cannot edit Profile when Full Name is empty and not required", + "userLogin": "gabriellsh", + "milestone": "3.1.0", + "contributors": [ + "gabriellsh" + ] + }, + { + "pr": "16502", + "title": "[IMPROVE] Accept open formarts of text, spreadsheet, presentation for upload by default", + "userLogin": "rodrigok", + "milestone": "4.0.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "16470", + "title": "Removing Trailing Space", + "userLogin": "aryamanpuri", + "contributors": [ + "aryamanpuri", + "web-flow" + ] + }, + { + "pr": "16258", + "title": "[Apps] Lazy load categories and marketplaceVersion in admin - apps page", + "userLogin": "lolimay", + "contributors": [ + "lolimay", + "d-gubert" + ] + }, + { + "pr": "16736", + "title": "Fix Docker preview image", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "16726", + "title": "[FIX] Manual Register use correct state for determining registered", + "userLogin": "geekgonecrazy", + "milestone": "3.0.3", + "contributors": [ + "geekgonecrazy", + "web-flow", + "d-gubert" + ] + }, + { + "pr": "16723", + "title": "[FIX] Rocket.Chat takes too long to set the username when it fails to send enrollment email", + "userLogin": "pierre-lehnen-rc", + "milestone": "3.0.3", + "contributors": [ + "pierre-lehnen-rc" + ] + }, + { + "pr": "16719", + "title": "[CHORE] Changed remaining SelectInput's to Select", + "userLogin": "gabriellsh", + "contributors": [ + "gabriellsh" + ] + }, + { + "pr": "16720", + "title": "[CHORE] Update snap install instructions", + "userLogin": "tassoevan", + "milestone": "3.1.0", + "contributors": [ + "tassoevan", + "web-flow" + ] + }, + { + "pr": "16699", + "title": "[FIX] TypeError when trying to load avatar of an invalid room.", + "userLogin": "pierre-lehnen-rc", + "contributors": [ + "pierre-lehnen-rc" + ] + }, + { + "pr": "16706", + "title": "[FIX] Color setting editing issues", + "userLogin": "tassoevan", + "contributors": [ + "tassoevan", + "ggazzo" + ] + }, + { + "pr": "16704", + "title": "Fix: Console error on login", + "userLogin": "gabriellsh", + "contributors": [ + "gabriellsh" + ] + }, + { + "pr": "16576", + "title": "Add methods to include room types on dashboard", + "userLogin": "MarcosSpessatto", + "milestone": "3.1.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "16682", + "title": "[FIX] ie11 support", + "userLogin": "gabriellsh", + "milestone": "3.0.2", + "contributors": [ + "gabriellsh" + ] + }, + { + "pr": "16681", + "title": "Regression: Show upload errors", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "16568", + "title": "[FIX] Deleting messages while searching causes the whole room chat to disappear", + "userLogin": "karimelghazouly", + "contributors": [ + "karimelghazouly" + ] + }, + { + "pr": "16617", + "title": "[IMPROVE] Send files over REST API", + "userLogin": "ggazzo", + "milestone": "3.1.0", + "contributors": [ + "ggazzo", + "web-flow", + "sampaiodiego" + ] + }, + { + "pr": "16322", + "title": "[FIX] Prune message saying `files deleted` and `messages deleted` even when singular message or file in prune", + "userLogin": "ritwizsinha", + "milestone": "3.0.0", + "contributors": [ + "ritwizsinha" + ] + }, + { + "pr": "16151", + "title": "Fix: Correctly aligned input element of custom user status component", + "userLogin": "ashwaniYDV", + "contributors": [ + "ashwaniYDV" + ] + }, + { + "pr": "16170", + "title": "[FIX] \"Jump to message\" is rendered twice when message is starred.", + "userLogin": "ashwaniYDV", + "contributors": [ + "ashwaniYDV" + ] + }, + { + "pr": "16217", + "title": "[IMPROVE] Added autofocus to Directory", + "userLogin": "ashwaniYDV", + "milestone": "3.0.0", + "contributors": [ + "ashwaniYDV" + ] + }, + { + "pr": "16221", + "title": "[IMPROVE] Added timer in video message recorder", + "userLogin": "ashwaniYDV", + "milestone": "3.0.0", + "contributors": [ + "ashwaniYDV" + ] + }, + { + "pr": "16371", + "title": "[IMPROVE] Use `rocket.cat` as default bot If `InternalHubot_Username` is undefined", + "userLogin": "ashwaniYDV", + "contributors": [ + "ashwaniYDV" + ] + }, + { + "pr": "16315", + "title": "[FIX] Pressing Cancel while 'deleting by edit' message blocks sending messages", + "userLogin": "ritwizsinha", + "milestone": "3.0.0", + "contributors": [ + "ritwizsinha" + ] + }, + { + "pr": "16416", + "title": "[FIX] File uploads out of threads are not visible in regular message view", + "userLogin": "ashwaniYDV", + "milestone": "3.0.0", + "contributors": [ + "ashwaniYDV", + "gabriellsh" + ] + }, + { + "pr": "16457", + "title": "[FIX] There is no option to pin a thread message by admin", + "userLogin": "ashwaniYDV", + "contributors": [ + "ashwaniYDV" + ] + }, + { + "pr": "16595", + "title": "[CHORE] Look for Storybook stories on `app/` too", + "userLogin": "tassoevan", + "milestone": "3.1.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "16630", + "title": "[IMPROVE] Removed the 'reply in thread' from thread replies", + "userLogin": "ritwizsinha", + "contributors": [ + "ritwizsinha" + ] + }, + { + "pr": "16631", + "title": "Changed Opt_In message, removed translations", + "userLogin": "gabriellsh", + "milestone": "3.1.0", + "contributors": [ + "gabriellsh" + ] + }, + { + "pr": "16671", + "title": "[FIX] LDAP sync admin action was not syncing existent users", + "userLogin": "rodrigok", + "milestone": "3.0.3", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "16618", + "title": "[FIX] Check agent status when starting a new conversation with an agent assigned", + "userLogin": "renatobecker", + "milestone": "3.0.3", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "16667", + "title": "[FIX] Additional scroll when contextual bar is open", + "userLogin": "gabriellsh", + "milestone": "3.1.0", + "contributors": [ + "gabriellsh" + ] + }, + { + "pr": "16668", + "title": "[FIX] Clear unread red line when the ESC key is pressed ", + "userLogin": "ggazzo", + "milestone": "3.0.2", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "16495", + "title": "[FIX] users.info endpoint not handling the error if the user does not exist", + "userLogin": "MarcosSpessatto", + "milestone": "3.0.2", + "contributors": [ + "MarcosSpessatto", + "sampaiodiego" + ] + }, + { + "pr": "16653", + "title": "[NEW] Save default filters in the Omnichannel Current Chats list", + "userLogin": "renatobecker", + "milestone": "3.1.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "16629", + "title": "[FIX] Admin height if the blue banner is opened", + "userLogin": "ggazzo", + "milestone": "3.0.1", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "16639", + "title": "[FIX] Data converters overriding fields added by apps", + "userLogin": "d-gubert", + "milestone": "3.0.1", + "contributors": [ + "ggazzo", + "d-gubert", + "web-flow" + ] + }, + { + "pr": "16626", + "title": "[FIX] Block user option inside admin view", + "userLogin": "ggazzo", + "milestone": "3.0.1", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "16640", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "16637", + "title": "[FIX] Regression: New 'app' role with no permissions when updating to 3.0.0", + "userLogin": "d-gubert", + "milestone": "3.0.1", + "contributors": [ + "d-gubert" + ] + }, + { + "pr": "13591", + "title": "fix: add option to mount media on snap", + "userLogin": "knrt10", + "contributors": [ + "knrt10" + ] + }, + { + "pr": "16496", + "title": "[NEW] Open the Visitor Info panel automatically when the agent enters an Omnichannel room", + "userLogin": "renatobecker", + "milestone": "4.0.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "16603", + "title": "[FIX] Omnichannel Inquiry queues when removing chats", + "userLogin": "renatobecker", + "milestone": "3.0.2", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "16623", + "title": "[FIX] livechat/rooms endpoint not working with big amount of livechats", + "userLogin": "MarcosSpessatto", + "milestone": "3.0.1", + "contributors": [ + "MarcosSpessatto", + "sampaiodiego" + ] + }, + { + "pr": "16625", + "title": "[FIX] Regression: Jitsi on external window infinite loop", + "userLogin": "ggazzo", + "milestone": "3.0.1", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "16624", + "title": "[FIX] UiKit not updating new actionIds received as responses from actions", + "userLogin": "ggazzo", + "milestone": "3.0.1", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "16609", + "title": "Merge master into develop & Set version to 3.1.0-develop", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego", + "web-flow" + ] + } + ] + }, + "3.1.0-rc.1": { + "node_version": "12.16.1", + "npm_version": "6.13.4", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "17018", + "title": "Regression: Small fixes for Game Center", + "userLogin": "d-gubert", + "contributors": [ + "d-gubert", + "web-flow", + "sampaiodiego" + ] + }, + { + "pr": "17028", + "title": "Regression: Fix issue with opening rooms", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + } + ] } } -} +} \ No newline at end of file diff --git a/HISTORY.md b/HISTORY.md index 79c3b30f71b4..f6fb51cc4c84 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,129 +1,258 @@ # 3.1.0 (Under Release Candidate Process) +## 3.1.0-rc.1 +`2020-03-26 ยท 2 ๐Ÿ” ยท 2 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` + +
+๐Ÿ” Minor changes + + +- Regression: Small fixes for Game Center ([#17018](https://github.com/RocketChat/Rocket.Chat/pull/17018)) + +- Regression: Fix issue with opening rooms ([#17028](https://github.com/RocketChat/Rocket.Chat/pull/17028)) + +
+ +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@d-gubert](https://github.com/d-gubert) +- [@sampaiodiego](https://github.com/sampaiodiego) + ## 3.1.0-rc.0 -`2020-03-26 ยท 20 ๐ŸŽ‰ ยท 16 ๐Ÿš€ ยท 44 ๐Ÿ› ยท 29 ๐Ÿ” ยท 34 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2020-03-26 ยท 18 ๐ŸŽ‰ ยท 15 ๐Ÿš€ ยท 37 ๐Ÿ› ยท 39 ๐Ÿ” ยท 34 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### ๐ŸŽ‰ New features + - Sort channel directory listing by latest message ([#16604](https://github.com/RocketChat/Rocket.Chat/pull/16604) by [@subham103](https://github.com/subham103)) + - Direct message between multiple users ([#16761](https://github.com/RocketChat/Rocket.Chat/pull/16761)) + - [ENTERPRISE] Engagement Dashboard ([#16960](https://github.com/RocketChat/Rocket.Chat/pull/16960)) + - Synchronize saml roles to local user (#16152) ([#16158](https://github.com/RocketChat/Rocket.Chat/pull/16158) by [@col-panic](https://github.com/col-panic)) + - Route to get updated roles after a date ([#16610](https://github.com/RocketChat/Rocket.Chat/pull/16610) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - Enterprise Edition ([#16944](https://github.com/RocketChat/Rocket.Chat/pull/16944)) + - Settings to enable E2E encryption for Private and Direct Rooms by default ([#16928](https://github.com/RocketChat/Rocket.Chat/pull/16928)) + - Experimental Game Center (externalComponents implementation) ([#15123](https://github.com/RocketChat/Rocket.Chat/pull/15123)) + - Add default chat closing tags in Omnichannel departments ([#16859](https://github.com/RocketChat/Rocket.Chat/pull/16859)) + - Allow to set default department and location sharing on SMS / WhatsApp integration ([#16557](https://github.com/RocketChat/Rocket.Chat/pull/16557)) + - Two Factor authentication via email ([#15949](https://github.com/RocketChat/Rocket.Chat/pull/15949)) -- Add new Omnichannel department forwarding callback ([#16779](https://github.com/RocketChat/Rocket.Chat/pull/16779)) + - Translation via MS translate ([#16363](https://github.com/RocketChat/Rocket.Chat/pull/16363) by [@mrsimpson](https://github.com/mrsimpson)) + Adds Microsoft's translation service (https://translator.microsoft.com/) as a provider for translation of messages. + In addition to implementing the interface (similar to google and DeepL), a small change has been done in order to display the translation provider on the UI. + - API `users.deactivateIdle` for mass-disabling of idle users ([#16849](https://github.com/RocketChat/Rocket.Chat/pull/16849)) -- API to logout from other locations ([#16193](https://github.com/RocketChat/Rocket.Chat/pull/16193) by [@jschirrmacher](https://github.com/jschirrmacher)) + +- API `users.logoutOtherClient` to logout from other locations ([#16193](https://github.com/RocketChat/Rocket.Chat/pull/16193) by [@jschirrmacher](https://github.com/jschirrmacher)) + - SAML config to allow clock drift ([#16751](https://github.com/RocketChat/Rocket.Chat/pull/16751) by [@localguru](https://github.com/localguru)) + - Update Meteor to 1.9.2 and Node to 12.16.1 ([#16718](https://github.com/RocketChat/Rocket.Chat/pull/16718)) -- Add methods to include room types on dashboard ([#16576](https://github.com/RocketChat/Rocket.Chat/pull/16576)) + - Save default filters in the Omnichannel Current Chats list ([#16653](https://github.com/RocketChat/Rocket.Chat/pull/16653)) + - Open the Visitor Info panel automatically when the agent enters an Omnichannel room ([#16496](https://github.com/RocketChat/Rocket.Chat/pull/16496)) ### ๐Ÿš€ Improvements + - Ability to change offline message button link on emails notifications ([#16784](https://github.com/RocketChat/Rocket.Chat/pull/16784)) -- Update ancestral departments when an Omnichannel room is forwarded to another department ([#16958](https://github.com/RocketChat/Rocket.Chat/pull/16958)) + - Allow login of non LDAP users when LDAP is enabled ([#16949](https://github.com/RocketChat/Rocket.Chat/pull/16949)) + - Omnichannel aggregations performance improvements ([#16755](https://github.com/RocketChat/Rocket.Chat/pull/16755)) + - Replace the Department select component by an Autocomplete input in Omnichannel UI ([#16669](https://github.com/RocketChat/Rocket.Chat/pull/16669)) + - User gets feedback when a message has been starred or unstarred ([#13860](https://github.com/RocketChat/Rocket.Chat/pull/13860) by [@fliptrail](https://github.com/fliptrail)) -- Added border to page header. ([#16792](https://github.com/RocketChat/Rocket.Chat/pull/16792)) -- Context menu autofocus ([#16915](https://github.com/RocketChat/Rocket.Chat/pull/16915)) + +- Contextual bar autofocus ([#16915](https://github.com/RocketChat/Rocket.Chat/pull/16915)) + - Add option to require authentication on user's shield endpoint ([#16845](https://github.com/RocketChat/Rocket.Chat/pull/16845)) -- Apps-engine E2E tests ([#16781](https://github.com/RocketChat/Rocket.Chat/pull/16781)) + +- Displays `Nothing found` on admin sidebar when search returns nothing ([#16255](https://github.com/RocketChat/Rocket.Chat/pull/16255) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + +- Fallback content-type as application/octet-stream for FileSystem uploads ([#16776](https://github.com/RocketChat/Rocket.Chat/pull/16776) by [@georgmu](https://github.com/georgmu)) + - Rename client-side term "Livechat" to "Omnichannel" ([#16752](https://github.com/RocketChat/Rocket.Chat/pull/16752)) + - Accept open formarts of text, spreadsheet, presentation for upload by default ([#16502](https://github.com/RocketChat/Rocket.Chat/pull/16502)) -- Add message_pruned and file_pruned for singular file or message deleted ([#16322](https://github.com/RocketChat/Rocket.Chat/pull/16322) by [@ritwizsinha](https://github.com/ritwizsinha)) + - Added autofocus to Directory ([#16217](https://github.com/RocketChat/Rocket.Chat/pull/16217) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - Added timer in video message recorder ([#16221](https://github.com/RocketChat/Rocket.Chat/pull/16221) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + +- Use `rocket.cat` as default bot If `InternalHubot_Username` is undefined ([#16371](https://github.com/RocketChat/Rocket.Chat/pull/16371) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - Removed the 'reply in thread' from thread replies ([#16630](https://github.com/RocketChat/Rocket.Chat/pull/16630) by [@ritwizsinha](https://github.com/ritwizsinha)) ### ๐Ÿ› Bug fixes + - Wrong message count statistics in Admin info page ([#16680](https://github.com/RocketChat/Rocket.Chat/pull/16680) by [@subham103](https://github.com/subham103)) + - CAS ignores username attribute map ([#16942](https://github.com/RocketChat/Rocket.Chat/pull/16942) by [@pmayer](https://github.com/pmayer)) -- Adding margin to click to load text ([#16210](https://github.com/RocketChat/Rocket.Chat/pull/16210) by [@ritwizsinha](https://github.com/ritwizsinha)) + +- Ancestral departments were not updated when an Omnichannel room is forwarded to another department ([#16958](https://github.com/RocketChat/Rocket.Chat/pull/16958)) + - Explicitly set text of confirmation button ([#16138](https://github.com/RocketChat/Rocket.Chat/pull/16138) by [@jschirrmacher](https://github.com/jschirrmacher)) + - Display user status along with icon ([#16875](https://github.com/RocketChat/Rocket.Chat/pull/16875) by [@Nikhil713](https://github.com/Nikhil713)) -- users.setStatus and user from params ([#16128](https://github.com/RocketChat/Rocket.Chat/pull/16128) by [@rm-yakovenko](https://github.com/rm-yakovenko)) + +- `users.setStatus` API was ignoring the user from params when trying to set status of other users ([#16128](https://github.com/RocketChat/Rocket.Chat/pull/16128) by [@rm-yakovenko](https://github.com/rm-yakovenko)) + - Text formatted to remain within button even on screen resize ([#14136](https://github.com/RocketChat/Rocket.Chat/pull/14136) by [@Rodriq](https://github.com/Rodriq)) + - Messages doesn't send to Slack via SlackBridge after renaming channel ([#16565](https://github.com/RocketChat/Rocket.Chat/pull/16565) by [@antkaz](https://github.com/antkaz)) + - Remove Reply in DM from Omnichannel rooms ([#16957](https://github.com/RocketChat/Rocket.Chat/pull/16957) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - Login with LinkedIn not mapping name and picture correctly ([#16955](https://github.com/RocketChat/Rocket.Chat/pull/16955)) -- Make the AppLivechatBridge.createMessage works properly as a promise ([#16941](https://github.com/RocketChat/Rocket.Chat/pull/16941)) + - Omnichannel Inquiry names not being updated when the guest name changes ([#16782](https://github.com/RocketChat/Rocket.Chat/pull/16782)) + - Real-time data rendering on Omnichannel room info panel ([#16783](https://github.com/RocketChat/Rocket.Chat/pull/16783)) + - Show error message if password and confirm password not equal ([#16247](https://github.com/RocketChat/Rocket.Chat/pull/16247) by [@ashwaniYDV](https://github.com/ashwaniYDV)) -- Message quote button inside threads ([#16925](https://github.com/RocketChat/Rocket.Chat/pull/16925)) -- admin can sort users by email in directory view ([#15796](https://github.com/RocketChat/Rocket.Chat/pull/15796) by [@sneakson](https://github.com/sneakson)) + +- When trying to quote messages inside threads the quote would be sent to room instead to the thread ([#16925](https://github.com/RocketChat/Rocket.Chat/pull/16925)) + +- Admins can't sort users by email in directory view ([#15796](https://github.com/RocketChat/Rocket.Chat/pull/15796) by [@sneakson](https://github.com/sneakson)) + - Pinned messages wouldn't collapse ([#16188](https://github.com/RocketChat/Rocket.Chat/pull/16188)) -- Correct thread messages display in context bar. ([#16835](https://github.com/RocketChat/Rocket.Chat/pull/16835) by [@ritwizsinha](https://github.com/ritwizsinha)) + +- Wrong thread messages display in contextual bar ([#16835](https://github.com/RocketChat/Rocket.Chat/pull/16835) by [@ritwizsinha](https://github.com/ritwizsinha)) + - Public channel cannot be accessed via URL when 'Allow Anonymous Read' is active ([#16914](https://github.com/RocketChat/Rocket.Chat/pull/16914) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - Custom OAuth Bug ([#16811](https://github.com/RocketChat/Rocket.Chat/pull/16811) by [@PrajvalRaval](https://github.com/PrajvalRaval)) + - Facebook integration missing visitor data after registerGuest ([#16810](https://github.com/RocketChat/Rocket.Chat/pull/16810) by [@antkaz](https://github.com/antkaz)) + - Invite links counting users already joined ([#16591](https://github.com/RocketChat/Rocket.Chat/pull/16591) by [@ritwizsinha](https://github.com/ritwizsinha)) -- No settings to be displayed if search not found ([#16255](https://github.com/RocketChat/Rocket.Chat/pull/16255) by [@ashwaniYDV](https://github.com/ashwaniYDV)) -- Removed some hardcoded texts ([#16304](https://github.com/RocketChat/Rocket.Chat/pull/16304) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - Cannot unfollow message from thread's panel ([#16560](https://github.com/RocketChat/Rocket.Chat/pull/16560) by [@subham103](https://github.com/subham103)) -- Fallback content-type as application/octet-stream for FileSystem uploads ([#16776](https://github.com/RocketChat/Rocket.Chat/pull/16776) by [@georgmu](https://github.com/georgmu)) + - Remove spaces from i18n placeholders to show Personal access token ([#16724](https://github.com/RocketChat/Rocket.Chat/pull/16724) by [@harakiwi1](https://github.com/harakiwi1)) + - Slash command preview: Wrong item being selected, Horizontal scroll ([#16750](https://github.com/RocketChat/Rocket.Chat/pull/16750)) + - Cannot pin on direct messages ([#16759](https://github.com/RocketChat/Rocket.Chat/pull/16759) by [@ritwizsinha](https://github.com/ritwizsinha)) -- Get all channels from Slack via REST API ([#16767](https://github.com/RocketChat/Rocket.Chat/pull/16767) by [@antkaz](https://github.com/antkaz)) + +- SlackBridge: Get all channels from Slack via REST API ([#16767](https://github.com/RocketChat/Rocket.Chat/pull/16767) by [@antkaz](https://github.com/antkaz)) + - Flextab information is not working when clicking on visitor or agent username in Omnichannel messages ([#16797](https://github.com/RocketChat/Rocket.Chat/pull/16797) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - Slackbridge-import command doesn't work ([#16645](https://github.com/RocketChat/Rocket.Chat/pull/16645) by [@antkaz](https://github.com/antkaz)) + - Cannot edit Profile when Full Name is empty and not required ([#16744](https://github.com/RocketChat/Rocket.Chat/pull/16744)) + - Color setting editing issues ([#16706](https://github.com/RocketChat/Rocket.Chat/pull/16706)) -- Console error on login ([#16704](https://github.com/RocketChat/Rocket.Chat/pull/16704)) -- Delete messages while searching bug ([#16568](https://github.com/RocketChat/Rocket.Chat/pull/16568) by [@karimelghazouly](https://github.com/karimelghazouly)) -- Correctly aligned input element of custom user status component ([#16151](https://github.com/RocketChat/Rocket.Chat/pull/16151) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + +- Deleting messages while searching causes the whole room chat to disappear ([#16568](https://github.com/RocketChat/Rocket.Chat/pull/16568) by [@karimelghazouly](https://github.com/karimelghazouly)) + +- Prune message saying `files deleted` and `messages deleted` even when singular message or file in prune ([#16322](https://github.com/RocketChat/Rocket.Chat/pull/16322) by [@ritwizsinha](https://github.com/ritwizsinha)) + - "Jump to message" is rendered twice when message is starred. ([#16170](https://github.com/RocketChat/Rocket.Chat/pull/16170) by [@ashwaniYDV](https://github.com/ashwaniYDV)) -- If InternalHubot_Username is undefined then rocket.cat should be default bot ([#16371](https://github.com/RocketChat/Rocket.Chat/pull/16371) by [@ashwaniYDV](https://github.com/ashwaniYDV)) -- Bug making us to reload the page after cancel was clicked on editing ([#16315](https://github.com/RocketChat/Rocket.Chat/pull/16315) by [@ritwizsinha](https://github.com/ritwizsinha)) + +- Pressing Cancel while 'deleting by edit' message blocks sending messages ([#16315](https://github.com/RocketChat/Rocket.Chat/pull/16315) by [@ritwizsinha](https://github.com/ritwizsinha)) + - File uploads out of threads are not visible in regular message view ([#16416](https://github.com/RocketChat/Rocket.Chat/pull/16416) by [@ashwaniYDV](https://github.com/ashwaniYDV)) -- Added an option to pin/unpin a thread message ([#16457](https://github.com/RocketChat/Rocket.Chat/pull/16457) by [@ashwaniYDV](https://github.com/ashwaniYDV)) -- Changed Opt_In message, removed translations ([#16631](https://github.com/RocketChat/Rocket.Chat/pull/16631)) + +- There is no option to pin a thread message by admin ([#16457](https://github.com/RocketChat/Rocket.Chat/pull/16457) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - Additional scroll when contextual bar is open ([#16667](https://github.com/RocketChat/Rocket.Chat/pull/16667))
๐Ÿ” Minor changes + - Fix: 2FA DDP method not getting code on API call that doesnโ€™t requires 2FA ([#16998](https://github.com/RocketChat/Rocket.Chat/pull/16998)) + - Fix StreamCast info ([#16995](https://github.com/RocketChat/Rocket.Chat/pull/16995)) + - Fix: StreamCast was not working correctly ([#16983](https://github.com/RocketChat/Rocket.Chat/pull/16983)) + - Change license version requested ([#16956](https://github.com/RocketChat/Rocket.Chat/pull/16956)) + - Fix: Padding required in the Facebook Messenger option in Livechat ([#16202](https://github.com/RocketChat/Rocket.Chat/pull/16202) by [@ritwizsinha](https://github.com/ritwizsinha)) + - Add some missing ES translations ([#16120](https://github.com/RocketChat/Rocket.Chat/pull/16120) by [@ivanape](https://github.com/ivanape)) + +- Fix: Adding margin to click to load text ([#16210](https://github.com/RocketChat/Rocket.Chat/pull/16210) by [@ritwizsinha](https://github.com/ritwizsinha)) + - Redirected to home when a room has been deleted instead of getting broken link(blank page) of deleted room ([#16227](https://github.com/RocketChat/Rocket.Chat/pull/16227) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - Fixed translate variable in UnarchiveRoom Modal ([#16310](https://github.com/RocketChat/Rocket.Chat/pull/16310) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - Update cypress to version 4.0.2 ([#16685](https://github.com/RocketChat/Rocket.Chat/pull/16685)) + - Update presence package ([#16786](https://github.com/RocketChat/Rocket.Chat/pull/16786)) + - Add an index to the name field for omnichannel department ([#16953](https://github.com/RocketChat/Rocket.Chat/pull/16953)) + - Add lint to `.less` files ([#16893](https://github.com/RocketChat/Rocket.Chat/pull/16893)) + - Upgrade Livechat Widget version to 1.4.0 ([#16950](https://github.com/RocketChat/Rocket.Chat/pull/16950)) + - Bump acorn from 6.0.7 to 6.4.1 ([#16876](https://github.com/RocketChat/Rocket.Chat/pull/16876) by [@dependabot[bot]](https://github.com/dependabot[bot])) + +- Fix: Make the AppLivechatBridge.createMessage works properly as a promise ([#16941](https://github.com/RocketChat/Rocket.Chat/pull/16941)) + +- Add new Omnichannel department forwarding callback ([#16779](https://github.com/RocketChat/Rocket.Chat/pull/16779)) + +- Added border to page header ([#16792](https://github.com/RocketChat/Rocket.Chat/pull/16792)) + - Fixed Line break incorrectly being called apostrophe in code ([#16918](https://github.com/RocketChat/Rocket.Chat/pull/16918) by [@aKn1ghtOut](https://github.com/aKn1ghtOut)) + - Improve room types usage ([#16753](https://github.com/RocketChat/Rocket.Chat/pull/16753)) + +- Fix: Removed some hardcoded texts ([#16304](https://github.com/RocketChat/Rocket.Chat/pull/16304) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - Add Enterprise Edition license ([#16801](https://github.com/RocketChat/Rocket.Chat/pull/16801)) + +- Improve: Apps-engine E2E tests ([#16781](https://github.com/RocketChat/Rocket.Chat/pull/16781)) + - LingoHub based on develop ([#16837](https://github.com/RocketChat/Rocket.Chat/pull/16837)) + - Regression: Fix omnichannel icon missing on sidebar ([#16775](https://github.com/RocketChat/Rocket.Chat/pull/16775)) + - Removing Trailing Space ([#16470](https://github.com/RocketChat/Rocket.Chat/pull/16470) by [@aryamanpuri](https://github.com/aryamanpuri)) + - [Apps] Lazy load categories and marketplaceVersion in admin - apps page ([#16258](https://github.com/RocketChat/Rocket.Chat/pull/16258)) + - Fix Docker preview image ([#16736](https://github.com/RocketChat/Rocket.Chat/pull/16736)) + - [CHORE] Changed remaining SelectInput's to Select ([#16719](https://github.com/RocketChat/Rocket.Chat/pull/16719)) + - [CHORE] Update snap install instructions ([#16720](https://github.com/RocketChat/Rocket.Chat/pull/16720)) + +- Fix: Console error on login ([#16704](https://github.com/RocketChat/Rocket.Chat/pull/16704)) + +- Add methods to include room types on dashboard ([#16576](https://github.com/RocketChat/Rocket.Chat/pull/16576)) + - Regression: Show upload errors ([#16681](https://github.com/RocketChat/Rocket.Chat/pull/16681)) + +- Fix: Correctly aligned input element of custom user status component ([#16151](https://github.com/RocketChat/Rocket.Chat/pull/16151) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - [CHORE] Look for Storybook stories on `app/` too ([#16595](https://github.com/RocketChat/Rocket.Chat/pull/16595)) + +- Changed Opt_In message, removed translations ([#16631](https://github.com/RocketChat/Rocket.Chat/pull/16631)) + - LingoHub based on develop ([#16640](https://github.com/RocketChat/Rocket.Chat/pull/16640)) + - fix: add option to mount media on snap ([#13591](https://github.com/RocketChat/Rocket.Chat/pull/13591) by [@knrt10](https://github.com/knrt10)) + - Merge master into develop & Set version to 3.1.0-develop ([#16609](https://github.com/RocketChat/Rocket.Chat/pull/16609))
@@ -179,6 +308,7 @@
๐Ÿ” Minor changes + - Regression: Remove deprecated Omnichannel setting used to fetch the queue data through subscription ([#17017](https://github.com/RocketChat/Rocket.Chat/pull/17017))
@@ -197,11 +327,13 @@ ### ๐Ÿ› Bug fixes + - Keeps the agent in the room after accepting a new Omnichannel request ([#16787](https://github.com/RocketChat/Rocket.Chat/pull/16787))
๐Ÿ” Minor changes + - Regression: Replace the Omnichannel queue model observe with Stream ([#16999](https://github.com/RocketChat/Rocket.Chat/pull/16999))
@@ -220,6 +352,7 @@ ### ๐Ÿ› Bug fixes + - Race conditions on/before login ([#16989](https://github.com/RocketChat/Rocket.Chat/pull/16989)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -236,11 +369,14 @@ ### ๐Ÿš€ Improvements + - Send files over REST API ([#16617](https://github.com/RocketChat/Rocket.Chat/pull/16617)) ### ๐Ÿ› Bug fixes + - Integrations page pagination ([#16838](https://github.com/RocketChat/Rocket.Chat/pull/16838)) + - TypeError when trying to load avatar of an invalid room. ([#16699](https://github.com/RocketChat/Rocket.Chat/pull/16699)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -259,10 +395,15 @@ ### ๐Ÿ› Bug fixes + - Language country has been ignored on translation load ([#16757](https://github.com/RocketChat/Rocket.Chat/pull/16757)) + - Manual Register use correct state for determining registered ([#16726](https://github.com/RocketChat/Rocket.Chat/pull/16726)) + - Rocket.Chat takes too long to set the username when it fails to send enrollment email ([#16723](https://github.com/RocketChat/Rocket.Chat/pull/16723)) + - LDAP sync admin action was not syncing existent users ([#16671](https://github.com/RocketChat/Rocket.Chat/pull/16671)) + - Check agent status when starting a new conversation with an agent assigned ([#16618](https://github.com/RocketChat/Rocket.Chat/pull/16618)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -283,8 +424,11 @@ ### ๐Ÿ› Bug fixes + - ie11 support ([#16682](https://github.com/RocketChat/Rocket.Chat/pull/16682)) + - Omnichannel Inquiry queues when removing chats ([#16603](https://github.com/RocketChat/Rocket.Chat/pull/16603)) + - Clear unread red line when the ESC key is pressed ([#16668](https://github.com/RocketChat/Rocket.Chat/pull/16668)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -303,12 +447,19 @@ ### ๐Ÿ› Bug fixes + - UiKit not updating new actionIds received as responses from actions ([#16624](https://github.com/RocketChat/Rocket.Chat/pull/16624)) + - Regression: Jitsi on external window infinite loop ([#16625](https://github.com/RocketChat/Rocket.Chat/pull/16625)) + - livechat/rooms endpoint not working with big amount of livechats ([#16623](https://github.com/RocketChat/Rocket.Chat/pull/16623)) + - Regression: New 'app' role with no permissions when updating to 3.0.0 ([#16637](https://github.com/RocketChat/Rocket.Chat/pull/16637)) + - Block user option inside admin view ([#16626](https://github.com/RocketChat/Rocket.Chat/pull/16626)) + - Data converters overriding fields added by apps ([#16639](https://github.com/RocketChat/Rocket.Chat/pull/16639)) + - Admin height if the blue banner is opened ([#16629](https://github.com/RocketChat/Rocket.Chat/pull/16629)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -328,121 +479,224 @@ ### โš ๏ธ BREAKING CHANGES + - Filter System messages per room ([#16369](https://github.com/RocketChat/Rocket.Chat/pull/16369)) + - Remove deprecated publications ([#16351](https://github.com/RocketChat/Rocket.Chat/pull/16351)) + - Hide system messages ([#16243](https://github.com/RocketChat/Rocket.Chat/pull/16243)) + - Upgrade to Meteor 1.9 and NodeJS 12 ([#16252](https://github.com/RocketChat/Rocket.Chat/pull/16252)) + - Removed room counter from sidebar ([#16036](https://github.com/RocketChat/Rocket.Chat/pull/16036)) + - Change apps/icon endpoint to return app's icon and use it to show on Ui Kit modal ([#16522](https://github.com/RocketChat/Rocket.Chat/pull/16522)) + - TLS v1.0 and TLS v1.1 were disabled by due to NodeJS update to v12. You can still enable them by using flags like `--tls-min-v1.0` and `--tls-min-v1.1` ### ๐ŸŽ‰ New features + - Button to download admin server info ([#16059](https://github.com/RocketChat/Rocket.Chat/pull/16059)) + - UiKit - Interactive UI elements for Rocket.Chat Apps ([#16048](https://github.com/RocketChat/Rocket.Chat/pull/16048)) + - Sort the Omnichannel Chat list according to the user preferences ([#16437](https://github.com/RocketChat/Rocket.Chat/pull/16437)) + - Setting to only send plain text emails ([#16065](https://github.com/RocketChat/Rocket.Chat/pull/16065)) + - Check the Omnichannel service status per Department ([#16425](https://github.com/RocketChat/Rocket.Chat/pull/16425)) + - Create a user for the Apps during installation ([#15896](https://github.com/RocketChat/Rocket.Chat/pull/15896) by [@Cool-fire](https://github.com/Cool-fire)) + - Add GUI for customFields in Omnichannel conversations ([#15840](https://github.com/RocketChat/Rocket.Chat/pull/15840) by [@antkaz](https://github.com/antkaz)) + - update on mongo, node and caddy on snap ([#16167](https://github.com/RocketChat/Rocket.Chat/pull/16167)) + - Enforce plain text emails converting from HTML when no text version supplied ([#16063](https://github.com/RocketChat/Rocket.Chat/pull/16063)) + - Setting Top navbar in embedded mode ([#16064](https://github.com/RocketChat/Rocket.Chat/pull/16064)) ### ๐Ÿš€ Improvements + - Request user presence on demand ([#16348](https://github.com/RocketChat/Rocket.Chat/pull/16348)) + - Major overhaul on data importers ([#16279](https://github.com/RocketChat/Rocket.Chat/pull/16279)) + - Changes App user's status when the app was enabled/disabled ([#16392](https://github.com/RocketChat/Rocket.Chat/pull/16392)) + - Log as info level when Method Rate Limiters are reached ([#16446](https://github.com/RocketChat/Rocket.Chat/pull/16446)) + - Show more information related to the Omnichannel room closing data ([#16414](https://github.com/RocketChat/Rocket.Chat/pull/16414)) + - Update katex version ([#16393](https://github.com/RocketChat/Rocket.Chat/pull/16393)) + - Prevent "App user" from being deleted by the admin ([#16373](https://github.com/RocketChat/Rocket.Chat/pull/16373)) + - Improve function to check if setting has changed ([#16181](https://github.com/RocketChat/Rocket.Chat/pull/16181)) + - Status Text form validation ([#16121](https://github.com/RocketChat/Rocket.Chat/pull/16121)) + - Set the color of the cancel button on modals to #bdbebf for enhanced visibiity ([#15913](https://github.com/RocketChat/Rocket.Chat/pull/15913) by [@ritwizsinha](https://github.com/ritwizsinha)) + - Remove NRR ([#16071](https://github.com/RocketChat/Rocket.Chat/pull/16071)) ### ๐Ÿ› Bug fixes + - Result of get avatar from url can be null ([#16123](https://github.com/RocketChat/Rocket.Chat/pull/16123)) + - Rooms not being marked as read sometimes ([#16397](https://github.com/RocketChat/Rocket.Chat/pull/16397)) + - Container heights ([#16388](https://github.com/RocketChat/Rocket.Chat/pull/16388)) + - Mail Msg Cancel button not closing the flexbar ([#16263](https://github.com/RocketChat/Rocket.Chat/pull/16263) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - Highlight freezing the UI ([#16378](https://github.com/RocketChat/Rocket.Chat/pull/16378)) + - Adding 'lang' tag ([#16375](https://github.com/RocketChat/Rocket.Chat/pull/16375)) + - Role tags missing - Description field explanation ([#16356](https://github.com/RocketChat/Rocket.Chat/pull/16356)) + - The "click to load" text is hard-coded and not translated. ([#16142](https://github.com/RocketChat/Rocket.Chat/pull/16142) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - FileUpload.getBuffer was not working through the Apps-Engine ([#16234](https://github.com/RocketChat/Rocket.Chat/pull/16234)) + - Integrations admin page ([#16183](https://github.com/RocketChat/Rocket.Chat/pull/16183)) + - Readme Help wanted section ([#16197](https://github.com/RocketChat/Rocket.Chat/pull/16197)) + - auto translate cache ([#15768](https://github.com/RocketChat/Rocket.Chat/pull/15768) by [@vickyokrm](https://github.com/vickyokrm)) + - Save password without confirmation ([#16060](https://github.com/RocketChat/Rocket.Chat/pull/16060) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - Break message-attachment text to the next line ([#16039](https://github.com/RocketChat/Rocket.Chat/pull/16039) by [@ritwizsinha](https://github.com/ritwizsinha)) + - SafePorts: Ports 80, 8080 & 443 linked to respective protocols (#16108) ([#16108](https://github.com/RocketChat/Rocket.Chat/pull/16108)) + - Drag and drop disabled when file upload is disabled ([#16049](https://github.com/RocketChat/Rocket.Chat/pull/16049)) + - Video message sent to wrong room ([#16113](https://github.com/RocketChat/Rocket.Chat/pull/16113)) + - "User not found" for direct messages ([#16047](https://github.com/RocketChat/Rocket.Chat/pull/16047)) + - Embedded style when using 'go' command ([#16051](https://github.com/RocketChat/Rocket.Chat/pull/16051)) + - Thread message icon overlapping text ([#16083](https://github.com/RocketChat/Rocket.Chat/pull/16083)) + - Login change language button ([#16085](https://github.com/RocketChat/Rocket.Chat/pull/16085)) + - api-bypass-rate-limiter permission was not working ([#16080](https://github.com/RocketChat/Rocket.Chat/pull/16080)) + - Missing edited icon in newly created messages ([#16484](https://github.com/RocketChat/Rocket.Chat/pull/16484)) + - Read Message after receive a message and the room is opened ([#16473](https://github.com/RocketChat/Rocket.Chat/pull/16473)) + - Send message with pending messages ([#16474](https://github.com/RocketChat/Rocket.Chat/pull/16474)) + - Do not stop on DM imports if one of users was not found ([#16547](https://github.com/RocketChat/Rocket.Chat/pull/16547)) + - Introduce AppLivechatBridge.isOnlineAsync method ([#16467](https://github.com/RocketChat/Rocket.Chat/pull/16467)) + - When copying invite links, multiple toastr messages ([#16578](https://github.com/RocketChat/Rocket.Chat/pull/16578)) + - Livechat Widget version 1.3.1 ([#16580](https://github.com/RocketChat/Rocket.Chat/pull/16580)) + - Error when successfully joining room by invite link ([#16571](https://github.com/RocketChat/Rocket.Chat/pull/16571)) + - Invite links proxy URLs not working when using CDN ([#16581](https://github.com/RocketChat/Rocket.Chat/pull/16581)) + - Bug on starting Jitsi video calls , multiple messages ([#16601](https://github.com/RocketChat/Rocket.Chat/pull/16601))
๐Ÿ” Minor changes + - Revert importer streamed uploads ([#16465](https://github.com/RocketChat/Rocket.Chat/pull/16465)) + - Regression: Fix app user status change for non-existing user ([#16458](https://github.com/RocketChat/Rocket.Chat/pull/16458)) + - Regression: Fix sending a message not scrolling to bottom ([#16451](https://github.com/RocketChat/Rocket.Chat/pull/16451)) + - LingoHub based on develop ([#16450](https://github.com/RocketChat/Rocket.Chat/pull/16450)) + - Regression: Fix sequential messages grouping ([#16386](https://github.com/RocketChat/Rocket.Chat/pull/16386)) + - Use GitHub Actions to store builds ([#16443](https://github.com/RocketChat/Rocket.Chat/pull/16443)) + - Regression: recent opened rooms being marked as read ([#16442](https://github.com/RocketChat/Rocket.Chat/pull/16442)) + - Regression: Fix status bar margins ([#16438](https://github.com/RocketChat/Rocket.Chat/pull/16438)) + - Update apps engine to 1.12.0-beta.2496 ([#16398](https://github.com/RocketChat/Rocket.Chat/pull/16398)) + - Regression: App deletion wasnโ€™t returning the correct information ([#16360](https://github.com/RocketChat/Rocket.Chat/pull/16360)) + - Lint: Resolve complexity warnings ([#16114](https://github.com/RocketChat/Rocket.Chat/pull/16114)) + - Fix Preview Docker image build ([#16379](https://github.com/RocketChat/Rocket.Chat/pull/16379)) + - Fix assets download on CI ([#16352](https://github.com/RocketChat/Rocket.Chat/pull/16352)) + - Send build artifacts to S3 ([#16237](https://github.com/RocketChat/Rocket.Chat/pull/16237)) + - Add missing translations ([#16150](https://github.com/RocketChat/Rocket.Chat/pull/16150) by [@ritwizsinha](https://github.com/ritwizsinha)) + - Disable PR Docker image build ([#16141](https://github.com/RocketChat/Rocket.Chat/pull/16141)) + - Add Cloud Info to translation dictionary ([#16122](https://github.com/RocketChat/Rocket.Chat/pull/16122) by [@aviral243](https://github.com/aviral243)) + - Merge master into develop & Set version to 2.5.0-develop ([#16107](https://github.com/RocketChat/Rocket.Chat/pull/16107)) + - Fix tests ([#16469](https://github.com/RocketChat/Rocket.Chat/pull/16469)) + - Regression: prevent submit modal ([#16488](https://github.com/RocketChat/Rocket.Chat/pull/16488)) + - Regression: allow private channels to hide system messages ([#16483](https://github.com/RocketChat/Rocket.Chat/pull/16483)) + - Regression: Fix uikit modal closing on click ([#16475](https://github.com/RocketChat/Rocket.Chat/pull/16475)) + - Regression: Fix undefined presence after reconnect ([#16477](https://github.com/RocketChat/Rocket.Chat/pull/16477)) + - Remove users.info being called without need ([#16504](https://github.com/RocketChat/Rocket.Chat/pull/16504)) + - Add Ui Kit container ([#16503](https://github.com/RocketChat/Rocket.Chat/pull/16503)) + - Catch zip errors on import file load ([#16494](https://github.com/RocketChat/Rocket.Chat/pull/16494)) + - Fix: License missing from manual register handler ([#16505](https://github.com/RocketChat/Rocket.Chat/pull/16505)) + - Exclude federated and app users from active user count ([#16489](https://github.com/RocketChat/Rocket.Chat/pull/16489)) + - Regression: Update Uikit ([#16515](https://github.com/RocketChat/Rocket.Chat/pull/16515)) + - Regression: UIKit - Send container info on block actions triggered on a message ([#16514](https://github.com/RocketChat/Rocket.Chat/pull/16514)) + - Use base64 for import files upload to prevent file corruption ([#16516](https://github.com/RocketChat/Rocket.Chat/pull/16516)) + - Regression: Send app info along with interaction payload to the UI ([#16511](https://github.com/RocketChat/Rocket.Chat/pull/16511)) + - Regression: Ui Kit messaging issues (#16513) ([#16513](https://github.com/RocketChat/Rocket.Chat/pull/16513)) + - Regression: update package-lock ([#16528](https://github.com/RocketChat/Rocket.Chat/pull/16528)) + - Regression: UIkit input states ([#16552](https://github.com/RocketChat/Rocket.Chat/pull/16552)) + - Regression: UIKit missing select states: error/disabled ([#16540](https://github.com/RocketChat/Rocket.Chat/pull/16540)) + - Regression: fix read unread messages ([#16562](https://github.com/RocketChat/Rocket.Chat/pull/16562)) + - Regression: UIKit update modal actions ([#16570](https://github.com/RocketChat/Rocket.Chat/pull/16570)) + - Update Apps-Engine version ([#16584](https://github.com/RocketChat/Rocket.Chat/pull/16584)) + - Add breaking notice regarding TLS ([#16575](https://github.com/RocketChat/Rocket.Chat/pull/16575)) + - Regression: Modal onSubmit ([#16556](https://github.com/RocketChat/Rocket.Chat/pull/16556)) + - Regression: send file modal not working via keyboard ([#16607](https://github.com/RocketChat/Rocket.Chat/pull/16607)) + - Fix github actions accessing the github registry ([#16521](https://github.com/RocketChat/Rocket.Chat/pull/16521) by [@mrsimpson](https://github.com/mrsimpson))
@@ -484,6 +738,7 @@ ### ๐Ÿ› Bug fixes + - users.info endpoint not handling the error if the user does not exist ([#16495](https://github.com/RocketChat/Rocket.Chat/pull/16495)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -501,11 +756,13 @@ ### ๐Ÿ› Bug fixes + - `stdout` streamer infinite loop ([#16452](https://github.com/RocketChat/Rocket.Chat/pull/16452))
๐Ÿ” Minor changes + - Release 2.4.9 ([#16544](https://github.com/RocketChat/Rocket.Chat/pull/16544))
@@ -525,7 +782,9 @@
๐Ÿ” Minor changes + - Release 2.4.8 ([#16506](https://github.com/RocketChat/Rocket.Chat/pull/16506)) + - Update presence package to 2.6.1 ([#16486](https://github.com/RocketChat/Rocket.Chat/pull/16486))
@@ -544,11 +803,13 @@ ### ๐Ÿ› Bug fixes + - Option to make a channel default ([#16433](https://github.com/RocketChat/Rocket.Chat/pull/16433))
๐Ÿ” Minor changes + - Release 2.4.7 ([#16444](https://github.com/RocketChat/Rocket.Chat/pull/16444))
@@ -569,8 +830,11 @@
๐Ÿ” Minor changes + - Release 2.4.6 ([#16402](https://github.com/RocketChat/Rocket.Chat/pull/16402)) + - Revert message properties validation ([#16395](https://github.com/RocketChat/Rocket.Chat/pull/16395)) + - Fix index creation for apps_logs collection ([#16401](https://github.com/RocketChat/Rocket.Chat/pull/16401))
@@ -592,6 +856,7 @@
๐Ÿ” Minor changes + - Release 2.4.5 ([#16380](https://github.com/RocketChat/Rocket.Chat/pull/16380))
@@ -610,12 +875,15 @@ ### ๐Ÿ› Bug fixes + - App removal was moving logs to the trash collection ([#16362](https://github.com/RocketChat/Rocket.Chat/pull/16362))
๐Ÿ” Minor changes + - Release 2.4.4 ([#16377](https://github.com/RocketChat/Rocket.Chat/pull/16377)) + - Regression: Rate limiter was not working due to Meteor internal changes ([#16361](https://github.com/RocketChat/Rocket.Chat/pull/16361))
@@ -635,12 +903,15 @@ ### ๐Ÿ› Bug fixes + - Unknown error when sending message if 'Set a User Name to Alias in Message' setting is enabled ([#16347](https://github.com/RocketChat/Rocket.Chat/pull/16347)) + - Invite links usage by channel owners/moderators ([#16176](https://github.com/RocketChat/Rocket.Chat/pull/16176))
๐Ÿ” Minor changes + - Release 2.4.3 ([#16358](https://github.com/RocketChat/Rocket.Chat/pull/16358))
@@ -660,14 +931,19 @@ ### ๐Ÿ› Bug fixes + - Setup Wizard inputs and Admin Settings ([#16147](https://github.com/RocketChat/Rocket.Chat/pull/16147)) + - Slack CSV User Importer ([#16253](https://github.com/RocketChat/Rocket.Chat/pull/16253)) + - Integrations list without pagination and outgoing integration creation ([#16233](https://github.com/RocketChat/Rocket.Chat/pull/16233)) + - User stuck after reset password ([#16184](https://github.com/RocketChat/Rocket.Chat/pull/16184))
๐Ÿ” Minor changes + - Release 2.4.2 ([#16274](https://github.com/RocketChat/Rocket.Chat/pull/16274))
@@ -689,12 +965,15 @@ ### ๐Ÿ› Bug fixes + - Enable apps change properties of the sender on the message as before ([#16189](https://github.com/RocketChat/Rocket.Chat/pull/16189)) + - JS errors on Administration page ([#16139](https://github.com/RocketChat/Rocket.Chat/pull/16139))
๐Ÿ” Minor changes + - Release 2.4.1 ([#16195](https://github.com/RocketChat/Rocket.Chat/pull/16195))
@@ -716,87 +995,159 @@ ### ๐ŸŽ‰ New features + - Invite links: share a link to invite users ([#15933](https://github.com/RocketChat/Rocket.Chat/pull/15933)) + - Logout other clients when changing password ([#15927](https://github.com/RocketChat/Rocket.Chat/pull/15927)) + - Do not print emails in console on production mode ([#15928](https://github.com/RocketChat/Rocket.Chat/pull/15928)) + - Apps-Engine event for when a livechat room is closed ([#15837](https://github.com/RocketChat/Rocket.Chat/pull/15837)) ### ๐Ÿš€ Improvements + - Replace livechat:inquiry publication by REST and Streamer ([#15977](https://github.com/RocketChat/Rocket.Chat/pull/15977)) + - Sorting on livechat analytics queries were wrong ([#16021](https://github.com/RocketChat/Rocket.Chat/pull/16021)) + - Replace fullUserData publication by REST ([#15650](https://github.com/RocketChat/Rocket.Chat/pull/15650)) + - Replace integrations and integrationHistory publications by REST ([#15885](https://github.com/RocketChat/Rocket.Chat/pull/15885)) + - Notify logged agents when their departments change ([#16033](https://github.com/RocketChat/Rocket.Chat/pull/16033)) + - Replace fullEmojiData publication by REST ([#15901](https://github.com/RocketChat/Rocket.Chat/pull/15901)) + - Replace adminRooms publication by REST ([#15948](https://github.com/RocketChat/Rocket.Chat/pull/15948)) + - Replace webdavAccounts publication by REST ([#15926](https://github.com/RocketChat/Rocket.Chat/pull/15926)) + - Replace oauth publications by REST ([#15878](https://github.com/RocketChat/Rocket.Chat/pull/15878)) + - Replace userAutocomplete publication by REST ([#15956](https://github.com/RocketChat/Rocket.Chat/pull/15956)) + - Replace discussionsOfARoom publication by REST ([#15908](https://github.com/RocketChat/Rocket.Chat/pull/15908)) + - Move 'Reply in Thread' button from menu to message actions ([#15685](https://github.com/RocketChat/Rocket.Chat/pull/15685) by [@antkaz](https://github.com/antkaz)) + - Replace customSounds publication by REST ([#15907](https://github.com/RocketChat/Rocket.Chat/pull/15907)) + - Replace stdout publication by REST ([#16004](https://github.com/RocketChat/Rocket.Chat/pull/16004)) + - Replace fullUserStatusData publication by REST ([#15942](https://github.com/RocketChat/Rocket.Chat/pull/15942)) + - Replace userData subscriptions by REST ([#15916](https://github.com/RocketChat/Rocket.Chat/pull/15916)) + - Replace roles publication by REST ([#15910](https://github.com/RocketChat/Rocket.Chat/pull/15910)) + - Livechat realtime dashboard ([#15792](https://github.com/RocketChat/Rocket.Chat/pull/15792)) + - Replace livechat:rooms publication by REST ([#15968](https://github.com/RocketChat/Rocket.Chat/pull/15968)) + - Replace livechat:officeHour publication to REST ([#15503](https://github.com/RocketChat/Rocket.Chat/pull/15503)) + - Replace forgotten livechat:departmentAgents subscriptions ([#15970](https://github.com/RocketChat/Rocket.Chat/pull/15970)) + - Replace livechat:managers publication by REST ([#15944](https://github.com/RocketChat/Rocket.Chat/pull/15944)) + - Replace livechat:visitorHistory publication by REST ([#15943](https://github.com/RocketChat/Rocket.Chat/pull/15943)) + - Replace livechat:queue subscription ([#15612](https://github.com/RocketChat/Rocket.Chat/pull/15612)) + - Add deprecate warning in some unused publications ([#15935](https://github.com/RocketChat/Rocket.Chat/pull/15935)) + - Replace livechat:customFields to REST ([#15496](https://github.com/RocketChat/Rocket.Chat/pull/15496)) + - Validate user identity on send message process ([#15887](https://github.com/RocketChat/Rocket.Chat/pull/15887)) + - Update ui for Roles field ([#15888](https://github.com/RocketChat/Rocket.Chat/pull/15888) by [@antkaz](https://github.com/antkaz)) ### ๐Ÿ› Bug fixes + - Importer: Variable name appearing instead of it's value ([#16010](https://github.com/RocketChat/Rocket.Chat/pull/16010) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - Add time format for latest message on the sidebar ([#15930](https://github.com/RocketChat/Rocket.Chat/pull/15930) by [@ritwizsinha](https://github.com/ritwizsinha)) + - Admin Setting descriptions and Storybook ([#15994](https://github.com/RocketChat/Rocket.Chat/pull/15994)) + - width of upload-progress-text ([#16023](https://github.com/RocketChat/Rocket.Chat/pull/16023)) + - Message list scrolling to bottom on reactions ([#16018](https://github.com/RocketChat/Rocket.Chat/pull/16018)) + - SAML logout error ([#15978](https://github.com/RocketChat/Rocket.Chat/pull/15978)) + - Added Join button to Read Only rooms. ([#16016](https://github.com/RocketChat/Rocket.Chat/pull/16016)) + - z-index of new message button ([#16013](https://github.com/RocketChat/Rocket.Chat/pull/16013)) + - new message popup ([#16017](https://github.com/RocketChat/Rocket.Chat/pull/16017)) + - Changed renderMessage priority, fixed Katex on/off setting ([#16012](https://github.com/RocketChat/Rocket.Chat/pull/16012)) + - Empty security section when 2fa is disabled ([#16009](https://github.com/RocketChat/Rocket.Chat/pull/16009)) + - Dropzone being stuck when dragging to thread ([#16006](https://github.com/RocketChat/Rocket.Chat/pull/16006)) + - Fix sort livechat rooms ([#16001](https://github.com/RocketChat/Rocket.Chat/pull/16001)) + - Guest's name field missing when forwarding livechat rooms ([#15991](https://github.com/RocketChat/Rocket.Chat/pull/15991)) + - Error of bind environment on user data export ([#15985](https://github.com/RocketChat/Rocket.Chat/pull/15985)) + - Incorrect translation key on Livechat Appearance template ([#15975](https://github.com/RocketChat/Rocket.Chat/pull/15975) by [@ritwizsinha](https://github.com/ritwizsinha)) + - Livechat build without NodeJS installed ([#15903](https://github.com/RocketChat/Rocket.Chat/pull/15903) by [@localguru](https://github.com/localguru)) + - Server crash on sync with no response ([#15919](https://github.com/RocketChat/Rocket.Chat/pull/15919)) + - Don't throw an error when a message is prevented from apps engine ([#15850](https://github.com/RocketChat/Rocket.Chat/pull/15850) by [@wreiske](https://github.com/wreiske)) + - Thread Replies in Search ([#15841](https://github.com/RocketChat/Rocket.Chat/pull/15841)) + - Registration form was hidden when login form was disabled ([#16062](https://github.com/RocketChat/Rocket.Chat/pull/16062))
๐Ÿ” Minor changes + - Update NodeJS to 8.17.0 ([#16043](https://github.com/RocketChat/Rocket.Chat/pull/16043)) + - Fix typo in Italian translation ([#15998](https://github.com/RocketChat/Rocket.Chat/pull/15998) by [@iannuzzelli](https://github.com/iannuzzelli)) + - Update Meteor to 1.8.3 ([#16037](https://github.com/RocketChat/Rocket.Chat/pull/16037)) + - Some performance improvements ([#15886](https://github.com/RocketChat/Rocket.Chat/pull/15886)) + - Fixed Grammatical Mistakes. ([#15570](https://github.com/RocketChat/Rocket.Chat/pull/15570) by [@breaking-let](https://github.com/breaking-let)) + - Upgrade limax to 2.0.0 ([#16020](https://github.com/RocketChat/Rocket.Chat/pull/16020)) + - Remove unnecessary cron starts ([#15989](https://github.com/RocketChat/Rocket.Chat/pull/15989)) + - Enable typescript lint ([#15979](https://github.com/RocketChat/Rocket.Chat/pull/15979)) + - LingoHub based on develop ([#15988](https://github.com/RocketChat/Rocket.Chat/pull/15988)) + - Fix 'How it all started' link on README ([#15962](https://github.com/RocketChat/Rocket.Chat/pull/15962) by [@zdumitru](https://github.com/zdumitru)) + - Check package-lock consistency with package.json on CI ([#15961](https://github.com/RocketChat/Rocket.Chat/pull/15961)) + - Meteor update to 1.8.2 ([#15873](https://github.com/RocketChat/Rocket.Chat/pull/15873)) + - GitHub CI ([#15918](https://github.com/RocketChat/Rocket.Chat/pull/15918)) + - Change migration number 169 <-> 170 ([#15940](https://github.com/RocketChat/Rocket.Chat/pull/15940)) + - LingoHub based on develop ([#15939](https://github.com/RocketChat/Rocket.Chat/pull/15939)) + - [CHORE] Replace findOne with findOneById methods (Omnichannel) ([#15894](https://github.com/RocketChat/Rocket.Chat/pull/15894)) + - Merge master into develop & Set version to 3.0.0-develop ([#15872](https://github.com/RocketChat/Rocket.Chat/pull/15872)) + - Regression: Update components ([#16053](https://github.com/RocketChat/Rocket.Chat/pull/16053)) + - Regression: Missing button to copy Invite links ([#16084](https://github.com/RocketChat/Rocket.Chat/pull/16084))
@@ -838,6 +1189,7 @@ ### ๐Ÿ› Bug fixes + - Add missing password field back to administration area ([#16171](https://github.com/RocketChat/Rocket.Chat/pull/16171)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -855,7 +1207,9 @@ ### ๐Ÿ› Bug fixes + - Invalid Redirect URI on Custom OAuth ([#15957](https://github.com/RocketChat/Rocket.Chat/pull/15957)) + - Livechat Widget version 1.3.0 ([#15966](https://github.com/RocketChat/Rocket.Chat/pull/15966)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -873,11 +1227,17 @@ ### ๐Ÿ› Bug fixes + - Default value of the Livechat WebhookUrl setting ([#15898](https://github.com/RocketChat/Rocket.Chat/pull/15898)) + - Admin menu not showing after renamed integration permissions ([#15937](https://github.com/RocketChat/Rocket.Chat/pull/15937) by [@n-se](https://github.com/n-se)) + - Administration UI issues ([#15934](https://github.com/RocketChat/Rocket.Chat/pull/15934)) + - Livechat permissions being overwrite on server restart ([#15915](https://github.com/RocketChat/Rocket.Chat/pull/15915)) + - Livechat triggers not firing ([#15897](https://github.com/RocketChat/Rocket.Chat/pull/15897)) + - Auto load image user preference ([#15895](https://github.com/RocketChat/Rocket.Chat/pull/15895)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜ @@ -900,90 +1260,165 @@ ### ๐ŸŽ‰ New features + - Add forms to view and edit Livechat agents info ([#15703](https://github.com/RocketChat/Rocket.Chat/pull/15703)) + - Workspace Manual Registration ([#15442](https://github.com/RocketChat/Rocket.Chat/pull/15442)) + - Option on livechat departments to ensure a chat has tags before closing ([#15752](https://github.com/RocketChat/Rocket.Chat/pull/15752)) + - Setting to dismiss desktop notification only after interaction ([#14807](https://github.com/RocketChat/Rocket.Chat/pull/14807) by [@mpdbl](https://github.com/mpdbl)) + - Option for admins to set a random password to a user ([#15818](https://github.com/RocketChat/Rocket.Chat/pull/15818)) + - SAML login without popup windows ([#15836](https://github.com/RocketChat/Rocket.Chat/pull/15836)) + - Add ability to users reset their own E2E key ([#15777](https://github.com/RocketChat/Rocket.Chat/pull/15777)) + - Notify users when their email address change ([#15828](https://github.com/RocketChat/Rocket.Chat/pull/15828)) + - Add a new stream to emit and listen room data events ([#15770](https://github.com/RocketChat/Rocket.Chat/pull/15770)) + - Livechat analytics ([#15230](https://github.com/RocketChat/Rocket.Chat/pull/15230)) + - Allow Regexes on SAML user field mapping ([#15743](https://github.com/RocketChat/Rocket.Chat/pull/15743)) + - Livechat analytics functions ([#15666](https://github.com/RocketChat/Rocket.Chat/pull/15666)) + - add delete-own-message permission ([#15512](https://github.com/RocketChat/Rocket.Chat/pull/15512)) ### ๐Ÿš€ Improvements + - Make push notification batchsize and interval configurable ([#15804](https://github.com/RocketChat/Rocket.Chat/pull/15804) by [@Exordian](https://github.com/Exordian)) + - Add more fields to iframe integration event `unread-changed-by-subscription` ([#15786](https://github.com/RocketChat/Rocket.Chat/pull/15786)) + - Allow dragging of images and text from browsers ([#15691](https://github.com/RocketChat/Rocket.Chat/pull/15691)) + - Unfollow own threads ([#15740](https://github.com/RocketChat/Rocket.Chat/pull/15740)) + - Administration UI - React and Fuselage components ([#15452](https://github.com/RocketChat/Rocket.Chat/pull/15452)) + - Replace livechat:pagesvisited publication by REST ([#15629](https://github.com/RocketChat/Rocket.Chat/pull/15629)) + - Replace livechat:externalMessages publication by REST ([#15643](https://github.com/RocketChat/Rocket.Chat/pull/15643)) + - dynamic import livechat views ([#15775](https://github.com/RocketChat/Rocket.Chat/pull/15775)) + - Replace livechat:visitorInfo publication by REST ([#15639](https://github.com/RocketChat/Rocket.Chat/pull/15639)) + - Lazyload Chart.js ([#15764](https://github.com/RocketChat/Rocket.Chat/pull/15764)) + - Lazyload qrcode lib ([#15741](https://github.com/RocketChat/Rocket.Chat/pull/15741)) + - Replace personalAccessTokens publication by REST ([#15644](https://github.com/RocketChat/Rocket.Chat/pull/15644)) + - Replace livechat:departmentAgents subscription to REST ([#15529](https://github.com/RocketChat/Rocket.Chat/pull/15529)) + - remove computations inside messageAttachment ([#15716](https://github.com/RocketChat/Rocket.Chat/pull/15716)) + - Replace snippetedMessage publication by REST ([#15679](https://github.com/RocketChat/Rocket.Chat/pull/15679)) + - Replace snipptedMessages publication by REST ([#15678](https://github.com/RocketChat/Rocket.Chat/pull/15678)) + - Remove "EmojiCustom" unused subscription ([#15658](https://github.com/RocketChat/Rocket.Chat/pull/15658)) ### ๐Ÿ› Bug fixes + - Missing Privacy Policy Agree on register ([#15832](https://github.com/RocketChat/Rocket.Chat/pull/15832)) + - Push: fix notification priority for google (FCM) ([#15803](https://github.com/RocketChat/Rocket.Chat/pull/15803) by [@Exordian](https://github.com/Exordian)) + - Not valid relative URLs on message attachments ([#15651](https://github.com/RocketChat/Rocket.Chat/pull/15651)) + - REST endpoint `chat.syncMessages` returning an error with deleted messages ([#15824](https://github.com/RocketChat/Rocket.Chat/pull/15824)) + - Channel notification audio preferences ([#15771](https://github.com/RocketChat/Rocket.Chat/pull/15771)) + - Pasting images on reply as thread ([#15811](https://github.com/RocketChat/Rocket.Chat/pull/15811)) + - Prevent agent last message undefined ([#15809](https://github.com/RocketChat/Rocket.Chat/pull/15809)) + - Livechat transfer history messages ([#15780](https://github.com/RocketChat/Rocket.Chat/pull/15780)) + - Add button to reset.css ([#15773](https://github.com/RocketChat/Rocket.Chat/pull/15773)) + - Mentions before blockquote ([#15774](https://github.com/RocketChat/Rocket.Chat/pull/15774)) + - Sidebar font color was not respecting theming ([#15745](https://github.com/RocketChat/Rocket.Chat/pull/15745)) + - Add livechat agents into departments ([#15732](https://github.com/RocketChat/Rocket.Chat/pull/15732)) + - Changed cmsPage Style ([#15632](https://github.com/RocketChat/Rocket.Chat/pull/15632)) + - Forward Livechat UI and the related permissions ([#15718](https://github.com/RocketChat/Rocket.Chat/pull/15718)) + - line-height to show entire letters ([#15581](https://github.com/RocketChat/Rocket.Chat/pull/15581) by [@nstseek](https://github.com/nstseek)) + - Apply server side filters on Livechat lists ([#15717](https://github.com/RocketChat/Rocket.Chat/pull/15717)) + - Error when exporting user data ([#15654](https://github.com/RocketChat/Rocket.Chat/pull/15654)) + - Livechat webhook broken when sending an image ([#15699](https://github.com/RocketChat/Rocket.Chat/pull/15699) by [@tatosjb](https://github.com/tatosjb)) + - Sending messages to livechat rooms without a subscription ([#15707](https://github.com/RocketChat/Rocket.Chat/pull/15707)) + - Duplicate label 'Hide Avatars' in accounts ([#15694](https://github.com/RocketChat/Rocket.Chat/pull/15694) by [@rajvaibhavdubey](https://github.com/rajvaibhavdubey)) + - Block Show_Setup_Wizard Option ([#15623](https://github.com/RocketChat/Rocket.Chat/pull/15623)) + - Use Media Devices API to guess if a microphone is not available ([#15636](https://github.com/RocketChat/Rocket.Chat/pull/15636)) + - Ignore file uploads from message box if text/plain content is being pasted ([#15631](https://github.com/RocketChat/Rocket.Chat/pull/15631)) + - typo on PT-BR translation ([#15645](https://github.com/RocketChat/Rocket.Chat/pull/15645)) + - Null value at Notifications Preferences tab ([#15638](https://github.com/RocketChat/Rocket.Chat/pull/15638)) + - Edit in thread ([#15640](https://github.com/RocketChat/Rocket.Chat/pull/15640))
๐Ÿ” Minor changes + - Release 2.2.0 ([#15681](https://github.com/RocketChat/Rocket.Chat/pull/15681) by [@Montel](https://github.com/Montel) & [@antkaz](https://github.com/antkaz) & [@hmagarotto](https://github.com/hmagarotto) & [@nstseek](https://github.com/nstseek) & [@oguhpereira](https://github.com/oguhpereira) & [@rodrigokamada](https://github.com/rodrigokamada) & [@yusukeh0710](https://github.com/yusukeh0710)) + - LingoHub based on develop ([#15822](https://github.com/RocketChat/Rocket.Chat/pull/15822)) + - [REGRESSION] Add livechat room type to the room's file list ([#15795](https://github.com/RocketChat/Rocket.Chat/pull/15795)) + - Fix notification migration ([#15783](https://github.com/RocketChat/Rocket.Chat/pull/15783)) + - Regression: fix admin instances info page ([#15772](https://github.com/RocketChat/Rocket.Chat/pull/15772)) + - LingoHub based on develop ([#15763](https://github.com/RocketChat/Rocket.Chat/pull/15763)) + - Regression: messageAttachments inside messageAttachments not receiving settings ([#15733](https://github.com/RocketChat/Rocket.Chat/pull/15733)) + - Improve LDAP Login Fallback setting description in portuguese ([#15655](https://github.com/RocketChat/Rocket.Chat/pull/15655)) + - Update moment-timezone ([#15729](https://github.com/RocketChat/Rocket.Chat/pull/15729)) + - LingoHub based on develop ([#15728](https://github.com/RocketChat/Rocket.Chat/pull/15728)) + - Regression: Fix hide avatars in side bar preference ([#15709](https://github.com/RocketChat/Rocket.Chat/pull/15709)) + - Remove yarn.lock ([#15689](https://github.com/RocketChat/Rocket.Chat/pull/15689)) + - LingoHub based on develop ([#15688](https://github.com/RocketChat/Rocket.Chat/pull/15688)) + - Merge master into develop & Set version to 2.3.0-develop ([#15683](https://github.com/RocketChat/Rocket.Chat/pull/15683)) + - Release 2.2.0 ([#15681](https://github.com/RocketChat/Rocket.Chat/pull/15681) by [@Montel](https://github.com/Montel) & [@antkaz](https://github.com/antkaz) & [@hmagarotto](https://github.com/hmagarotto) & [@nstseek](https://github.com/nstseek) & [@oguhpereira](https://github.com/oguhpereira) & [@rodrigokamada](https://github.com/rodrigokamada) & [@yusukeh0710](https://github.com/yusukeh0710)) + - Fix Livechat duplicated templates error ([#15869](https://github.com/RocketChat/Rocket.Chat/pull/15869)) + - Improvements to random password field on user edit/creation ([#15870](https://github.com/RocketChat/Rocket.Chat/pull/15870)) + - Remove unused permission to reset users' E2E key ([#15860](https://github.com/RocketChat/Rocket.Chat/pull/15860)) + - [CHORE] Add lingohub to readme ([#15849](https://github.com/RocketChat/Rocket.Chat/pull/15849))
@@ -1037,94 +1472,173 @@ ### ๐ŸŽ‰ New features + - Accept GIFs and SVGs for Avatars converting them to PNG and keep transparency of PNGs ([#11385](https://github.com/RocketChat/Rocket.Chat/pull/11385)) + - Thread support to apps slashcommands and slashcommand previews ([#15574](https://github.com/RocketChat/Rocket.Chat/pull/15574)) + - Remove all closed Livechat chats ([#13991](https://github.com/RocketChat/Rocket.Chat/pull/13991) by [@knrt10](https://github.com/knrt10)) + - Separate integration roles ([#13902](https://github.com/RocketChat/Rocket.Chat/pull/13902)) + - Add users.requestDataDownload API endpoint ([#14428](https://github.com/RocketChat/Rocket.Chat/pull/14428) by [@Hudell](https://github.com/Hudell) & [@ubarsaiyan](https://github.com/ubarsaiyan)) + - Check if agent can receive new livechat conversations when its status is away/idle ([#15451](https://github.com/RocketChat/Rocket.Chat/pull/15451)) + - Import SAML language and auto join SAML channels ([#14203](https://github.com/RocketChat/Rocket.Chat/pull/14203) by [@Hudell](https://github.com/Hudell) & [@unixtam](https://github.com/unixtam)) + - Add option to enable X-Frame-options header to avoid loading inside any Iframe ([#14698](https://github.com/RocketChat/Rocket.Chat/pull/14698)) + - Assign new Livechat conversations to bot agents first ([#15317](https://github.com/RocketChat/Rocket.Chat/pull/15317)) + - Added file type filter to RoomFiles ([#15289](https://github.com/RocketChat/Rocket.Chat/pull/15289) by [@juanpetterson](https://github.com/juanpetterson)) + - Add new Livechat appearance setting to set the conversation finished message ([#15577](https://github.com/RocketChat/Rocket.Chat/pull/15577)) + - close emoji box using Keyboard Escape key ([#13956](https://github.com/RocketChat/Rocket.Chat/pull/13956) by [@mohamedar97](https://github.com/mohamedar97)) + - Update livechat widget version to 1.2.5 ([#15600](https://github.com/RocketChat/Rocket.Chat/pull/15600)) + - Import DMs from CSV files ([#15534](https://github.com/RocketChat/Rocket.Chat/pull/15534)) ### ๐Ÿš€ Improvements + - Replace livechat:integration publication by REST ([#15607](https://github.com/RocketChat/Rocket.Chat/pull/15607)) + - Replace livechat:appearance pub to REST ([#15510](https://github.com/RocketChat/Rocket.Chat/pull/15510)) + - Cache hasPermissions ([#15589](https://github.com/RocketChat/Rocket.Chat/pull/15589)) + - Disable edit visitor's phone number in SMS conversations ([#15593](https://github.com/RocketChat/Rocket.Chat/pull/15593)) + - Lazyload Katex Package ([#15398](https://github.com/RocketChat/Rocket.Chat/pull/15398)) + - Replace `livechat:triggers` publication by REST calls ([#15507](https://github.com/RocketChat/Rocket.Chat/pull/15507)) + - Replace roomFilesWithSearchText subscription ([#15550](https://github.com/RocketChat/Rocket.Chat/pull/15550)) + - Replace starred messages subscription ([#15548](https://github.com/RocketChat/Rocket.Chat/pull/15548)) + - Replace some livechat:rooms subscriptions ([#15532](https://github.com/RocketChat/Rocket.Chat/pull/15532)) + - Replace pinned messages subscription ([#15544](https://github.com/RocketChat/Rocket.Chat/pull/15544)) + - Replace mentionedMessages publication to REST ([#15540](https://github.com/RocketChat/Rocket.Chat/pull/15540)) + - Detach React components from Meteor API ([#15482](https://github.com/RocketChat/Rocket.Chat/pull/15482)) + - Replace livechat:agents pub by REST calls ([#15490](https://github.com/RocketChat/Rocket.Chat/pull/15490)) + - Replace `livechat:departments` publication by REST Calls ([#15478](https://github.com/RocketChat/Rocket.Chat/pull/15478)) + - Secure cookies when using HTTPS connection ([#15500](https://github.com/RocketChat/Rocket.Chat/pull/15500)) + - Update Fuselage components on SetupWizard ([#15457](https://github.com/RocketChat/Rocket.Chat/pull/15457)) ### ๐Ÿ› Bug fixes + - Issues saving audio notifications ([#15428](https://github.com/RocketChat/Rocket.Chat/pull/15428) by [@scrivna](https://github.com/scrivna)) + - Fix a typo on Alpha API `e2e.setUserPublicAndPivateKeys` renaming to `e2e.setUserPublicAndPrivateKeys` ([#13334](https://github.com/RocketChat/Rocket.Chat/pull/13334)) + - Showing announcement back ([#15615](https://github.com/RocketChat/Rocket.Chat/pull/15615)) + - adjustments for tooltips to show room name instead of id ([#14084](https://github.com/RocketChat/Rocket.Chat/pull/14084) by [@mohamedar97](https://github.com/mohamedar97)) + - Deny editing visitor's phone number in SMS conversations ([#15602](https://github.com/RocketChat/Rocket.Chat/pull/15602)) + - Incorrect display of the button "Invite users" ([#15594](https://github.com/RocketChat/Rocket.Chat/pull/15594)) + - Compact view ([#15416](https://github.com/RocketChat/Rocket.Chat/pull/15416)) + - leak on stdout listeners ([#15586](https://github.com/RocketChat/Rocket.Chat/pull/15586)) + - Self-XSS in validation functionality ([#15564](https://github.com/RocketChat/Rocket.Chat/pull/15564)) + - Registration/login page now mobile friendly (#15422) ([#15520](https://github.com/RocketChat/Rocket.Chat/pull/15520) by [@nstseek](https://github.com/nstseek)) + - Update apps engine rooms converter to use transformMappedData ([#15546](https://github.com/RocketChat/Rocket.Chat/pull/15546)) + - Missing ending slash on publicFilePath of fileUpload ([#15506](https://github.com/RocketChat/Rocket.Chat/pull/15506)) + - Japanese translation for run import ([#15515](https://github.com/RocketChat/Rocket.Chat/pull/15515) by [@yusukeh0710](https://github.com/yusukeh0710)) + - Add a header for the createAt column in the Directory ([#15556](https://github.com/RocketChat/Rocket.Chat/pull/15556) by [@antkaz](https://github.com/antkaz)) + - Method saveUser is not using password policy ([#15445](https://github.com/RocketChat/Rocket.Chat/pull/15445)) + - Add permissions for slashCommands ([#15525](https://github.com/RocketChat/Rocket.Chat/pull/15525) by [@antkaz](https://github.com/antkaz)) + - Typo in autotranslate method ([#15344](https://github.com/RocketChat/Rocket.Chat/pull/15344) by [@Montel](https://github.com/Montel)) + - Adding "Promise.await" in "livechat/message" endpoint ([#15541](https://github.com/RocketChat/Rocket.Chat/pull/15541) by [@rodrigokamada](https://github.com/rodrigokamada)) + - Reset password was allowing empty values leading to an impossibility to login ([#15444](https://github.com/RocketChat/Rocket.Chat/pull/15444)) + - Emoji are rendered in URL ([#15516](https://github.com/RocketChat/Rocket.Chat/pull/15516) by [@oguhpereira](https://github.com/oguhpereira)) + - Promise await for sendMessage in livechat/messages endpoint ([#15460](https://github.com/RocketChat/Rocket.Chat/pull/15460) by [@hmagarotto](https://github.com/hmagarotto)) + - Exposing some fields on server logs at debug level ([#15514](https://github.com/RocketChat/Rocket.Chat/pull/15514))
๐Ÿ” Minor changes + - Merge master into develop & Set version to 2.2.0-develop ([#15622](https://github.com/RocketChat/Rocket.Chat/pull/15622)) + - [FEATURE] Rest API upload file returns message object ([#13821](https://github.com/RocketChat/Rocket.Chat/pull/13821) by [@knrt10](https://github.com/knrt10)) + - New: Add dev dependency david badge to README ([#9058](https://github.com/RocketChat/Rocket.Chat/pull/9058) by [@robbyoconnor](https://github.com/robbyoconnor)) + - Regression: add stdout publication back ([#15614](https://github.com/RocketChat/Rocket.Chat/pull/15614)) + - Livechat Issues ([#15473](https://github.com/RocketChat/Rocket.Chat/pull/15473)) + - Regression: Fix broken message formatting box ([#15599](https://github.com/RocketChat/Rocket.Chat/pull/15599)) + - [CHORE] Update latest Livechat widget version to 1.2.4 ([#15596](https://github.com/RocketChat/Rocket.Chat/pull/15596)) + - Remove unneeded nginx file ([#15483](https://github.com/RocketChat/Rocket.Chat/pull/15483)) + - [REGRESSION] Fix remove department from list ([#15591](https://github.com/RocketChat/Rocket.Chat/pull/15591)) + - [CHORE] Update latest Livechat widget version to 1.2.2 ([#15592](https://github.com/RocketChat/Rocket.Chat/pull/15592)) + - Revert fix package-lock.json ([#15563](https://github.com/RocketChat/Rocket.Chat/pull/15563)) + - Regression: Fix package-lock.json ([#15561](https://github.com/RocketChat/Rocket.Chat/pull/15561)) + - [CHORE] Split logger classes to avoid cyclic dependencies ([#15559](https://github.com/RocketChat/Rocket.Chat/pull/15559)) + - docs: remove rocket chat launcher link ([#15477](https://github.com/RocketChat/Rocket.Chat/pull/15477) by [@RafaelGSS](https://github.com/RafaelGSS)) + - [CHORE] remove 'bulk-create-c' permission ([#15517](https://github.com/RocketChat/Rocket.Chat/pull/15517) by [@antkaz](https://github.com/antkaz)) + - Reply HTTP requests with `X-XSS-Protection: 1` header ([#15498](https://github.com/RocketChat/Rocket.Chat/pull/15498)) + - Updating license term ([#15476](https://github.com/RocketChat/Rocket.Chat/pull/15476)) + - LingoHub based on develop ([#15487](https://github.com/RocketChat/Rocket.Chat/pull/15487)) + - Merge master into develop & Set version to 2.2.0-develop ([#15469](https://github.com/RocketChat/Rocket.Chat/pull/15469)) + - Regression: hasPermission ignoring subscription roles ([#15652](https://github.com/RocketChat/Rocket.Chat/pull/15652)) + - Regression: AppRoomsConverter on Livechat rooms ([#15646](https://github.com/RocketChat/Rocket.Chat/pull/15646)) + - Regression: fix unknown role breaking hasPermission ([#15641](https://github.com/RocketChat/Rocket.Chat/pull/15641)) + - Regression: Move import to avoid circular dependencies ([#15628](https://github.com/RocketChat/Rocket.Chat/pull/15628)) + - Chore: Add Client Setup Information to Issue Template ([#15625](https://github.com/RocketChat/Rocket.Chat/pull/15625)) + - Move publication deprecation warnings ([#15676](https://github.com/RocketChat/Rocket.Chat/pull/15676)) + - Regression: Remove reference to obsolete template helper ([#15675](https://github.com/RocketChat/Rocket.Chat/pull/15675)) + - Merge master into develop ([#15680](https://github.com/RocketChat/Rocket.Chat/pull/15680) by [@knrt10](https://github.com/knrt10))
@@ -1180,13 +1694,17 @@ ### ๐Ÿ› Bug fixes + - Read Receipts were not working properly with subscriptions without ls ([#15656](https://github.com/RocketChat/Rocket.Chat/pull/15656)) + - Exception when sending email of messages attachments undefined ([#15657](https://github.com/RocketChat/Rocket.Chat/pull/15657)) + - Channel Announcements not working ([#14635](https://github.com/RocketChat/Rocket.Chat/pull/14635) by [@knrt10](https://github.com/knrt10))
๐Ÿ” Minor changes + - Release 2.1.2 ([#15667](https://github.com/RocketChat/Rocket.Chat/pull/15667) by [@knrt10](https://github.com/knrt10))
@@ -1211,7 +1729,9 @@ ### ๐Ÿ› Bug fixes + - Read Recepts was not working ([#15603](https://github.com/RocketChat/Rocket.Chat/pull/15603)) + - Dynamic import of JS files were not working correctly ([#15598](https://github.com/RocketChat/Rocket.Chat/pull/15598)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -1229,88 +1749,158 @@ ### โš ๏ธ BREAKING CHANGES + - Deprecate old CORS API access for Cordova mobile app ([#15322](https://github.com/RocketChat/Rocket.Chat/pull/15322)) ### ๐ŸŽ‰ New features + - Apps engine Livechat ([#14626](https://github.com/RocketChat/Rocket.Chat/pull/14626)) + - Livechat setting to show/hide Agent Information on the widget ([#15216](https://github.com/RocketChat/Rocket.Chat/pull/15216)) + - SAML User Data Mapping ([#15404](https://github.com/RocketChat/Rocket.Chat/pull/15404)) + - Add ability to disable email notifications globally ([#9667](https://github.com/RocketChat/Rocket.Chat/pull/9667) by [@ferdifly](https://github.com/ferdifly)) + - Validate NotBefore and NotOnOrAfter SAML assertions ([#15226](https://github.com/RocketChat/Rocket.Chat/pull/15226)) + - Setting to configure SAML context comparison ([#15229](https://github.com/RocketChat/Rocket.Chat/pull/15229)) + - Expand SAML Users Role Settings ([#15277](https://github.com/RocketChat/Rocket.Chat/pull/15277) by [@Hudell](https://github.com/Hudell)) + - Guess a user's name from SAML credentials ([#15240](https://github.com/RocketChat/Rocket.Chat/pull/15240) by [@mrsimpson](https://github.com/mrsimpson)) + - Setting to remove message contents from email notifications ([#15406](https://github.com/RocketChat/Rocket.Chat/pull/15406)) + - Add JWT to uploaded files urls ([#15297](https://github.com/RocketChat/Rocket.Chat/pull/15297)) + - Provide site-url to outgoing integrations ([#15238](https://github.com/RocketChat/Rocket.Chat/pull/15238) by [@mrsimpson](https://github.com/mrsimpson)) + - Only Load CodeMirror code when it is needed ([#15351](https://github.com/RocketChat/Rocket.Chat/pull/15351)) + - Allow file sharing through Twilio(WhatsApp) integration ([#15415](https://github.com/RocketChat/Rocket.Chat/pull/15415)) ### ๐Ÿš€ Improvements + - Change default user's preference for notifications to 'All messages' ([#15420](https://github.com/RocketChat/Rocket.Chat/pull/15420)) + - Remove global Blaze helpers ([#15414](https://github.com/RocketChat/Rocket.Chat/pull/15414)) + - User data export ([#15294](https://github.com/RocketChat/Rocket.Chat/pull/15294) by [@Hudell](https://github.com/Hudell)) + - A11y: Buttons, Images, Popups ([#15405](https://github.com/RocketChat/Rocket.Chat/pull/15405)) + - Administration UI ([#15401](https://github.com/RocketChat/Rocket.Chat/pull/15401)) + - Make the agents field optional when updating Livechat departments ([#15400](https://github.com/RocketChat/Rocket.Chat/pull/15400)) + - Replace LESS autoprefixer plugin ([#15260](https://github.com/RocketChat/Rocket.Chat/pull/15260)) + - Add missing indices used by read receipts ([#15316](https://github.com/RocketChat/Rocket.Chat/pull/15316)) + - Add possibility of renaming a discussion ([#15122](https://github.com/RocketChat/Rocket.Chat/pull/15122)) + - AvatarBlockUnauthenticatedAccess do not call user.find if you dont have to ([#15355](https://github.com/RocketChat/Rocket.Chat/pull/15355)) + - improve autolinker flow ([#15340](https://github.com/RocketChat/Rocket.Chat/pull/15340)) + - Add CustomSounds.play() helper ([#15256](https://github.com/RocketChat/Rocket.Chat/pull/15256)) ### ๐Ÿ› Bug fixes + - Delivering real-time messages to users that left a room ([#15389](https://github.com/RocketChat/Rocket.Chat/pull/15389)) + - Federation messages notifications ([#15418](https://github.com/RocketChat/Rocket.Chat/pull/15418)) + - Property "permission" in slash commands of custom apps (#14739) ([#14741](https://github.com/RocketChat/Rocket.Chat/pull/14741) by [@ifantom](https://github.com/ifantom)) + - Notify admin was generating errors when Rocket.Cat user was edited or deleted ([#15387](https://github.com/RocketChat/Rocket.Chat/pull/15387)) + - Fix file uploads JWT ([#15412](https://github.com/RocketChat/Rocket.Chat/pull/15412)) + - Double send bug on message box ([#15409](https://github.com/RocketChat/Rocket.Chat/pull/15409)) + - Prune messages by cron if room not updated ([#15252](https://github.com/RocketChat/Rocket.Chat/pull/15252)) + - Subscription record not having the `ls` field ([#14544](https://github.com/RocketChat/Rocket.Chat/pull/14544)) + - CAS users can take control of Rocket.Chat accounts ([#15346](https://github.com/RocketChat/Rocket.Chat/pull/15346)) + - Add ENV VAR to enable users create token feature ([#15334](https://github.com/RocketChat/Rocket.Chat/pull/15334)) + - REST API to return only public custom fields ([#15292](https://github.com/RocketChat/Rocket.Chat/pull/15292)) + - REST endpoint `users.setPreferences` to not override all user's preferences ([#15288](https://github.com/RocketChat/Rocket.Chat/pull/15288)) + - LDAP usernames get additional '.' if they contain numbers ([#14644](https://github.com/RocketChat/Rocket.Chat/pull/14644) by [@Hudell](https://github.com/Hudell)) + - Don't allow email violating whitelist addresses ([#15339](https://github.com/RocketChat/Rocket.Chat/pull/15339)) + - Limit exposed fields on some users. endpoints ([#15327](https://github.com/RocketChat/Rocket.Chat/pull/15327)) + - Empty custom emojis on emoji picker ([#15392](https://github.com/RocketChat/Rocket.Chat/pull/15392)) + - User Profile Time Format ([#15385](https://github.com/RocketChat/Rocket.Chat/pull/15385)) + - Grammatical error in Not Found page ([#15382](https://github.com/RocketChat/Rocket.Chat/pull/15382)) + - Set the DEFAULT_ECDH_CURVE to auto (#15245) ([#15365](https://github.com/RocketChat/Rocket.Chat/pull/15365) by [@dlundgren](https://github.com/dlundgren)) + - Message box not centered ([#15367](https://github.com/RocketChat/Rocket.Chat/pull/15367)) + - Duplicate Channels in Search-bar ([#15056](https://github.com/RocketChat/Rocket.Chat/pull/15056)) + - Reduce Message cache time to 500ms ([#15295](https://github.com/RocketChat/Rocket.Chat/pull/15295) by [@vickyokrm](https://github.com/vickyokrm))
๐Ÿ” Minor changes + - Regression: Prevent parsing empty custom field setting ([#15413](https://github.com/RocketChat/Rocket.Chat/pull/15413)) + - Use version 2 of the DeepL API ([#15364](https://github.com/RocketChat/Rocket.Chat/pull/15364) by [@vickyokrm](https://github.com/vickyokrm)) + - Remove GraphQL dependencies left ([#15356](https://github.com/RocketChat/Rocket.Chat/pull/15356)) + - [Fix] Missing space between last username & 'and' word in react notification ([#15384](https://github.com/RocketChat/Rocket.Chat/pull/15384) by [@zdumitru](https://github.com/zdumitru)) + - Add a missing 'Discussion' translation key ([#14029](https://github.com/RocketChat/Rocket.Chat/pull/14029) by [@ura14h](https://github.com/ura14h)) + - Improve Polish translation ([#14060](https://github.com/RocketChat/Rocket.Chat/pull/14060) by [@stepek](https://github.com/stepek)) + - Regression: Messagebox height changing when typing ([#15380](https://github.com/RocketChat/Rocket.Chat/pull/15380)) + - LingoHub based on develop ([#15377](https://github.com/RocketChat/Rocket.Chat/pull/15377)) + - Regression: Fix DDP metrics ([#15368](https://github.com/RocketChat/Rocket.Chat/pull/15368)) + - [CHORE] Move pathFor helper to templateHelpers directory ([#15255](https://github.com/RocketChat/Rocket.Chat/pull/15255)) + - Fix typo in LDAP User Search setting description ([#15228](https://github.com/RocketChat/Rocket.Chat/pull/15228)) + - Remove log ADMIN_PASS environment variable ([#15307](https://github.com/RocketChat/Rocket.Chat/pull/15307)) + - Improve text of the search bar description ([#15353](https://github.com/RocketChat/Rocket.Chat/pull/15353)) + - [CHORE] Remove obsolete modal template ([#15257](https://github.com/RocketChat/Rocket.Chat/pull/15257)) + - Update Meteor to 1.8.1 ([#15358](https://github.com/RocketChat/Rocket.Chat/pull/15358)) + - Merge master into develop & Set version to 2.1.0-develop ([#15357](https://github.com/RocketChat/Rocket.Chat/pull/15357)) + - Regression: Fix invalid version string error on marketplace screen ([#15437](https://github.com/RocketChat/Rocket.Chat/pull/15437)) + - Regression: Fix Commit Section when there is no commit info ([#15436](https://github.com/RocketChat/Rocket.Chat/pull/15436)) + - Regression: setup wizard dynamic import using relative url ([#15432](https://github.com/RocketChat/Rocket.Chat/pull/15432)) + - Regression: Favorite room button ([#15426](https://github.com/RocketChat/Rocket.Chat/pull/15426)) + - Regression: API CORS not working after Cordova being disabled by default ([#15443](https://github.com/RocketChat/Rocket.Chat/pull/15443)) + - Update Apps-Engine version to final version ([#15458](https://github.com/RocketChat/Rocket.Chat/pull/15458))
@@ -1359,97 +1949,176 @@ ### โš ๏ธ BREAKING CHANGES + - Federation refactor with addition of chained events ([#15206](https://github.com/RocketChat/Rocket.Chat/pull/15206)) + - Remove support of MongoDB 3.2 and deprecate MongoDB 3.4 ([#15199](https://github.com/RocketChat/Rocket.Chat/pull/15199)) + - Remove GraphQL and grant packages ([#15192](https://github.com/RocketChat/Rocket.Chat/pull/15192)) + - Remove publication `roomSubscriptionsByRole` ([#15193](https://github.com/RocketChat/Rocket.Chat/pull/15193)) + - Remove publication `usersInRole` ([#15194](https://github.com/RocketChat/Rocket.Chat/pull/15194)) + - Remove old livechat client ([#15133](https://github.com/RocketChat/Rocket.Chat/pull/15133)) + - Replace tap:i18n to add support to 3-digit locales ([#15109](https://github.com/RocketChat/Rocket.Chat/pull/15109)) ### ๐ŸŽ‰ New features + - Custom message popups ([#15117](https://github.com/RocketChat/Rocket.Chat/pull/15117) by [@Hudell](https://github.com/Hudell)) + - Options for SAML auth for individual organizations needs ([#14275](https://github.com/RocketChat/Rocket.Chat/pull/14275) by [@Deltachaos](https://github.com/Deltachaos) & [@Hudell](https://github.com/Hudell)) + - Assume that Rocket.Chat runs behind one proxy by default (HTTP_FORWARDED_COUNT=1) ([#15214](https://github.com/RocketChat/Rocket.Chat/pull/15214)) + - LDAP User Groups, Roles, and Channel Synchronization ([#14278](https://github.com/RocketChat/Rocket.Chat/pull/14278) by [@Hudell](https://github.com/Hudell) & [@wreiske](https://github.com/wreiske)) + - Setup Wizard and Page not found, using React components ([#15204](https://github.com/RocketChat/Rocket.Chat/pull/15204)) + - Add Mobex to the list of SMS service providers ([#14655](https://github.com/RocketChat/Rocket.Chat/pull/14655) by [@zolbayars](https://github.com/zolbayars)) + - Support multiple push gateways ([#14902](https://github.com/RocketChat/Rocket.Chat/pull/14902) by [@cardoso](https://github.com/cardoso)) + - Rest API Endpoint to get pinned messages from a room ([#13864](https://github.com/RocketChat/Rocket.Chat/pull/13864) by [@thayannevls](https://github.com/thayannevls)) + - Granular permissions for settings ([#8942](https://github.com/RocketChat/Rocket.Chat/pull/8942) by [@mrsimpson](https://github.com/mrsimpson)) + - Add autotranslate Rest endpoints ([#14885](https://github.com/RocketChat/Rocket.Chat/pull/14885)) + - Option to hide the button of Custom OAuth on login screen ([#15053](https://github.com/RocketChat/Rocket.Chat/pull/15053)) + - Endpoint to fetch livechat rooms with several filters ([#15155](https://github.com/RocketChat/Rocket.Chat/pull/15155)) + - Integrate DEEPL translation service to RC core ([#12174](https://github.com/RocketChat/Rocket.Chat/pull/12174) by [@mrsimpson](https://github.com/mrsimpson) & [@vickyokrm](https://github.com/vickyokrm)) + - Jitsi meet room access via a token ([#12259](https://github.com/RocketChat/Rocket.Chat/pull/12259) by [@rrzharikov](https://github.com/rrzharikov)) ### ๐Ÿš€ Improvements + - Livechat User Management Improvements ([#14736](https://github.com/RocketChat/Rocket.Chat/pull/14736) by [@Hudell](https://github.com/Hudell)) + - Refactoring the queuing and routing processes of new livechats ([#15003](https://github.com/RocketChat/Rocket.Chat/pull/15003)) + - Add limit of 50 user's resume tokens ([#15102](https://github.com/RocketChat/Rocket.Chat/pull/15102)) + - Add asset extension validation ([#15088](https://github.com/RocketChat/Rocket.Chat/pull/15088)) + - Add possibility to use commands inside threads through Rest API ([#15167](https://github.com/RocketChat/Rocket.Chat/pull/15167)) + - Message tooltips as everyone else ([#15135](https://github.com/RocketChat/Rocket.Chat/pull/15135)) ### ๐Ÿ› Bug fixes + - Webdav crash ([#14918](https://github.com/RocketChat/Rocket.Chat/pull/14918)) + - Mark room as read logic ([#15174](https://github.com/RocketChat/Rocket.Chat/pull/15174)) + - Forget user session on window close ([#15205](https://github.com/RocketChat/Rocket.Chat/pull/15205)) + - Search message wrongly grouping messages ([#15094](https://github.com/RocketChat/Rocket.Chat/pull/15094)) + - Rate limit incoming integrations (webhooks) ([#15038](https://github.com/RocketChat/Rocket.Chat/pull/15038) by [@mrsimpson](https://github.com/mrsimpson)) + - User's auto complete showing everyone on the server ([#15212](https://github.com/RocketChat/Rocket.Chat/pull/15212)) + - "Discussion" label in Sidebar not hidden, when Discussions are disabled (#14660) ([#14682](https://github.com/RocketChat/Rocket.Chat/pull/14682) by [@ifantom](https://github.com/ifantom)) + - Typo in 'access-permissions_description' ja translation ([#15162](https://github.com/RocketChat/Rocket.Chat/pull/15162) by [@NatsumiKubo](https://github.com/NatsumiKubo)) + - IE11 modal, menu action and edit user page ([#15201](https://github.com/RocketChat/Rocket.Chat/pull/15201)) + - TabBar not loading template titles ([#15177](https://github.com/RocketChat/Rocket.Chat/pull/15177) by [@Hudell](https://github.com/Hudell)) + - Threads contextual bar button visible even with threads disabled ([#14956](https://github.com/RocketChat/Rocket.Chat/pull/14956) by [@cesarmal](https://github.com/cesarmal)) + - Prevent to create discussion with empty name ([#14507](https://github.com/RocketChat/Rocket.Chat/pull/14507)) + - Remove new hidden file and fix for .env files for Snap ([#15120](https://github.com/RocketChat/Rocket.Chat/pull/15120)) + - cachedcollection calling multiple times SYNC ([#15104](https://github.com/RocketChat/Rocket.Chat/pull/15104)) + - Redirect on app manual install ([#15306](https://github.com/RocketChat/Rocket.Chat/pull/15306)) + - IE11 baseURI ([#15319](https://github.com/RocketChat/Rocket.Chat/pull/15319))
๐Ÿ” Minor changes + - LingoHub based on develop ([#15218](https://github.com/RocketChat/Rocket.Chat/pull/15218)) + - Regression: fix typo permisson to permission ([#15217](https://github.com/RocketChat/Rocket.Chat/pull/15217)) + - NEW: Apps enable after app installed ([#15202](https://github.com/RocketChat/Rocket.Chat/pull/15202)) + - Change notifications file imports to server ([#15184](https://github.com/RocketChat/Rocket.Chat/pull/15184)) + - Update Livechat to 1.1.6 ([#15186](https://github.com/RocketChat/Rocket.Chat/pull/15186)) + - Regression: remove livechat cache from circle ci ([#15183](https://github.com/RocketChat/Rocket.Chat/pull/15183)) + - Update presence package ([#15178](https://github.com/RocketChat/Rocket.Chat/pull/15178)) + - LingoHub based on develop ([#15166](https://github.com/RocketChat/Rocket.Chat/pull/15166)) + - Switch outdated roadmap to point to milestones ([#15156](https://github.com/RocketChat/Rocket.Chat/pull/15156)) + - Remove GPG file ([#15146](https://github.com/RocketChat/Rocket.Chat/pull/15146)) + - Add wreiske to authorized users in catbot ([#15147](https://github.com/RocketChat/Rocket.Chat/pull/15147)) + - Update to version 2.0.0-develop ([#15142](https://github.com/RocketChat/Rocket.Chat/pull/15142)) + - removed unwanted code ([#15078](https://github.com/RocketChat/Rocket.Chat/pull/15078) by [@httpsOmkar](https://github.com/httpsOmkar)) + - Update pt-BR.i18n.json ([#15083](https://github.com/RocketChat/Rocket.Chat/pull/15083) by [@lucassmacedo](https://github.com/lucassmacedo)) + - Regression: cachedCollection wrong callback parameters ([#15136](https://github.com/RocketChat/Rocket.Chat/pull/15136)) + - Allow file upload paths on attachments URLs ([#15121](https://github.com/RocketChat/Rocket.Chat/pull/15121)) + - Fix automated test for manual user activation ([#14978](https://github.com/RocketChat/Rocket.Chat/pull/14978) by [@mrsimpson](https://github.com/mrsimpson)) + - Add new step to build Docker image from PRs for production again ([#15124](https://github.com/RocketChat/Rocket.Chat/pull/15124)) + - LingoHub based on develop ([#15115](https://github.com/RocketChat/Rocket.Chat/pull/15115)) + - Improve url validation inside message object ([#15074](https://github.com/RocketChat/Rocket.Chat/pull/15074)) + - Merge master into develop & Set version to 1.4.0-develop ([#15097](https://github.com/RocketChat/Rocket.Chat/pull/15097)) + - Federation improvements ([#15234](https://github.com/RocketChat/Rocket.Chat/pull/15234)) + - Regression: Fix assets extension detection ([#15231](https://github.com/RocketChat/Rocket.Chat/pull/15231)) + - Regression: Double error toast on Setup Wizard ([#15268](https://github.com/RocketChat/Rocket.Chat/pull/15268)) + - Regression: addPermissionToRole argument as string ([#15267](https://github.com/RocketChat/Rocket.Chat/pull/15267)) + - Regression: Remove old scripts of Setup Wizard ([#15263](https://github.com/RocketChat/Rocket.Chat/pull/15263)) + - Fix get IP for rate limiter ([#15262](https://github.com/RocketChat/Rocket.Chat/pull/15262)) + - Add oplog events metrics ([#15249](https://github.com/RocketChat/Rocket.Chat/pull/15249)) + - Regression: last message doesn't update after reconnect ([#15329](https://github.com/RocketChat/Rocket.Chat/pull/15329)) + - Regression: New Livechat methods and processes ([#15242](https://github.com/RocketChat/Rocket.Chat/pull/15242)) + - Regression: Remove duplicated permission changes emitter ([#15321](https://github.com/RocketChat/Rocket.Chat/pull/15321)) + - Regression: Errors on the console preventing some settings to be saved ([#15310](https://github.com/RocketChat/Rocket.Chat/pull/15310)) + - Fix v148 migration ([#15285](https://github.com/RocketChat/Rocket.Chat/pull/15285)) + - Fix apps list error ([#15258](https://github.com/RocketChat/Rocket.Chat/pull/15258)) + - Federation migration and additional improvements ([#15336](https://github.com/RocketChat/Rocket.Chat/pull/15336)) + - Regression: Fix wrong import and minor code improvements ([#15352](https://github.com/RocketChat/Rocket.Chat/pull/15352))
@@ -1496,7 +2165,9 @@ ### ๐Ÿ› Bug fixes + - Markdown link parser ([#15794](https://github.com/RocketChat/Rocket.Chat/pull/15794)) + - Updating an app via "Update" button errors out with "App already exists" ([#15814](https://github.com/RocketChat/Rocket.Chat/pull/15814)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -1514,15 +2185,21 @@ ### ๐Ÿ› Bug fixes + - Attachment download button behavior ([#15172](https://github.com/RocketChat/Rocket.Chat/pull/15172)) + - Messages search scroll ([#15175](https://github.com/RocketChat/Rocket.Chat/pull/15175)) + - IE11 - callback createTreeWalker doesnt accept acceptNode ([#15157](https://github.com/RocketChat/Rocket.Chat/pull/15157))
๐Ÿ” Minor changes + - Release 1.3.2 ([#15176](https://github.com/RocketChat/Rocket.Chat/pull/15176)) + - Update latest Livechat widget version to 1.1.4 ([#15173](https://github.com/RocketChat/Rocket.Chat/pull/15173)) + - Update latest Livechat widget version(1.1.3) ([#15154](https://github.com/RocketChat/Rocket.Chat/pull/15154))
@@ -1544,12 +2221,15 @@ ### ๐Ÿ› Bug fixes + - Custom emoji table scroll ([#15119](https://github.com/RocketChat/Rocket.Chat/pull/15119)) + - Direct Message names not visible on Admin panel ([#15114](https://github.com/RocketChat/Rocket.Chat/pull/15114))
๐Ÿ” Minor changes + - Release 1.3.1 ([#15148](https://github.com/RocketChat/Rocket.Chat/pull/15148))
@@ -1570,92 +2250,169 @@ ### ๐ŸŽ‰ New features + - Show helpful error when oplog is missing ([#14954](https://github.com/RocketChat/Rocket.Chat/pull/14954) by [@justinr1234](https://github.com/justinr1234)) + - Subscription enabled marketplace ([#14948](https://github.com/RocketChat/Rocket.Chat/pull/14948)) + - Deprecate MongoDB version 3.2 ([#15025](https://github.com/RocketChat/Rocket.Chat/pull/15025)) + - Options to filter discussion and livechat on Admin > Rooms ([#15019](https://github.com/RocketChat/Rocket.Chat/pull/15019)) + - Settings to further customize GitLab OAuth ([#15014](https://github.com/RocketChat/Rocket.Chat/pull/15014) by [@Hudell](https://github.com/Hudell)) + - Accept multiple redirect URIs on OAuth Apps ([#14935](https://github.com/RocketChat/Rocket.Chat/pull/14935) by [@Hudell](https://github.com/Hudell)) + - Setting to configure custom authn context on SAML requests ([#14675](https://github.com/RocketChat/Rocket.Chat/pull/14675) by [@Hudell](https://github.com/Hudell)) + - Webdav File Picker ([#14879](https://github.com/RocketChat/Rocket.Chat/pull/14879) by [@ubarsaiyan](https://github.com/ubarsaiyan)) + - Setting to prevent Livechat agents online when Office Hours are closed ([#14921](https://github.com/RocketChat/Rocket.Chat/pull/14921)) ### ๐Ÿš€ Improvements + - Connectivity Services License Sync ([#15022](https://github.com/RocketChat/Rocket.Chat/pull/15022)) + - Add flag to identify remote federation users ([#15004](https://github.com/RocketChat/Rocket.Chat/pull/15004)) + - Extract federation config to its own file ([#14992](https://github.com/RocketChat/Rocket.Chat/pull/14992)) + - Update tabs markup ([#14964](https://github.com/RocketChat/Rocket.Chat/pull/14964)) + - Remove too specific helpers isFirefox() and isChrome() ([#14963](https://github.com/RocketChat/Rocket.Chat/pull/14963)) + - Add descriptions on user data download buttons and popup info ([#14852](https://github.com/RocketChat/Rocket.Chat/pull/14852)) ### ๐Ÿ› Bug fixes + - Russian grammatical errors ([#14622](https://github.com/RocketChat/Rocket.Chat/pull/14622) by [@BehindLoader](https://github.com/BehindLoader)) + - Message attachments not allowing float numbers ([#14412](https://github.com/RocketChat/Rocket.Chat/pull/14412)) + - Typo in german translation ([#14833](https://github.com/RocketChat/Rocket.Chat/pull/14833) by [@Le-onardo](https://github.com/Le-onardo)) + - users.setStatus REST endpoint not allowing reset status message ([#14916](https://github.com/RocketChat/Rocket.Chat/pull/14916) by [@cardoso](https://github.com/cardoso)) + - SVG uploads crashing process ([#15006](https://github.com/RocketChat/Rocket.Chat/pull/15006) by [@snoopotic](https://github.com/snoopotic)) + - Edit message with arrow up key if not last message ([#15021](https://github.com/RocketChat/Rocket.Chat/pull/15021)) + - Livechat dashboard average and reaction time labels ([#14845](https://github.com/RocketChat/Rocket.Chat/pull/14845) by [@anandpathak](https://github.com/anandpathak)) + - Edit permissions screen ([#14950](https://github.com/RocketChat/Rocket.Chat/pull/14950)) + - Invite users auto complete cropping results ([#15020](https://github.com/RocketChat/Rocket.Chat/pull/15020)) + - Always displaying jumbomojis when using "marked" markdown ([#14861](https://github.com/RocketChat/Rocket.Chat/pull/14861) by [@brakhane](https://github.com/brakhane)) + - CustomOauth Identity Step errors displayed in HTML format ([#15000](https://github.com/RocketChat/Rocket.Chat/pull/15000) by [@Hudell](https://github.com/Hudell)) + - Custom User Status throttled by rate limiter ([#15001](https://github.com/RocketChat/Rocket.Chat/pull/15001) by [@Hudell](https://github.com/Hudell)) + - Not being able to mention users with "all" and "here" usernames - do not allow users register that usernames ([#14468](https://github.com/RocketChat/Rocket.Chat/pull/14468) by [@hamidrezabstn](https://github.com/hamidrezabstn)) + - Users staying online after logout ([#14966](https://github.com/RocketChat/Rocket.Chat/pull/14966)) + - Chrome doesn't load additional search results when bottom is reached ([#14965](https://github.com/RocketChat/Rocket.Chat/pull/14965)) + - Wrong label order on room settings ([#14960](https://github.com/RocketChat/Rocket.Chat/pull/14960) by [@Hudell](https://github.com/Hudell)) + - Allow storing the navigation history of unregistered Livechat visitors ([#14970](https://github.com/RocketChat/Rocket.Chat/pull/14970)) + - 50 custom emoji limit ([#14951](https://github.com/RocketChat/Rocket.Chat/pull/14951)) + - eternal loading file list ([#14952](https://github.com/RocketChat/Rocket.Chat/pull/14952)) + - load more messages ([#14967](https://github.com/RocketChat/Rocket.Chat/pull/14967)) + - Loading indicator positioning ([#14968](https://github.com/RocketChat/Rocket.Chat/pull/14968)) + - Jump to message missing in Starred Messages ([#14949](https://github.com/RocketChat/Rocket.Chat/pull/14949)) + - Method `getUsersOfRoom` not returning offline users if limit is not defined ([#14753](https://github.com/RocketChat/Rocket.Chat/pull/14753)) + - OTR key icon missing on messages ([#14953](https://github.com/RocketChat/Rocket.Chat/pull/14953)) + - Prevent error on trying insert message with duplicated id ([#14945](https://github.com/RocketChat/Rocket.Chat/pull/14945)) + - LDAP login with customField sync ([#14808](https://github.com/RocketChat/Rocket.Chat/pull/14808) by [@magicbelette](https://github.com/magicbelette)) + - Wrong custom status displayed on room leader panel ([#14958](https://github.com/RocketChat/Rocket.Chat/pull/14958) by [@Hudell](https://github.com/Hudell)) + - Video recorder message echo ([#14671](https://github.com/RocketChat/Rocket.Chat/pull/14671) by [@vova-zush](https://github.com/vova-zush)) + - Opening Livechat messages on mobile apps ([#14785](https://github.com/RocketChat/Rocket.Chat/pull/14785) by [@zolbayars](https://github.com/zolbayars)) + - SAML login by giving displayName priority over userName for fullName ([#14880](https://github.com/RocketChat/Rocket.Chat/pull/14880) by [@pkolmann](https://github.com/pkolmann)) + - setupWizard calling multiple getSetupWizardParameters ([#15060](https://github.com/RocketChat/Rocket.Chat/pull/15060))
๐Ÿ” Minor changes + - Wrong text when reporting a message ([#14515](https://github.com/RocketChat/Rocket.Chat/pull/14515) by [@zdumitru](https://github.com/zdumitru)) + - Add missing French translation ([#15013](https://github.com/RocketChat/Rocket.Chat/pull/15013) by [@commiaI](https://github.com/commiaI)) + - Fix statistics error for apps on first load ([#15026](https://github.com/RocketChat/Rocket.Chat/pull/15026)) + - Always convert the sha256 password to lowercase on checking ([#14941](https://github.com/RocketChat/Rocket.Chat/pull/14941)) + - New: Apps and integrations statistics ([#14878](https://github.com/RocketChat/Rocket.Chat/pull/14878)) + - improve: relocate some of wizard info to register ([#14884](https://github.com/RocketChat/Rocket.Chat/pull/14884)) + - Improve Docker compose readability ([#14457](https://github.com/RocketChat/Rocket.Chat/pull/14457) by [@NateScarlet](https://github.com/NateScarlet)) + - Bump marked from 0.5.2 to 0.6.1 ([#14969](https://github.com/RocketChat/Rocket.Chat/pull/14969) by [@dependabot[bot]](https://github.com/dependabot[bot])) + - Remove unused Meteor dependency (yasinuslu:blaze-meta) ([#14971](https://github.com/RocketChat/Rocket.Chat/pull/14971)) + - Bump photoswipe version to 4.1.3 ([#14977](https://github.com/RocketChat/Rocket.Chat/pull/14977)) + - Bump node-rsa version to 1.0.5 ([#14976](https://github.com/RocketChat/Rocket.Chat/pull/14976)) + - Bump juice version to 5.2.0 ([#14974](https://github.com/RocketChat/Rocket.Chat/pull/14974)) + - Remove unused dependency (lokijs) ([#14973](https://github.com/RocketChat/Rocket.Chat/pull/14973)) + - Regression: patch to improve emoji render ([#14980](https://github.com/RocketChat/Rocket.Chat/pull/14980)) + - [IMPROVEMENT] patch to improve emoji render ([#14722](https://github.com/RocketChat/Rocket.Chat/pull/14722)) + - Bump jquery from 3.3.1 to 3.4.0 in /packages/rocketchat-livechat/.app ([#14922](https://github.com/RocketChat/Rocket.Chat/pull/14922) by [@dependabot[bot]](https://github.com/dependabot[bot])) + - Callbacks perf ([#14915](https://github.com/RocketChat/Rocket.Chat/pull/14915)) + - Split oplog emitters in files ([#14917](https://github.com/RocketChat/Rocket.Chat/pull/14917)) + - Extract canSendMessage function ([#14909](https://github.com/RocketChat/Rocket.Chat/pull/14909)) + - Improve: Get public key for marketplace ([#14851](https://github.com/RocketChat/Rocket.Chat/pull/14851)) + - Merge master into develop & Set version to 1.3.0-develop ([#14889](https://github.com/RocketChat/Rocket.Chat/pull/14889) by [@Hudell](https://github.com/Hudell)) + - Regression: fix code style, setup wizard error and profile page header ([#15041](https://github.com/RocketChat/Rocket.Chat/pull/15041)) + - Regression: Framework version being attached to a request that doesn't require it ([#15039](https://github.com/RocketChat/Rocket.Chat/pull/15039)) + - Update Livechat widget ([#15046](https://github.com/RocketChat/Rocket.Chat/pull/15046)) + - Regression: getSetupWizardParameters ([#15067](https://github.com/RocketChat/Rocket.Chat/pull/15067)) + - Regression: Webdav File Picker search and fixed overflows ([#15027](https://github.com/RocketChat/Rocket.Chat/pull/15027) by [@ubarsaiyan](https://github.com/ubarsaiyan)) + - Regression: Improve apps bridges for HA setup ([#15080](https://github.com/RocketChat/Rocket.Chat/pull/15080)) + - Regression: displaying errors for apps not installed from Marketplace ([#15075](https://github.com/RocketChat/Rocket.Chat/pull/15075)) + - Regression: Marketplace app pricing plan description ([#15076](https://github.com/RocketChat/Rocket.Chat/pull/15076)) + - Regression: uninstall subscribed app modal ([#15077](https://github.com/RocketChat/Rocket.Chat/pull/15077)) + - Regression: Apps and Marketplace UI issues ([#15045](https://github.com/RocketChat/Rocket.Chat/pull/15045))
@@ -1721,11 +2478,13 @@ ### ๐Ÿ› Bug fixes + - Not showing local app on App Details ([#14894](https://github.com/RocketChat/Rocket.Chat/pull/14894))
๐Ÿ” Minor changes + - Release 1.2.1 ([#14898](https://github.com/RocketChat/Rocket.Chat/pull/14898))
@@ -1745,47 +2504,79 @@ ### ๐ŸŽ‰ New features + - Custom User Status ([#13933](https://github.com/RocketChat/Rocket.Chat/pull/13933) by [@Hudell](https://github.com/Hudell) & [@wreiske](https://github.com/wreiske)) + - changed mongo version for snap from 3.2.7 to 3.4.20 ([#14838](https://github.com/RocketChat/Rocket.Chat/pull/14838)) + - Add loading animation to webdav file picker ([#14759](https://github.com/RocketChat/Rocket.Chat/pull/14759) by [@ubarsaiyan](https://github.com/ubarsaiyan)) + - Add tmid property to outgoing integration ([#14699](https://github.com/RocketChat/Rocket.Chat/pull/14699)) + - Endpoint to anonymously read channel's messages ([#14714](https://github.com/RocketChat/Rocket.Chat/pull/14714) by [@PrajvalRaval](https://github.com/PrajvalRaval)) + - Add Livechat inquiries endpoints ([#14779](https://github.com/RocketChat/Rocket.Chat/pull/14779)) + - Configuration to limit amount of livechat inquiries displayed ([#14690](https://github.com/RocketChat/Rocket.Chat/pull/14690)) + - Show App bundles and its apps ([#14886](https://github.com/RocketChat/Rocket.Chat/pull/14886)) ### ๐Ÿš€ Improvements + - Adds link to download generated user data file ([#14175](https://github.com/RocketChat/Rocket.Chat/pull/14175) by [@Hudell](https://github.com/Hudell)) + - Layout of livechat manager pages to new style ([#13900](https://github.com/RocketChat/Rocket.Chat/pull/13900)) + - Add an optional rocketchat-protocol DNS entry for Federation ([#14589](https://github.com/RocketChat/Rocket.Chat/pull/14589)) + - Use configurable colors on sidebar items ([#14624](https://github.com/RocketChat/Rocket.Chat/pull/14624)) ### ๐Ÿ› Bug fixes + - Error when using Download My Data or Export My Data ([#14645](https://github.com/RocketChat/Rocket.Chat/pull/14645) by [@Hudell](https://github.com/Hudell)) + - Removes E2E action button, icon and banner when E2E is disabled. ([#14810](https://github.com/RocketChat/Rocket.Chat/pull/14810)) + - Assume microphone is available ([#14710](https://github.com/RocketChat/Rocket.Chat/pull/14710)) + - Move the set Avatar call on user creation to make sure the user has username ([#14665](https://github.com/RocketChat/Rocket.Chat/pull/14665)) + - users typing forever ([#14724](https://github.com/RocketChat/Rocket.Chat/pull/14724)) + - Increasing time to rate limit in shield.svg endpoint and add a setting to disable API rate limiter ([#14709](https://github.com/RocketChat/Rocket.Chat/pull/14709)) + - Wrong filter field when filtering current Livechats ([#14569](https://github.com/RocketChat/Rocket.Chat/pull/14569)) + - Import Chart.js error ([#14471](https://github.com/RocketChat/Rocket.Chat/pull/14471) by [@Hudell](https://github.com/Hudell) & [@sonbn0](https://github.com/sonbn0)) + - Name is undefined in some emails ([#14533](https://github.com/RocketChat/Rocket.Chat/pull/14533)) + - Direct reply delete config and description ([#14493](https://github.com/RocketChat/Rocket.Chat/pull/14493) by [@ruKurz](https://github.com/ruKurz)) + - Custom status fixes ([#14853](https://github.com/RocketChat/Rocket.Chat/pull/14853) by [@Hudell](https://github.com/Hudell) & [@wreiske](https://github.com/wreiske)) + - LinkedIn OAuth login ([#14887](https://github.com/RocketChat/Rocket.Chat/pull/14887) by [@Hudell](https://github.com/Hudell))
๐Ÿ” Minor changes + - Fix not fully extracted pieces ([#14805](https://github.com/RocketChat/Rocket.Chat/pull/14805)) + - Regression: Fix file upload ([#14804](https://github.com/RocketChat/Rocket.Chat/pull/14804)) + - Extract permissions functions ([#14777](https://github.com/RocketChat/Rocket.Chat/pull/14777)) + - Add custom fileupload whitelist property ([#14754](https://github.com/RocketChat/Rocket.Chat/pull/14754)) + - Merge master into develop & Set version to 1.2.0-develop ([#14656](https://github.com/RocketChat/Rocket.Chat/pull/14656) by [@AnBo83](https://github.com/AnBo83) & [@knrt10](https://github.com/knrt10) & [@mohamedar97](https://github.com/mohamedar97) & [@thaiphv](https://github.com/thaiphv)) + - Regression: Fix desktop notifications not being sent ([#14860](https://github.com/RocketChat/Rocket.Chat/pull/14860)) + - Regression: Allow debugging of cached collections by name ([#14862](https://github.com/RocketChat/Rocket.Chat/pull/14862)) + - Allow debugging of cached collections by name ([#14859](https://github.com/RocketChat/Rocket.Chat/pull/14859))
@@ -1843,12 +2634,15 @@ ### ๐Ÿ› Bug fixes + - Gap of messages when loading history when using threads ([#14837](https://github.com/RocketChat/Rocket.Chat/pull/14837))
๐Ÿ” Minor changes + - Release 1.1.3 ([#14850](https://github.com/RocketChat/Rocket.Chat/pull/14850)) + - Regression: thread loading parent msg if is not loaded ([#14839](https://github.com/RocketChat/Rocket.Chat/pull/14839))
@@ -1868,13 +2662,17 @@ ### ๐Ÿ› Bug fixes + - User status information on User Info panel ([#14763](https://github.com/RocketChat/Rocket.Chat/pull/14763)) + - User Real Name being erased when not modified ([#14711](https://github.com/RocketChat/Rocket.Chat/pull/14711) by [@Hudell](https://github.com/Hudell)) + - Anonymous chat read ([#14717](https://github.com/RocketChat/Rocket.Chat/pull/14717))
๐Ÿ” Minor changes + - Release 1.1.2 ([#14823](https://github.com/RocketChat/Rocket.Chat/pull/14823) by [@Hudell](https://github.com/Hudell))
@@ -1899,12 +2697,15 @@ ### ๐Ÿ› Bug fixes + - SAML login error. ([#14686](https://github.com/RocketChat/Rocket.Chat/pull/14686) by [@Hudell](https://github.com/Hudell)) + - Load messages after disconnect and message box scroll missing ([#14668](https://github.com/RocketChat/Rocket.Chat/pull/14668))
๐Ÿ” Minor changes + - Removing unnecesary federation configs ([#14674](https://github.com/RocketChat/Rocket.Chat/pull/14674))
@@ -1928,117 +2729,219 @@ ### ๐ŸŽ‰ New features + - Setting option to mark as containing a secret/password ([#10273](https://github.com/RocketChat/Rocket.Chat/pull/10273)) + - Custom user name field from Custom OAuth ([#14381](https://github.com/RocketChat/Rocket.Chat/pull/14381) by [@mjovanovic0](https://github.com/mjovanovic0)) + - Add pause and reset button when adding custom sound ([#13615](https://github.com/RocketChat/Rocket.Chat/pull/13615) by [@knrt10](https://github.com/knrt10)) + - Missing "view-outside-room_description" translation key ([#13680](https://github.com/RocketChat/Rocket.Chat/pull/13680) by [@bhardwajaditya](https://github.com/bhardwajaditya)) + - Returns custom emojis through the Livechat REST API ([#14370](https://github.com/RocketChat/Rocket.Chat/pull/14370)) ### ๐Ÿš€ Improvements + - Message rendering time ([#14252](https://github.com/RocketChat/Rocket.Chat/pull/14252)) + - Change user presence events to Meteor Streams ([#14488](https://github.com/RocketChat/Rocket.Chat/pull/14488)) + - Upgrade EmojiOne to JoyPixels 4.5.0 ([#13807](https://github.com/RocketChat/Rocket.Chat/pull/13807) by [@wreiske](https://github.com/wreiske)) + - Don't show unread count badge in burger menu if it is from the opened room ([#12971](https://github.com/RocketChat/Rocket.Chat/pull/12971)) + - Livechat CRM secret token optional ([#14022](https://github.com/RocketChat/Rocket.Chat/pull/14022)) + - jump to selected message on open thread ([#14460](https://github.com/RocketChat/Rocket.Chat/pull/14460)) + - Don't use regex to find users ([#14397](https://github.com/RocketChat/Rocket.Chat/pull/14397)) + - Added flag `skipActiveUsersToBeReady` to not wait the load of `active users` to present the Web interface ([#14431](https://github.com/RocketChat/Rocket.Chat/pull/14431)) + - SAML login process refactoring ([#12891](https://github.com/RocketChat/Rocket.Chat/pull/12891) by [@kukkjanos](https://github.com/kukkjanos)) + - Allow change Discussion's properties ([#14389](https://github.com/RocketChat/Rocket.Chat/pull/14389)) ### ๐Ÿ› Bug fixes + - Downloading files when running in sub directory ([#14485](https://github.com/RocketChat/Rocket.Chat/pull/14485) by [@miolane](https://github.com/miolane)) + - Broken layout when sidebar is open on IE/Edge ([#14567](https://github.com/RocketChat/Rocket.Chat/pull/14567)) + - Channel names on Directory got cut on small screens ([#14542](https://github.com/RocketChat/Rocket.Chat/pull/14542)) + - Duplicated link to jump to message ([#14505](https://github.com/RocketChat/Rocket.Chat/pull/14505)) + - Edit Message when down arrow is pressed. ([#14369](https://github.com/RocketChat/Rocket.Chat/pull/14369) by [@Kailash0311](https://github.com/Kailash0311)) + - Unread property of the room's lastMessage object was being wrong some times ([#13919](https://github.com/RocketChat/Rocket.Chat/pull/13919)) + - Multiple Slack Importer Bugs ([#12084](https://github.com/RocketChat/Rocket.Chat/pull/12084) by [@Hudell](https://github.com/Hudell)) + - No feedback when adding users that already exists in a room ([#14534](https://github.com/RocketChat/Rocket.Chat/pull/14534) by [@gsunit](https://github.com/gsunit)) + - Custom scripts descriptions were not clear enough ([#14516](https://github.com/RocketChat/Rocket.Chat/pull/14516)) + - Role `user` has being added after email verification even for non anonymous users ([#14263](https://github.com/RocketChat/Rocket.Chat/pull/14263)) + - Several problems with read-only rooms and muted users ([#11311](https://github.com/RocketChat/Rocket.Chat/pull/11311) by [@Hudell](https://github.com/Hudell)) + - Channel settings form to textarea for Topic and Description ([#13328](https://github.com/RocketChat/Rocket.Chat/pull/13328) by [@supra08](https://github.com/supra08)) + - Elements in User Info require some padding ([#13640](https://github.com/RocketChat/Rocket.Chat/pull/13640) by [@mushroomgenie](https://github.com/mushroomgenie)) + - Showing the id instead of the name of custom notification sound ([#13660](https://github.com/RocketChat/Rocket.Chat/pull/13660) by [@knrt10](https://github.com/knrt10)) + - Remove Livechat guest data was removing more rooms than expected ([#14509](https://github.com/RocketChat/Rocket.Chat/pull/14509)) + - Save custom emoji with special characters causes some errors ([#14456](https://github.com/RocketChat/Rocket.Chat/pull/14456)) + - Verify if the user is requesting your own information in users.info ([#14242](https://github.com/RocketChat/Rocket.Chat/pull/14242)) + - RocketChat client sending out video call requests unnecessarily ([#14496](https://github.com/RocketChat/Rocket.Chat/pull/14496)) + - `Alphabetical` translation in DE ([#14490](https://github.com/RocketChat/Rocket.Chat/pull/14490) by [@AnBo83](https://github.com/AnBo83)) + - Fix redirect to First channel after login ([#14434](https://github.com/RocketChat/Rocket.Chat/pull/14434)) + - Ignored messages ([#14465](https://github.com/RocketChat/Rocket.Chat/pull/14465)) + - Allow data URLs in isURL/getURL helpers ([#14464](https://github.com/RocketChat/Rocket.Chat/pull/14464)) + - You must join to view messages in this channel ([#14461](https://github.com/RocketChat/Rocket.Chat/pull/14461)) + - Channel Leader Bar is in the way of Thread Header ([#14443](https://github.com/RocketChat/Rocket.Chat/pull/14443)) + - Discussion name being invalid ([#14442](https://github.com/RocketChat/Rocket.Chat/pull/14442)) + - Room name was undefined in some info dialogs ([#14415](https://github.com/RocketChat/Rocket.Chat/pull/14415)) + - Exception on crowd sync due to a wrong logging method ([#14405](https://github.com/RocketChat/Rocket.Chat/pull/14405)) + - IE11 support ([#14422](https://github.com/RocketChat/Rocket.Chat/pull/14422)) + - Escape unrecognized slash command message ([#14432](https://github.com/RocketChat/Rocket.Chat/pull/14432)) + - Mentions message missing 'jump to message' action ([#14430](https://github.com/RocketChat/Rocket.Chat/pull/14430)) + - preview pdf its not working ([#14419](https://github.com/RocketChat/Rocket.Chat/pull/14419)) + - Messages on thread panel were receiving wrong context/subscription ([#14404](https://github.com/RocketChat/Rocket.Chat/pull/14404)) + - Error 400 on send a reply to an old thread ([#14402](https://github.com/RocketChat/Rocket.Chat/pull/14402)) + - Users actions in administration were returning error ([#14400](https://github.com/RocketChat/Rocket.Chat/pull/14400)) + - Fallback to mongo version that doesn't require clusterMonitor role ([#14403](https://github.com/RocketChat/Rocket.Chat/pull/14403)) + - SAML credentialToken removal was preventing mobile from being able to authenticate ([#14345](https://github.com/RocketChat/Rocket.Chat/pull/14345)) + - Stream not connecting connect when using subdir and multi-instance ([#14376](https://github.com/RocketChat/Rocket.Chat/pull/14376)) + - Pressing Enter in User Search field at channel causes reload ([#14388](https://github.com/RocketChat/Rocket.Chat/pull/14388)) + - Wrong token name was generating error on Gitlab OAuth login ([#14379](https://github.com/RocketChat/Rocket.Chat/pull/14379)) + - more message actions to threads context(follow, unfollow, copy, delete) ([#14387](https://github.com/RocketChat/Rocket.Chat/pull/14387)) + - Unnecessary meteor.defer on openRoom ([#14396](https://github.com/RocketChat/Rocket.Chat/pull/14396)) + - Messages on threads disappearing ([#14393](https://github.com/RocketChat/Rocket.Chat/pull/14393)) + - Bell was too small on threads ([#14394](https://github.com/RocketChat/Rocket.Chat/pull/14394)) + - Main thread title on replies ([#14372](https://github.com/RocketChat/Rocket.Chat/pull/14372)) + - New day separator overlapping above system message ([#14362](https://github.com/RocketChat/Rocket.Chat/pull/14362)) + - E2E messages not decrypting in message threads ([#14580](https://github.com/RocketChat/Rocket.Chat/pull/14580)) + - Send replyTo for livechat offline messages ([#14568](https://github.com/RocketChat/Rocket.Chat/pull/14568)) + - Mailer breaking if user doesn't have an email address ([#14614](https://github.com/RocketChat/Rocket.Chat/pull/14614)) + - Role name spacing on Permissions page ([#14625](https://github.com/RocketChat/Rocket.Chat/pull/14625)) + - Avatar images on old Livechat client ([#14590](https://github.com/RocketChat/Rocket.Chat/pull/14590) by [@arminfelder](https://github.com/arminfelder)) + - Inject code at the end of tag ([#14623](https://github.com/RocketChat/Rocket.Chat/pull/14623)) + - "Blank page" on safari 10.x ([#14651](https://github.com/RocketChat/Rocket.Chat/pull/14651))
๐Ÿ” Minor changes + - Removed unnecessary DDP unblocks ([#13641](https://github.com/RocketChat/Rocket.Chat/pull/13641)) + - Fix emoji replacing some chars ([#14570](https://github.com/RocketChat/Rocket.Chat/pull/14570)) + - LingoHub based on develop ([#14561](https://github.com/RocketChat/Rocket.Chat/pull/14561)) + - Refactor WebRTC class ([#13736](https://github.com/RocketChat/Rocket.Chat/pull/13736)) + - Update Meteor Streamer package ([#14551](https://github.com/RocketChat/Rocket.Chat/pull/14551)) + - Regression: unit tests were being skipped ([#14543](https://github.com/RocketChat/Rocket.Chat/pull/14543)) + - MsgTyping refactor ([#14495](https://github.com/RocketChat/Rocket.Chat/pull/14495)) + - Google Plus account is no longer accessible ([#14503](https://github.com/RocketChat/Rocket.Chat/pull/14503) by [@zdumitru](https://github.com/zdumitru)) + - [IMPROVEMENT] Add tooltip to to notify user the purpose of back button in discussion ([#13872](https://github.com/RocketChat/Rocket.Chat/pull/13872) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - eslint errors currently on develop ([#14518](https://github.com/RocketChat/Rocket.Chat/pull/14518) by [@Hudell](https://github.com/Hudell)) + - Allow removing description, topic and annoucement of rooms(set as empty string) ([#13682](https://github.com/RocketChat/Rocket.Chat/pull/13682)) + - [IMPROVEMENT] Don't group messages with different alias ([#14257](https://github.com/RocketChat/Rocket.Chat/pull/14257) by [@jungeonkim](https://github.com/jungeonkim)) + - LingoHub based on develop ([#14478](https://github.com/RocketChat/Rocket.Chat/pull/14478)) + - Remove specific eslint rules ([#14459](https://github.com/RocketChat/Rocket.Chat/pull/14459)) + - New eslint rules ([#14332](https://github.com/RocketChat/Rocket.Chat/pull/14332)) + - Fix i18n files keys sort ([#14433](https://github.com/RocketChat/Rocket.Chat/pull/14433)) + - Fixes on DAU and MAU aggregations ([#14418](https://github.com/RocketChat/Rocket.Chat/pull/14418)) + - Add missing german translations ([#14386](https://github.com/RocketChat/Rocket.Chat/pull/14386) by [@mrsimpson](https://github.com/mrsimpson)) + - LingoHub based on develop ([#14426](https://github.com/RocketChat/Rocket.Chat/pull/14426)) + - fix discussions: remove restriction for editing room info, server side ([#14039](https://github.com/RocketChat/Rocket.Chat/pull/14039) by [@mrsimpson](https://github.com/mrsimpson)) + - Fix: Message body was not being updated when user disabled nrr message ([#14390](https://github.com/RocketChat/Rocket.Chat/pull/14390)) + - Improve German translations ([#14351](https://github.com/RocketChat/Rocket.Chat/pull/14351) by [@mrsimpson](https://github.com/mrsimpson)) + - Merge master into develop & Set version to 1.1.0-develop ([#14317](https://github.com/RocketChat/Rocket.Chat/pull/14317) by [@wreiske](https://github.com/wreiske)) + - Merge master into develop & Set version to 1.1.0-develop ([#14294](https://github.com/RocketChat/Rocket.Chat/pull/14294)) + - Fix: Add emoji shortnames to emoji's list ([#14576](https://github.com/RocketChat/Rocket.Chat/pull/14576)) + - Ci improvements ([#14600](https://github.com/RocketChat/Rocket.Chat/pull/14600)) + - Fix: emoji render performance for alias ([#14593](https://github.com/RocketChat/Rocket.Chat/pull/14593)) + - Federation i18n message changes ([#14595](https://github.com/RocketChat/Rocket.Chat/pull/14595)) + - [REGRESSION] Fix Slack bridge channel owner on channel creation ([#14565](https://github.com/RocketChat/Rocket.Chat/pull/14565)) + - Fix thumbs up emoji shortname ([#14581](https://github.com/RocketChat/Rocket.Chat/pull/14581)) + - [Fix] broken logo url in app.json ([#14572](https://github.com/RocketChat/Rocket.Chat/pull/14572) by [@jaredmoody](https://github.com/jaredmoody)) + - Add digitalocean button to readme ([#14583](https://github.com/RocketChat/Rocket.Chat/pull/14583)) + - Improvement: Permissions table ([#14646](https://github.com/RocketChat/Rocket.Chat/pull/14646)) + - Regression: Handle missing emojis ([#14641](https://github.com/RocketChat/Rocket.Chat/pull/14641)) + - LingoHub based on develop ([#14643](https://github.com/RocketChat/Rocket.Chat/pull/14643))
@@ -2087,6 +2990,7 @@
๐Ÿ” Minor changes + - Fix custom auth ([#15141](https://github.com/RocketChat/Rocket.Chat/pull/15141))
@@ -2105,6 +3009,7 @@ ### ๐Ÿ› Bug fixes + - Not sanitized message types ([#15054](https://github.com/RocketChat/Rocket.Chat/pull/15054)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -2122,6 +3027,7 @@
๐Ÿ” Minor changes + - Release 1.0.3 ([#14446](https://github.com/RocketChat/Rocket.Chat/pull/14446) by [@mrsimpson](https://github.com/mrsimpson))
@@ -2150,28 +3056,44 @@ ### ๐Ÿš€ Improvements + - i18n of threads and discussion buttons ([#14334](https://github.com/RocketChat/Rocket.Chat/pull/14334)) + - Better error message when not able to get MongoDB Version ([#14320](https://github.com/RocketChat/Rocket.Chat/pull/14320)) ### ๐Ÿ› Bug fixes + - Unread line and new day separator were not aligned ([#14338](https://github.com/RocketChat/Rocket.Chat/pull/14338)) + - Audio notification for messages on DM ([#14336](https://github.com/RocketChat/Rocket.Chat/pull/14336)) + - Duplicate thread message after editing ([#14330](https://github.com/RocketChat/Rocket.Chat/pull/14330)) + - New day separator rendered over thread reply ([#14328](https://github.com/RocketChat/Rocket.Chat/pull/14328)) + - Missing i18n for some new Permissions ([#14011](https://github.com/RocketChat/Rocket.Chat/pull/14011)) + - View Logs admin page was broken and not rendering color logs ([#14316](https://github.com/RocketChat/Rocket.Chat/pull/14316)) + - show roles on message ([#14313](https://github.com/RocketChat/Rocket.Chat/pull/14313)) + - Remove reference to inexistent field when deleting message in thread ([#14311](https://github.com/RocketChat/Rocket.Chat/pull/14311))
๐Ÿ” Minor changes + - Release 1.0.2 ([#14339](https://github.com/RocketChat/Rocket.Chat/pull/14339) by [@AnBo83](https://github.com/AnBo83) & [@knrt10](https://github.com/knrt10) & [@mohamedar97](https://github.com/mohamedar97) & [@thaiphv](https://github.com/thaiphv)) + - Add cross-browser select arrow positioning ([#14318](https://github.com/RocketChat/Rocket.Chat/pull/14318)) + - i18n: Update German strings ([#14182](https://github.com/RocketChat/Rocket.Chat/pull/14182) by [@AnBo83](https://github.com/AnBo83)) + - [Regression] Anonymous user fix ([#14301](https://github.com/RocketChat/Rocket.Chat/pull/14301) by [@knrt10](https://github.com/knrt10)) + - Coerces the MongoDB version string ([#14299](https://github.com/RocketChat/Rocket.Chat/pull/14299) by [@thaiphv](https://github.com/thaiphv)) + - [Fix] group name appears instead of the room id ([#14075](https://github.com/RocketChat/Rocket.Chat/pull/14075) by [@mohamedar97](https://github.com/mohamedar97))
@@ -2202,12 +3124,19 @@ ### ๐Ÿ› Bug fixes + - Popup cloud console in new window ([#14296](https://github.com/RocketChat/Rocket.Chat/pull/14296)) + - Switch oplog required doc link to more accurate link ([#14288](https://github.com/RocketChat/Rocket.Chat/pull/14288)) + - Optional exit on Unhandled Promise Rejection ([#14291](https://github.com/RocketChat/Rocket.Chat/pull/14291)) + - Error when accessing avatar with no token ([#14293](https://github.com/RocketChat/Rocket.Chat/pull/14293)) + - Startup error in registration check ([#14286](https://github.com/RocketChat/Rocket.Chat/pull/14286)) + - Wrong header at Apps admin section ([#14290](https://github.com/RocketChat/Rocket.Chat/pull/14290)) + - Error when accessing an invalid file upload url ([#14282](https://github.com/RocketChat/Rocket.Chat/pull/14282) by [@wreiske](https://github.com/wreiske)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜ @@ -2230,354 +3159,690 @@ ### โš ๏ธ BREAKING CHANGES + - Remove deprecated file upload engine Slingshot ([#13724](https://github.com/RocketChat/Rocket.Chat/pull/13724)) + - Remove internal hubot package ([#13522](https://github.com/RocketChat/Rocket.Chat/pull/13522)) + - Prevent start if incompatible mongo version ([#13927](https://github.com/RocketChat/Rocket.Chat/pull/13927)) + - Require OPLOG/REPLICASET to run Rocket.Chat ([#14227](https://github.com/RocketChat/Rocket.Chat/pull/14227)) ### ๐ŸŽ‰ New features + - Marketplace integration with Rocket.Chat Cloud ([#13809](https://github.com/RocketChat/Rocket.Chat/pull/13809)) + - Add message action to copy message to input as reply ([#12626](https://github.com/RocketChat/Rocket.Chat/pull/12626) by [@mrsimpson](https://github.com/mrsimpson)) + - Allow sending long messages as attachments ([#13819](https://github.com/RocketChat/Rocket.Chat/pull/13819)) + - Add e-mail field on Livechat Departments ([#13775](https://github.com/RocketChat/Rocket.Chat/pull/13775)) + - Provide new Livechat client as community feature ([#13723](https://github.com/RocketChat/Rocket.Chat/pull/13723)) + - Discussions ([#13541](https://github.com/RocketChat/Rocket.Chat/pull/13541) by [@mrsimpson](https://github.com/mrsimpson) & [@vickyokrm](https://github.com/vickyokrm)) + - Bosnian lang (BS) ([#13635](https://github.com/RocketChat/Rocket.Chat/pull/13635) by [@fliptrail](https://github.com/fliptrail)) + - Federation ([#12370](https://github.com/RocketChat/Rocket.Chat/pull/12370)) + - Show department field on Livechat visitor panel ([#13530](https://github.com/RocketChat/Rocket.Chat/pull/13530)) + - Add offset parameter to channels.history, groups.history, dm.history ([#13310](https://github.com/RocketChat/Rocket.Chat/pull/13310) by [@xbolshe](https://github.com/xbolshe)) + - Permission to assign roles ([#13597](https://github.com/RocketChat/Rocket.Chat/pull/13597)) + - reply with a file ([#12095](https://github.com/RocketChat/Rocket.Chat/pull/12095) by [@rssilva](https://github.com/rssilva)) + - legal notice page ([#12472](https://github.com/RocketChat/Rocket.Chat/pull/12472) by [@localguru](https://github.com/localguru)) + - Add missing remove add leader channel ([#13315](https://github.com/RocketChat/Rocket.Chat/pull/13315) by [@Montel](https://github.com/Montel)) + - users.setActiveStatus endpoint in rest api ([#13443](https://github.com/RocketChat/Rocket.Chat/pull/13443) by [@thayannevls](https://github.com/thayannevls)) + - User avatars from external source ([#7929](https://github.com/RocketChat/Rocket.Chat/pull/7929) by [@mjovanovic0](https://github.com/mjovanovic0)) + - Add an option to delete file in files list ([#13815](https://github.com/RocketChat/Rocket.Chat/pull/13815)) + - Threads V 1.0 ([#13996](https://github.com/RocketChat/Rocket.Chat/pull/13996)) + - Add support to updatedSince parameter in emoji-custom.list and deprecated old endpoint ([#13510](https://github.com/RocketChat/Rocket.Chat/pull/13510)) + - Chatpal: Enable custom search parameters ([#13829](https://github.com/RocketChat/Rocket.Chat/pull/13829) by [@Peym4n](https://github.com/Peym4n)) + - - Add setting to request a comment when closing Livechat room ([#13983](https://github.com/RocketChat/Rocket.Chat/pull/13983) by [@knrt10](https://github.com/knrt10)) + - Rest threads ([#14045](https://github.com/RocketChat/Rocket.Chat/pull/14045)) + - Add GET method to fetch Livechat message through REST API ([#14147](https://github.com/RocketChat/Rocket.Chat/pull/14147)) + - Add Voxtelesys to list of SMS providers ([#13697](https://github.com/RocketChat/Rocket.Chat/pull/13697) by [@jhnburke8](https://github.com/jhnburke8) & [@john08burke](https://github.com/john08burke)) + - Rest endpoints of discussions ([#13987](https://github.com/RocketChat/Rocket.Chat/pull/13987)) + - Multiple slackbridges ([#11346](https://github.com/RocketChat/Rocket.Chat/pull/11346) by [@Hudell](https://github.com/Hudell) & [@kable-wilmoth](https://github.com/kable-wilmoth)) + - option to not use nrr (experimental) ([#14224](https://github.com/RocketChat/Rocket.Chat/pull/14224)) + - Set up livechat connections created from new client ([#14236](https://github.com/RocketChat/Rocket.Chat/pull/14236)) + - allow drop files on thread ([#14214](https://github.com/RocketChat/Rocket.Chat/pull/14214)) + - Update message actions ([#14268](https://github.com/RocketChat/Rocket.Chat/pull/14268)) ### ๐Ÿš€ Improvements + - UI of page not found ([#13757](https://github.com/RocketChat/Rocket.Chat/pull/13757) by [@fliptrail](https://github.com/fliptrail)) + - Show rooms with mentions on unread category even with hide counter ([#13948](https://github.com/RocketChat/Rocket.Chat/pull/13948)) + - Join channels by sending a message or join button (#13752) ([#13752](https://github.com/RocketChat/Rocket.Chat/pull/13752) by [@bhardwajaditya](https://github.com/bhardwajaditya)) + - Filter agents with autocomplete input instead of select element ([#13730](https://github.com/RocketChat/Rocket.Chat/pull/13730)) + - Ignore agent status when queuing incoming livechats via Guest Pool ([#13818](https://github.com/RocketChat/Rocket.Chat/pull/13818)) + - Replaces color #13679A to #1d74f5 ([#13796](https://github.com/RocketChat/Rocket.Chat/pull/13796) by [@fliptrail](https://github.com/fliptrail)) + - Remove unnecessary "File Upload". ([#13743](https://github.com/RocketChat/Rocket.Chat/pull/13743) by [@knrt10](https://github.com/knrt10)) + - Add index for room's ts ([#13726](https://github.com/RocketChat/Rocket.Chat/pull/13726)) + - Add decoding for commonName (cn) and displayName attributes for SAML ([#12347](https://github.com/RocketChat/Rocket.Chat/pull/12347) by [@pkolmann](https://github.com/pkolmann)) + - Deprecate fixCordova helper ([#13598](https://github.com/RocketChat/Rocket.Chat/pull/13598)) + - Remove dangling side-nav styles ([#13584](https://github.com/RocketChat/Rocket.Chat/pull/13584)) + - Disable X-Powered-By header in all known express middlewares ([#13388](https://github.com/RocketChat/Rocket.Chat/pull/13388)) + - Allow custom rocketchat username for crowd users and enable login via email/crowd_username ([#12981](https://github.com/RocketChat/Rocket.Chat/pull/12981) by [@steerben](https://github.com/steerben)) + - Add department field on find guest method ([#13491](https://github.com/RocketChat/Rocket.Chat/pull/13491)) + - KaTeX and Autolinker message rendering ([#11698](https://github.com/RocketChat/Rocket.Chat/pull/11698)) + - Update to MongoDB 4.0 in docker-compose file ([#13396](https://github.com/RocketChat/Rocket.Chat/pull/13396) by [@ngulden](https://github.com/ngulden)) + - Admin ui ([#13393](https://github.com/RocketChat/Rocket.Chat/pull/13393)) + - End to end tests ([#13401](https://github.com/RocketChat/Rocket.Chat/pull/13401)) + - Update deleteUser errors to be more semantic ([#12380](https://github.com/RocketChat/Rocket.Chat/pull/12380) by [@timkinnane](https://github.com/timkinnane)) + - Line height on static content pages ([#11673](https://github.com/RocketChat/Rocket.Chat/pull/11673) by [@timkinnane](https://github.com/timkinnane)) + - new icons ([#13289](https://github.com/RocketChat/Rocket.Chat/pull/13289)) + - Add permission to change other user profile avatar ([#13884](https://github.com/RocketChat/Rocket.Chat/pull/13884) by [@knrt10](https://github.com/knrt10)) + - UI of Permissions page ([#13732](https://github.com/RocketChat/Rocket.Chat/pull/13732) by [@fliptrail](https://github.com/fliptrail)) + - Use SessionId for credential token in SAML request ([#13791](https://github.com/RocketChat/Rocket.Chat/pull/13791) by [@MohammedEssehemy](https://github.com/MohammedEssehemy)) + - Include more information to help with bug reports and debugging ([#14047](https://github.com/RocketChat/Rocket.Chat/pull/14047)) + - New sidebar item badges, mention links, and ticks ([#14030](https://github.com/RocketChat/Rocket.Chat/pull/14030)) + - Remove setting to show a livechat is waiting ([#13992](https://github.com/RocketChat/Rocket.Chat/pull/13992)) + - Attachment download caching ([#14137](https://github.com/RocketChat/Rocket.Chat/pull/14137) by [@wreiske](https://github.com/wreiske)) + - Get avatar from oauth ([#14131](https://github.com/RocketChat/Rocket.Chat/pull/14131)) + - OAuth Role Sync ([#13761](https://github.com/RocketChat/Rocket.Chat/pull/13761) by [@hypery2k](https://github.com/hypery2k)) + - Update the Apps Engine version to v1.4.1 ([#14072](https://github.com/RocketChat/Rocket.Chat/pull/14072)) + - Replace livechat inquiry dialog with preview room ([#13986](https://github.com/RocketChat/Rocket.Chat/pull/13986)) ### ๐Ÿ› Bug fixes + - Opening a Livechat room from another agent ([#13951](https://github.com/RocketChat/Rocket.Chat/pull/13951)) + - Directory and Apps logs page ([#13938](https://github.com/RocketChat/Rocket.Chat/pull/13938)) + - Minor issues detected after testing the new Livechat client ([#13521](https://github.com/RocketChat/Rocket.Chat/pull/13521)) + - Display first message when taking Livechat inquiry ([#13896](https://github.com/RocketChat/Rocket.Chat/pull/13896)) + - Loading theme CSS on first server startup ([#13953](https://github.com/RocketChat/Rocket.Chat/pull/13953)) + - OTR dialog issue ([#13755](https://github.com/RocketChat/Rocket.Chat/pull/13755) by [@knrt10](https://github.com/knrt10)) + - Limit Appโ€™s HTTP calls to 500ms ([#13949](https://github.com/RocketChat/Rocket.Chat/pull/13949)) + - Read Receipt for Livechat Messages fixed ([#13832](https://github.com/RocketChat/Rocket.Chat/pull/13832) by [@knrt10](https://github.com/knrt10)) + - Avatar image being shrinked on autocomplete ([#13914](https://github.com/RocketChat/Rocket.Chat/pull/13914)) + - VIDEO/JITSI multiple calls before video call ([#13855](https://github.com/RocketChat/Rocket.Chat/pull/13855)) + - Some Safari bugs ([#13895](https://github.com/RocketChat/Rocket.Chat/pull/13895)) + - wrong width/height for tile_70 (mstile 70x70 (png)) ([#13851](https://github.com/RocketChat/Rocket.Chat/pull/13851) by [@ulf-f](https://github.com/ulf-f)) + - wrong importing of e2e ([#13863](https://github.com/RocketChat/Rocket.Chat/pull/13863)) + - Forwarded Livechat visitor name is not getting updated on the sidebar ([#13783](https://github.com/RocketChat/Rocket.Chat/pull/13783) by [@zolbayars](https://github.com/zolbayars)) + - Remove spaces in some i18n files ([#13801](https://github.com/RocketChat/Rocket.Chat/pull/13801)) + - Translation interpolations for many languages ([#13751](https://github.com/RocketChat/Rocket.Chat/pull/13751) by [@fliptrail](https://github.com/fliptrail)) + - Fixed grammatical error. ([#13559](https://github.com/RocketChat/Rocket.Chat/pull/13559) by [@gsunit](https://github.com/gsunit)) + - In home screen Rocket.Chat+ is dispalyed as Rocket.Chat ([#13784](https://github.com/RocketChat/Rocket.Chat/pull/13784) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - No new room created when conversation is closed ([#13753](https://github.com/RocketChat/Rocket.Chat/pull/13753) by [@knrt10](https://github.com/knrt10)) + - Loading user list from room messages ([#13769](https://github.com/RocketChat/Rocket.Chat/pull/13769)) + - User is unable to enter multiple emojis by clicking on the emoji icon ([#13744](https://github.com/RocketChat/Rocket.Chat/pull/13744) by [@Kailash0311](https://github.com/Kailash0311)) + - Audio message recording ([#13727](https://github.com/RocketChat/Rocket.Chat/pull/13727)) + - Remove Room info for Direct Messages (#9383) ([#12429](https://github.com/RocketChat/Rocket.Chat/pull/12429) by [@vinade](https://github.com/vinade)) + - WebRTC wasn't working duo to design and browser's APIs changes ([#13675](https://github.com/RocketChat/Rocket.Chat/pull/13675)) + - Adds Proper Language display name for many languages ([#13714](https://github.com/RocketChat/Rocket.Chat/pull/13714) by [@fliptrail](https://github.com/fliptrail)) + - Update bad-words to 3.0.2 ([#13705](https://github.com/RocketChat/Rocket.Chat/pull/13705) by [@trivoallan](https://github.com/trivoallan)) + - Changing Room name updates the webhook ([#13672](https://github.com/RocketChat/Rocket.Chat/pull/13672) by [@knrt10](https://github.com/knrt10)) + - Fix snap refresh hook ([#13702](https://github.com/RocketChat/Rocket.Chat/pull/13702)) + - Audio message recording issues ([#13486](https://github.com/RocketChat/Rocket.Chat/pull/13486)) + - Legal pages' style ([#13677](https://github.com/RocketChat/Rocket.Chat/pull/13677)) + - Stop livestream ([#13676](https://github.com/RocketChat/Rocket.Chat/pull/13676)) + - Avatar fonts for PNG and JPG ([#13681](https://github.com/RocketChat/Rocket.Chat/pull/13681)) + - Block User Icon ([#13630](https://github.com/RocketChat/Rocket.Chat/pull/13630) by [@knrt10](https://github.com/knrt10)) + - Corrects UI background of forced F2A Authentication ([#13670](https://github.com/RocketChat/Rocket.Chat/pull/13670) by [@fliptrail](https://github.com/fliptrail)) + - Race condition on the loading of Apps on the admin page ([#13587](https://github.com/RocketChat/Rocket.Chat/pull/13587)) + - Do not allow change avatars of another users without permission ([#13629](https://github.com/RocketChat/Rocket.Chat/pull/13629)) + - link of k8s deploy ([#13612](https://github.com/RocketChat/Rocket.Chat/pull/13612) by [@Mr-Linus](https://github.com/Mr-Linus)) + - Bugfix markdown Marked link new tab ([#13245](https://github.com/RocketChat/Rocket.Chat/pull/13245) by [@DeviaVir](https://github.com/DeviaVir)) + - Partially messaging formatting for bold letters ([#13599](https://github.com/RocketChat/Rocket.Chat/pull/13599) by [@knrt10](https://github.com/knrt10)) + - Change userId of rate limiter, change to logged user ([#13442](https://github.com/RocketChat/Rocket.Chat/pull/13442)) + - Add retries to docker-compose.yml, to wait for MongoDB to be ready ([#13199](https://github.com/RocketChat/Rocket.Chat/pull/13199) by [@tiangolo](https://github.com/tiangolo)) + - Non-latin room names and other slugifications ([#13467](https://github.com/RocketChat/Rocket.Chat/pull/13467)) + - Fixed rocketchat-oembed meta fragment pulling ([#13056](https://github.com/RocketChat/Rocket.Chat/pull/13056) by [@wreiske](https://github.com/wreiske)) + - Attachments without dates were showing December 31, 1970 ([#13428](https://github.com/RocketChat/Rocket.Chat/pull/13428) by [@wreiske](https://github.com/wreiske)) + - Restart required to apply changes in API Rate Limiter settings ([#13451](https://github.com/RocketChat/Rocket.Chat/pull/13451)) + - Ability to activate an app installed by zip even offline ([#13563](https://github.com/RocketChat/Rocket.Chat/pull/13563)) + - .bin extension added to attached file names ([#13468](https://github.com/RocketChat/Rocket.Chat/pull/13468) by [@Hudell](https://github.com/Hudell)) + - Right arrows in default HTML content ([#13502](https://github.com/RocketChat/Rocket.Chat/pull/13502)) + - Typo in a referrer header in inject.js file ([#13469](https://github.com/RocketChat/Rocket.Chat/pull/13469) by [@algomaster99](https://github.com/algomaster99)) + - Fix issue cannot filter channels by name ([#12952](https://github.com/RocketChat/Rocket.Chat/pull/12952) by [@huydang284](https://github.com/huydang284)) + - mention-links not being always resolved ([#11745](https://github.com/RocketChat/Rocket.Chat/pull/11745) by [@mrsimpson](https://github.com/mrsimpson)) + - allow user to logout before set username ([#13439](https://github.com/RocketChat/Rocket.Chat/pull/13439)) + - Error when recording data into the connection object ([#13553](https://github.com/RocketChat/Rocket.Chat/pull/13553)) + - Handle showing/hiding input in messageBox ([#13564](https://github.com/RocketChat/Rocket.Chat/pull/13564)) + - Fix wrong this scope in Notifications ([#13515](https://github.com/RocketChat/Rocket.Chat/pull/13515)) + - Get next Livechat agent endpoint ([#13485](https://github.com/RocketChat/Rocket.Chat/pull/13485)) + - Sidenav mouse hover was slow ([#13482](https://github.com/RocketChat/Rocket.Chat/pull/13482)) + - Emoji detection at line breaks ([#13447](https://github.com/RocketChat/Rocket.Chat/pull/13447) by [@savish28](https://github.com/savish28)) + - Small improvements on message box ([#13444](https://github.com/RocketChat/Rocket.Chat/pull/13444)) + - Fixing rooms find by type and name ([#11451](https://github.com/RocketChat/Rocket.Chat/pull/11451) by [@hmagarotto](https://github.com/hmagarotto)) + - linear-gradient background on safari ([#13363](https://github.com/RocketChat/Rocket.Chat/pull/13363)) + - Fixed text for "bulk-register-user" ([#11558](https://github.com/RocketChat/Rocket.Chat/pull/11558) by [@the4ndy](https://github.com/the4ndy)) + - Closing sidebar when room menu is clicked. ([#13842](https://github.com/RocketChat/Rocket.Chat/pull/13842) by [@Kailash0311](https://github.com/Kailash0311)) + - Check settings for name requirement before validating ([#14021](https://github.com/RocketChat/Rocket.Chat/pull/14021)) + - Links and upload paths when running in a subdir ([#13982](https://github.com/RocketChat/Rocket.Chat/pull/13982)) + - users.getPreferences when the user doesn't have any preferences ([#13532](https://github.com/RocketChat/Rocket.Chat/pull/13532) by [@thayannevls](https://github.com/thayannevls)) + - Real names were not displayed in the reactions (API/UI) ([#13495](https://github.com/RocketChat/Rocket.Chat/pull/13495)) + - Theme CSS loading in subdir env ([#14015](https://github.com/RocketChat/Rocket.Chat/pull/14015)) + - Fix rendering of links in the announcement modal ([#13250](https://github.com/RocketChat/Rocket.Chat/pull/13250) by [@supra08](https://github.com/supra08)) + - Add custom MIME types for *.ico extension ([#13969](https://github.com/RocketChat/Rocket.Chat/pull/13969)) + - Groups endpoints permission validations ([#13994](https://github.com/RocketChat/Rocket.Chat/pull/13994)) + - Focus on input when emoji picker box is open was not working ([#13981](https://github.com/RocketChat/Rocket.Chat/pull/13981)) + - Auto hide Livechat room from sidebar on close ([#13824](https://github.com/RocketChat/Rocket.Chat/pull/13824) by [@knrt10](https://github.com/knrt10)) + - Improve cloud section ([#13820](https://github.com/RocketChat/Rocket.Chat/pull/13820)) + - Wrong permalink when running in subdir ([#13746](https://github.com/RocketChat/Rocket.Chat/pull/13746) by [@ura14h](https://github.com/ura14h)) + - Change localStorage keys to work when server is running in a subdir ([#13968](https://github.com/RocketChat/Rocket.Chat/pull/13968)) + - SAML certificate settings don't follow a pattern ([#14179](https://github.com/RocketChat/Rocket.Chat/pull/14179) by [@Hudell](https://github.com/Hudell)) + - Custom Oauth store refresh and id tokens with expiresIn ([#14121](https://github.com/RocketChat/Rocket.Chat/pull/14121) by [@ralfbecker](https://github.com/ralfbecker)) + - Apps converters delete fields on message attachments ([#14028](https://github.com/RocketChat/Rocket.Chat/pull/14028)) + - Custom Oauth login not working with accessToken ([#14113](https://github.com/RocketChat/Rocket.Chat/pull/14113) by [@knrt10](https://github.com/knrt10)) + - renderField template to correct short property usage ([#14148](https://github.com/RocketChat/Rocket.Chat/pull/14148)) + - Updating a message from apps if keep history is on ([#14129](https://github.com/RocketChat/Rocket.Chat/pull/14129)) + - Missing connection headers on Livechat REST API ([#14130](https://github.com/RocketChat/Rocket.Chat/pull/14130)) + - Receiving agent for new livechats from REST API ([#14103](https://github.com/RocketChat/Rocket.Chat/pull/14103)) + - Livechat user registration in another department ([#10695](https://github.com/RocketChat/Rocket.Chat/pull/10695)) + - Support for handling SAML LogoutRequest SLO ([#14074](https://github.com/RocketChat/Rocket.Chat/pull/14074)) + - Livechat office hours ([#14031](https://github.com/RocketChat/Rocket.Chat/pull/14031)) + - Auto-translate toggle not updating rendered messages ([#14262](https://github.com/RocketChat/Rocket.Chat/pull/14262)) + - Align burger menu in header with content matching room header ([#14265](https://github.com/RocketChat/Rocket.Chat/pull/14265)) + - Normalize TAPi18n language string on Livechat widget ([#14012](https://github.com/RocketChat/Rocket.Chat/pull/14012)) + - Autogrow not working properly for many message boxes ([#14163](https://github.com/RocketChat/Rocket.Chat/pull/14163)) + - Image attachment re-renders on message update ([#14207](https://github.com/RocketChat/Rocket.Chat/pull/14207) by [@Kailash0311](https://github.com/Kailash0311)) + - Sidenav does not open on some admin pages ([#14010](https://github.com/RocketChat/Rocket.Chat/pull/14010)) + - Empty result when getting badge count notification ([#14244](https://github.com/RocketChat/Rocket.Chat/pull/14244)) + - Obey audio notification preferences ([#14188](https://github.com/RocketChat/Rocket.Chat/pull/14188)) + - Slackbridge private channels ([#14273](https://github.com/RocketChat/Rocket.Chat/pull/14273) by [@Hudell](https://github.com/Hudell) & [@nylen](https://github.com/nylen)) + - View All members button now not in direct room ([#14081](https://github.com/RocketChat/Rocket.Chat/pull/14081) by [@knrt10](https://github.com/knrt10))
๐Ÿ” Minor changes + - Update eslint config ([#13966](https://github.com/RocketChat/Rocket.Chat/pull/13966)) + - Remove some bad references to messageBox ([#13954](https://github.com/RocketChat/Rocket.Chat/pull/13954)) + - LingoHub based on develop ([#13964](https://github.com/RocketChat/Rocket.Chat/pull/13964)) + - Update preview Dockerfile to use Stretch dependencies ([#13947](https://github.com/RocketChat/Rocket.Chat/pull/13947)) + - Small improvements to federation callbacks/hooks ([#13946](https://github.com/RocketChat/Rocket.Chat/pull/13946)) + - Improve: Support search and adding federated users through regular endpoints ([#13936](https://github.com/RocketChat/Rocket.Chat/pull/13936)) + - Remove bitcoin link in Readme.md since the link is broken ([#13935](https://github.com/RocketChat/Rocket.Chat/pull/13935) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - Fix missing dependencies on stretch CI image ([#13910](https://github.com/RocketChat/Rocket.Chat/pull/13910)) + - Remove some index.js files routing for server/client files ([#13772](https://github.com/RocketChat/Rocket.Chat/pull/13772)) + - Use CircleCI Debian Stretch images ([#13906](https://github.com/RocketChat/Rocket.Chat/pull/13906)) + - LingoHub based on develop ([#13891](https://github.com/RocketChat/Rocket.Chat/pull/13891)) + - User remove role dialog fixed ([#13874](https://github.com/RocketChat/Rocket.Chat/pull/13874) by [@bhardwajaditya](https://github.com/bhardwajaditya)) + - Rename Threads to Discussion ([#13782](https://github.com/RocketChat/Rocket.Chat/pull/13782)) + - [BUG] Icon Fixed for Knowledge base on Livechat ([#13806](https://github.com/RocketChat/Rocket.Chat/pull/13806) by [@knrt10](https://github.com/knrt10)) + - Add support to search for all users in directory ([#13803](https://github.com/RocketChat/Rocket.Chat/pull/13803)) + - LingoHub based on develop ([#13839](https://github.com/RocketChat/Rocket.Chat/pull/13839)) + - Remove unused style ([#13834](https://github.com/RocketChat/Rocket.Chat/pull/13834)) + - Remove unused files ([#13833](https://github.com/RocketChat/Rocket.Chat/pull/13833)) + - Lingohub sync and additional fixes ([#13825](https://github.com/RocketChat/Rocket.Chat/pull/13825)) + - Fix: addRoomAccessValidator method created for Threads ([#13789](https://github.com/RocketChat/Rocket.Chat/pull/13789)) + - Adds French translation of Personal Access Token ([#13779](https://github.com/RocketChat/Rocket.Chat/pull/13779) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - Remove Sandstorm support ([#13773](https://github.com/RocketChat/Rocket.Chat/pull/13773)) + - Removing (almost) every dynamic imports ([#13767](https://github.com/RocketChat/Rocket.Chat/pull/13767)) + - Regression: Threads styles improvement ([#13741](https://github.com/RocketChat/Rocket.Chat/pull/13741)) + - Convert imports to relative paths ([#13740](https://github.com/RocketChat/Rocket.Chat/pull/13740)) + - Regression: removed backup files ([#13729](https://github.com/RocketChat/Rocket.Chat/pull/13729)) + - Remove unused files ([#13725](https://github.com/RocketChat/Rocket.Chat/pull/13725)) + - Add Houston config ([#13707](https://github.com/RocketChat/Rocket.Chat/pull/13707)) + - Change the way to resolve DNS for Federation ([#13695](https://github.com/RocketChat/Rocket.Chat/pull/13695)) + - Update husky config ([#13687](https://github.com/RocketChat/Rocket.Chat/pull/13687)) + - Regression: Prune Threads ([#13683](https://github.com/RocketChat/Rocket.Chat/pull/13683)) + - Regression: Fix icon for DMs ([#13679](https://github.com/RocketChat/Rocket.Chat/pull/13679)) + - Regression: Add missing translations used in Apps pages ([#13674](https://github.com/RocketChat/Rocket.Chat/pull/13674)) + - Regression: User Discussions join message ([#13656](https://github.com/RocketChat/Rocket.Chat/pull/13656) by [@bhardwajaditya](https://github.com/bhardwajaditya)) + - Regression: Sidebar create new channel hover text ([#13658](https://github.com/RocketChat/Rocket.Chat/pull/13658) by [@bhardwajaditya](https://github.com/bhardwajaditya)) + - Regression: Fix embedded layout ([#13574](https://github.com/RocketChat/Rocket.Chat/pull/13574)) + - Improve: Send cloud token to Federation Hub ([#13651](https://github.com/RocketChat/Rocket.Chat/pull/13651)) + - Regression: Discussions - Invite users and DM ([#13646](https://github.com/RocketChat/Rocket.Chat/pull/13646)) + - LingoHub based on develop ([#13623](https://github.com/RocketChat/Rocket.Chat/pull/13623)) + - Force some words to translate in other languages ([#13367](https://github.com/RocketChat/Rocket.Chat/pull/13367) by [@soltanabadiyan](https://github.com/soltanabadiyan)) + - Fix wrong imports ([#13601](https://github.com/RocketChat/Rocket.Chat/pull/13601)) + - Fix: Some german translations ([#13299](https://github.com/RocketChat/Rocket.Chat/pull/13299) by [@soenkef](https://github.com/soenkef)) + - Add better positioning for tooltips on edges ([#13472](https://github.com/RocketChat/Rocket.Chat/pull/13472)) + - Fix: Mongo.setConnectionOptions was not being set correctly ([#13586](https://github.com/RocketChat/Rocket.Chat/pull/13586)) + - Regression: Missing settings import at `packages/rocketchat-livechat/server/methods/saveAppearance.js` ([#13573](https://github.com/RocketChat/Rocket.Chat/pull/13573)) + - Depack: Use mainModule for root files ([#13508](https://github.com/RocketChat/Rocket.Chat/pull/13508)) + - Regression: fix app pages styles ([#13567](https://github.com/RocketChat/Rocket.Chat/pull/13567)) + - Move mongo config away from cors package ([#13531](https://github.com/RocketChat/Rocket.Chat/pull/13531)) + - Regression: Add debounce on admin users search to avoid blocking by DDP Rate Limiter ([#13529](https://github.com/RocketChat/Rocket.Chat/pull/13529)) + - Remove Package references ([#13523](https://github.com/RocketChat/Rocket.Chat/pull/13523)) + - Remove Npm.depends and Npm.require except those that are inside package.js ([#13518](https://github.com/RocketChat/Rocket.Chat/pull/13518)) + - Update Meteor 1.8.0.2 ([#13519](https://github.com/RocketChat/Rocket.Chat/pull/13519)) + - Convert rc-nrr and slashcommands open to main module structure ([#13520](https://github.com/RocketChat/Rocket.Chat/pull/13520)) + - Regression: Fix wrong imports in rc-models ([#13516](https://github.com/RocketChat/Rocket.Chat/pull/13516)) + - Regression: Fix autolinker that was not parsing urls correctly ([#13497](https://github.com/RocketChat/Rocket.Chat/pull/13497)) + - Regression: Not updating subscriptions and not showing desktop notifcations ([#13509](https://github.com/RocketChat/Rocket.Chat/pull/13509)) + - Fix some imports from wrong packages, remove exports and files unused in rc-ui ([#13422](https://github.com/RocketChat/Rocket.Chat/pull/13422)) + - Remove functions from globals ([#13421](https://github.com/RocketChat/Rocket.Chat/pull/13421)) + - Remove unused files and code in rc-lib - step 3 ([#13420](https://github.com/RocketChat/Rocket.Chat/pull/13420)) + - Remove unused files in rc-lib - step 2 ([#13419](https://github.com/RocketChat/Rocket.Chat/pull/13419)) + - Remove unused files and code in rc-lib - step 1 ([#13416](https://github.com/RocketChat/Rocket.Chat/pull/13416)) + - Convert rocketchat-lib to main module structure ([#13415](https://github.com/RocketChat/Rocket.Chat/pull/13415)) + - Regression: Message box geolocation was throwing error ([#13496](https://github.com/RocketChat/Rocket.Chat/pull/13496)) + - Import missed functions to remove dependency of RC namespace ([#13414](https://github.com/RocketChat/Rocket.Chat/pull/13414)) + - Convert rocketchat-apps to main module structure ([#13409](https://github.com/RocketChat/Rocket.Chat/pull/13409)) + - Remove dependency of RC namespace in root server folder - step 6 ([#13405](https://github.com/RocketChat/Rocket.Chat/pull/13405)) + - Remove dependency of RC namespace in root server folder - step 5 ([#13402](https://github.com/RocketChat/Rocket.Chat/pull/13402)) + - Remove dependency of RC namespace in root server folder - step 4 ([#13400](https://github.com/RocketChat/Rocket.Chat/pull/13400)) + - Remove dependency of RC namespace in root server folder - step 3 ([#13398](https://github.com/RocketChat/Rocket.Chat/pull/13398)) + - Remove dependency of RC namespace in root server folder - step 2 ([#13397](https://github.com/RocketChat/Rocket.Chat/pull/13397)) + - Remove dependency of RC namespace in root server folder - step 1 ([#13390](https://github.com/RocketChat/Rocket.Chat/pull/13390)) + - Remove dependency of RC namespace in root client folder, imports/message-read-receipt and imports/personal-access-tokens ([#13389](https://github.com/RocketChat/Rocket.Chat/pull/13389)) + - Remove dependency of RC namespace in rc-integrations and importer-hipchat-enterprise ([#13386](https://github.com/RocketChat/Rocket.Chat/pull/13386)) + - Move rc-livechat server models to rc-models ([#13384](https://github.com/RocketChat/Rocket.Chat/pull/13384)) + - Remove dependency of RC namespace in rc-livechat/server/publications ([#13383](https://github.com/RocketChat/Rocket.Chat/pull/13383)) + - Remove dependency of RC namespace in rc-livechat/server/methods ([#13382](https://github.com/RocketChat/Rocket.Chat/pull/13382)) + - Remove dependency of RC namespace in rc-livechat/imports, lib, server/api, server/hooks and server/lib ([#13379](https://github.com/RocketChat/Rocket.Chat/pull/13379)) + - Remove LIvechat global variable from RC namespace ([#13378](https://github.com/RocketChat/Rocket.Chat/pull/13378)) + - Remove dependency of RC namespace in rc-livechat/server/models ([#13377](https://github.com/RocketChat/Rocket.Chat/pull/13377)) + - Remove dependency of RC namespace in livechat/client ([#13370](https://github.com/RocketChat/Rocket.Chat/pull/13370)) + - Remove dependency of RC namespace in rc-wordpress, chatpal-search and irc ([#13492](https://github.com/RocketChat/Rocket.Chat/pull/13492)) + - Remove dependency of RC namespace in rc-videobridge and webdav ([#13366](https://github.com/RocketChat/Rocket.Chat/pull/13366)) + - Remove dependency of RC namespace in rc-ui-master, ui-message- user-data-download and version-check ([#13365](https://github.com/RocketChat/Rocket.Chat/pull/13365)) + - Remove dependency of RC namespace in rc-ui-clean-history, ui-admin and ui-login ([#13362](https://github.com/RocketChat/Rocket.Chat/pull/13362)) + - Remove dependency of RC namespace in rc-ui, ui-account and ui-admin ([#13361](https://github.com/RocketChat/Rocket.Chat/pull/13361)) + - Remove dependency of RC namespace in rc-statistics and tokenpass ([#13359](https://github.com/RocketChat/Rocket.Chat/pull/13359)) + - Remove dependency of RC namespace in rc-smarsh-connector, sms and spotify ([#13358](https://github.com/RocketChat/Rocket.Chat/pull/13358)) + - Remove dependency of RC namespace in rc-slash-kick, leave, me, msg, mute, open, topic and unarchiveroom ([#13357](https://github.com/RocketChat/Rocket.Chat/pull/13357)) + - Remove dependency of RC namespace in rc-slash-archiveroom, create, help, hide, invite, inviteall and join ([#13356](https://github.com/RocketChat/Rocket.Chat/pull/13356)) + - Remove dependency of RC namespace in rc-setup-wizard, slackbridge and asciiarts ([#13348](https://github.com/RocketChat/Rocket.Chat/pull/13348)) + - Remove dependency of RC namespace in rc-reactions, retention-policy and search ([#13347](https://github.com/RocketChat/Rocket.Chat/pull/13347)) + - Remove dependency of RC namespace in rc-oembed and rc-otr ([#13345](https://github.com/RocketChat/Rocket.Chat/pull/13345)) + - Remove dependency of RC namespace in rc-oauth2-server and message-star ([#13344](https://github.com/RocketChat/Rocket.Chat/pull/13344)) + - Remove dependency of RC namespace in rc-message-pin and message-snippet ([#13343](https://github.com/RocketChat/Rocket.Chat/pull/13343)) + - Depackaging ([#13483](https://github.com/RocketChat/Rocket.Chat/pull/13483)) + - Merge master into develop & Set version to 1.0.0-develop ([#13435](https://github.com/RocketChat/Rocket.Chat/pull/13435) by [@Hudell](https://github.com/Hudell) & [@TkTech](https://github.com/TkTech) & [@theundefined](https://github.com/theundefined)) + - Regression: Table admin pages ([#13411](https://github.com/RocketChat/Rocket.Chat/pull/13411)) + - Regression: Template error ([#13410](https://github.com/RocketChat/Rocket.Chat/pull/13410)) + - Removed old templates ([#13406](https://github.com/RocketChat/Rocket.Chat/pull/13406)) + - Add pagination to getUsersOfRoom ([#12834](https://github.com/RocketChat/Rocket.Chat/pull/12834) by [@Hudell](https://github.com/Hudell)) + - OpenShift custom OAuth support ([#13925](https://github.com/RocketChat/Rocket.Chat/pull/13925) by [@bsharrow](https://github.com/bsharrow)) + - Settings: disable reset button ([#14026](https://github.com/RocketChat/Rocket.Chat/pull/14026)) + - Settings: hiding reset button for readonly fields ([#14025](https://github.com/RocketChat/Rocket.Chat/pull/14025)) + - Fix debug logging not being enabled by the setting ([#13979](https://github.com/RocketChat/Rocket.Chat/pull/13979)) + - Deprecate /api/v1/info in favor of /api/info ([#13798](https://github.com/RocketChat/Rocket.Chat/pull/13798)) + - Change dynamic dependency of FileUpload in Messages models ([#13776](https://github.com/RocketChat/Rocket.Chat/pull/13776)) + - Allow set env var METEOR_OPLOG_TOO_FAR_BEHIND ([#14017](https://github.com/RocketChat/Rocket.Chat/pull/14017)) + - Improve: Decrease padding for app buy modal ([#13984](https://github.com/RocketChat/Rocket.Chat/pull/13984)) + - Prioritize user-mentions badge ([#14057](https://github.com/RocketChat/Rocket.Chat/pull/14057)) + - Proper thread quote, clear message box on send, and other nice things to have ([#14049](https://github.com/RocketChat/Rocket.Chat/pull/14049)) + - Fix: Tests were not exiting RC instances ([#14054](https://github.com/RocketChat/Rocket.Chat/pull/14054)) + - Fix shield indentation ([#14048](https://github.com/RocketChat/Rocket.Chat/pull/14048)) + - Fix modal scroll ([#14052](https://github.com/RocketChat/Rocket.Chat/pull/14052)) + - Fix race condition of lastMessage set ([#14041](https://github.com/RocketChat/Rocket.Chat/pull/14041)) + - Fix room re-rendering ([#14044](https://github.com/RocketChat/Rocket.Chat/pull/14044)) + - Fix sending notifications to mentions on threads and discussion email sender ([#14043](https://github.com/RocketChat/Rocket.Chat/pull/14043)) + - Fix discussions issues after room deletion and translation actions not being shown ([#14018](https://github.com/RocketChat/Rocket.Chat/pull/14018)) + - Show discussion avatar ([#14053](https://github.com/RocketChat/Rocket.Chat/pull/14053)) + - Fix threads tests ([#14180](https://github.com/RocketChat/Rocket.Chat/pull/14180)) + - Prevent error for ldap login with invalid characters ([#14160](https://github.com/RocketChat/Rocket.Chat/pull/14160)) + - [REGRESSION] Messages sent by livechat's guests are losing sender info ([#14174](https://github.com/RocketChat/Rocket.Chat/pull/14174)) + - Faster CI build for PR ([#14171](https://github.com/RocketChat/Rocket.Chat/pull/14171)) + - Regression: Message box does not go back to initial state after sending a message ([#14161](https://github.com/RocketChat/Rocket.Chat/pull/14161)) + - Prevent error on normalize thread message for preview ([#14170](https://github.com/RocketChat/Rocket.Chat/pull/14170)) + - Update badges and mention links colors ([#14071](https://github.com/RocketChat/Rocket.Chat/pull/14071)) + - Smaller thread replies and system messages ([#14099](https://github.com/RocketChat/Rocket.Chat/pull/14099)) + - Regression: User autocomplete was not listing users from correct room ([#14125](https://github.com/RocketChat/Rocket.Chat/pull/14125)) + - Regression: Role creation and deletion error fixed ([#14097](https://github.com/RocketChat/Rocket.Chat/pull/14097) by [@knrt10](https://github.com/knrt10)) + - [Regression] Fix integrations message example ([#14111](https://github.com/RocketChat/Rocket.Chat/pull/14111)) + - Fix update apps capability of updating messages ([#14118](https://github.com/RocketChat/Rocket.Chat/pull/14118)) + - Fix: Skip thread notifications on message edit ([#14100](https://github.com/RocketChat/Rocket.Chat/pull/14100)) + - Fix: Remove message class `sequential` if `new-day` is present ([#14116](https://github.com/RocketChat/Rocket.Chat/pull/14116)) + - Fix top bar unread message counter ([#14102](https://github.com/RocketChat/Rocket.Chat/pull/14102)) + - LingoHub based on develop ([#14046](https://github.com/RocketChat/Rocket.Chat/pull/14046)) + - Fix sending message from action buttons in messages ([#14101](https://github.com/RocketChat/Rocket.Chat/pull/14101)) + - Fix: Error when version check endpoint was returning invalid data ([#14089](https://github.com/RocketChat/Rocket.Chat/pull/14089)) + - Wait port release to finish tests ([#14066](https://github.com/RocketChat/Rocket.Chat/pull/14066)) + - Fix threads rendering performance ([#14059](https://github.com/RocketChat/Rocket.Chat/pull/14059)) + - Unstuck observers every minute ([#14076](https://github.com/RocketChat/Rocket.Chat/pull/14076)) + - Fix messages losing thread titles on editing or reaction and improve message actions ([#14051](https://github.com/RocketChat/Rocket.Chat/pull/14051)) + - Improve message validation ([#14266](https://github.com/RocketChat/Rocket.Chat/pull/14266)) + - Added federation ping, loopback and dashboard ([#14007](https://github.com/RocketChat/Rocket.Chat/pull/14007)) + - Regression: Exception on notification when adding someone in room via mention ([#14251](https://github.com/RocketChat/Rocket.Chat/pull/14251)) + - Regression: fix grouping for reactive message ([#14246](https://github.com/RocketChat/Rocket.Chat/pull/14246)) + - Regression: Cursor position set to beginning when editing a message ([#14245](https://github.com/RocketChat/Rocket.Chat/pull/14245)) + - Regression: grouping messages on threads ([#14238](https://github.com/RocketChat/Rocket.Chat/pull/14238)) + - Regression: Remove border from unstyled message body ([#14235](https://github.com/RocketChat/Rocket.Chat/pull/14235)) + - Move LDAP Escape to login handler ([#14234](https://github.com/RocketChat/Rocket.Chat/pull/14234)) + - [Regression] Personal Access Token list fixed ([#14216](https://github.com/RocketChat/Rocket.Chat/pull/14216) by [@knrt10](https://github.com/knrt10)) + - ESLint: Add more import rules ([#14226](https://github.com/RocketChat/Rocket.Chat/pull/14226)) + - Regression: fix drop file ([#14225](https://github.com/RocketChat/Rocket.Chat/pull/14225)) + - Broken styles in Administration's contextual bar ([#14222](https://github.com/RocketChat/Rocket.Chat/pull/14222)) + - Regression: Broken UI for messages ([#14223](https://github.com/RocketChat/Rocket.Chat/pull/14223)) + - Exit process on unhandled rejection ([#14220](https://github.com/RocketChat/Rocket.Chat/pull/14220)) + - Unify mime-type package configuration ([#14217](https://github.com/RocketChat/Rocket.Chat/pull/14217)) + - Regression: Prevent startup errors for mentions parsing ([#14219](https://github.com/RocketChat/Rocket.Chat/pull/14219)) + - Regression: System messages styling ([#14189](https://github.com/RocketChat/Rocket.Chat/pull/14189)) + - Prevent click on reply thread to trigger flex tab closing ([#14215](https://github.com/RocketChat/Rocket.Chat/pull/14215)) + - created function to allow change default values, fix loading search users ([#14177](https://github.com/RocketChat/Rocket.Chat/pull/14177)) + - Use main message as thread tab title ([#14213](https://github.com/RocketChat/Rocket.Chat/pull/14213)) + - Use own logic to get thread infos via REST ([#14210](https://github.com/RocketChat/Rocket.Chat/pull/14210)) + - Regression: wrong expression at messageBox.actions.remove() ([#14192](https://github.com/RocketChat/Rocket.Chat/pull/14192)) + - Increment user counter on DMs ([#14185](https://github.com/RocketChat/Rocket.Chat/pull/14185)) + - [REGRESSION] Fix variable name references in message template ([#14184](https://github.com/RocketChat/Rocket.Chat/pull/14184)) + - Regression: Active room was not being marked ([#14276](https://github.com/RocketChat/Rocket.Chat/pull/14276)) + - Rename Cloud to Connectivity Services & split Apps in Apps and Marketplace ([#14211](https://github.com/RocketChat/Rocket.Chat/pull/14211)) + - LingoHub based on develop ([#14178](https://github.com/RocketChat/Rocket.Chat/pull/14178)) + - Regression: Discussions were not showing on Tab Bar ([#14050](https://github.com/RocketChat/Rocket.Chat/pull/14050) by [@knrt10](https://github.com/knrt10)) + - Force unstyling of blockquote under .message-body--unstyled ([#14274](https://github.com/RocketChat/Rocket.Chat/pull/14274)) + - Regression: Admin embedded layout ([#14229](https://github.com/RocketChat/Rocket.Chat/pull/14229)) + - New threads layout ([#14269](https://github.com/RocketChat/Rocket.Chat/pull/14269)) + - Improve: Marketplace auth inside Rocket.Chat instead of inside the iframe. ([#14258](https://github.com/RocketChat/Rocket.Chat/pull/14258)) + - [New] Reply privately to group messages ([#14150](https://github.com/RocketChat/Rocket.Chat/pull/14150) by [@bhardwajaditya](https://github.com/bhardwajaditya))
@@ -2658,29 +3923,46 @@ ### ๐Ÿš€ Improvements + - Open rooms quicker ([#13417](https://github.com/RocketChat/Rocket.Chat/pull/13417)) + - Allow configure Prometheus port per process via Environment Variable ([#13436](https://github.com/RocketChat/Rocket.Chat/pull/13436)) + - Add API option "permissionsRequired" ([#13430](https://github.com/RocketChat/Rocket.Chat/pull/13430)) ### ๐Ÿ› Bug fixes + - Invalid condition on getting next livechat agent over REST API endpoint ([#13360](https://github.com/RocketChat/Rocket.Chat/pull/13360)) + - "Test Desktop Notifications" not triggering a notification ([#13457](https://github.com/RocketChat/Rocket.Chat/pull/13457)) + - Translated and incorrect i18n variables ([#13463](https://github.com/RocketChat/Rocket.Chat/pull/13463) by [@leonboot](https://github.com/leonboot)) + - Properly escape custom emoji names for pattern matching ([#13408](https://github.com/RocketChat/Rocket.Chat/pull/13408)) + - Not translated emails ([#13452](https://github.com/RocketChat/Rocket.Chat/pull/13452)) + - XML-decryption module not found ([#13437](https://github.com/RocketChat/Rocket.Chat/pull/13437) by [@Hudell](https://github.com/Hudell)) + - Update Russian localization ([#13244](https://github.com/RocketChat/Rocket.Chat/pull/13244) by [@BehindLoader](https://github.com/BehindLoader)) + - Several Problems on HipChat Importer ([#13336](https://github.com/RocketChat/Rocket.Chat/pull/13336) by [@Hudell](https://github.com/Hudell)) + - Invalid push gateway configuration, requires the uniqueId ([#13423](https://github.com/RocketChat/Rocket.Chat/pull/13423)) + - Notify private settings changes even on public settings changed ([#13369](https://github.com/RocketChat/Rocket.Chat/pull/13369)) + - Misaligned upload progress bar "cancel" button ([#13407](https://github.com/RocketChat/Rocket.Chat/pull/13407))
๐Ÿ” Minor changes + - Release 0.74.3 ([#13474](https://github.com/RocketChat/Rocket.Chat/pull/13474) by [@BehindLoader](https://github.com/BehindLoader) & [@Hudell](https://github.com/Hudell) & [@leonboot](https://github.com/leonboot)) + - Room loading improvements ([#13471](https://github.com/RocketChat/Rocket.Chat/pull/13471)) + - Regression: Remove console.log on email translations ([#13456](https://github.com/RocketChat/Rocket.Chat/pull/13456))
@@ -2710,12 +3992,16 @@ ### ๐Ÿš€ Improvements + - Send `uniqueID` to all clients so Jitsi rooms can be created correctly ([#13342](https://github.com/RocketChat/Rocket.Chat/pull/13342)) ### ๐Ÿ› Bug fixes + - Rate Limiter was limiting communication between instances ([#13326](https://github.com/RocketChat/Rocket.Chat/pull/13326)) + - Setup wizard calling 'saveSetting' for each field/setting ([#13349](https://github.com/RocketChat/Rocket.Chat/pull/13349)) + - Pass token for cloud register ([#13350](https://github.com/RocketChat/Rocket.Chat/pull/13350)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -2735,24 +4021,36 @@ ### ๐ŸŽ‰ New features + - Limit all DDP/Websocket requests (configurable via admin panel) ([#13311](https://github.com/RocketChat/Rocket.Chat/pull/13311)) + - REST endpoint to forward livechat rooms ([#13308](https://github.com/RocketChat/Rocket.Chat/pull/13308)) + - Collect data for Monthly/Daily Active Users for a future dashboard ([#11525](https://github.com/RocketChat/Rocket.Chat/pull/11525)) + - Add parseUrls field to the apps message converter ([#13248](https://github.com/RocketChat/Rocket.Chat/pull/13248)) ### ๐Ÿ› Bug fixes + - Mobile view and re-enable E2E tests ([#13322](https://github.com/RocketChat/Rocket.Chat/pull/13322)) + - Hipchat Enterprise Importer not generating subscriptions ([#13293](https://github.com/RocketChat/Rocket.Chat/pull/13293) by [@Hudell](https://github.com/Hudell)) + - Message updating by Apps ([#13294](https://github.com/RocketChat/Rocket.Chat/pull/13294)) + - REST endpoint for creating custom emojis ([#13306](https://github.com/RocketChat/Rocket.Chat/pull/13306)) + - Preview of image uploads were not working when apps framework is enable ([#13303](https://github.com/RocketChat/Rocket.Chat/pull/13303)) + - HipChat Enterprise importer fails when importing a large amount of messages (millions) ([#13221](https://github.com/RocketChat/Rocket.Chat/pull/13221) by [@Hudell](https://github.com/Hudell)) + - Fix bug when user try recreate channel or group with same name and remove room from cache when user leaves room ([#12341](https://github.com/RocketChat/Rocket.Chat/pull/12341))
๐Ÿ” Minor changes + - Fix: Missing export in cloud package ([#13282](https://github.com/RocketChat/Rocket.Chat/pull/13282))
@@ -2781,91 +4079,167 @@ ### ๐ŸŽ‰ New features + - SAML: Adds possibility to decrypt encrypted assertions ([#12153](https://github.com/RocketChat/Rocket.Chat/pull/12153) by [@gerbsen](https://github.com/gerbsen)) + - Add rate limiter to REST endpoints ([#11251](https://github.com/RocketChat/Rocket.Chat/pull/11251)) + - Added an option to disable email when activate and deactivate users ([#13183](https://github.com/RocketChat/Rocket.Chat/pull/13183)) + - Add create, update and delete endpoint for custom emojis ([#13160](https://github.com/RocketChat/Rocket.Chat/pull/13160)) + - Added endpoint to update timeout of the jitsi video conference ([#13167](https://github.com/RocketChat/Rocket.Chat/pull/13167)) + - Display total number of files and total upload size in admin ([#13184](https://github.com/RocketChat/Rocket.Chat/pull/13184)) + - Livechat GDPR compliance ([#12982](https://github.com/RocketChat/Rocket.Chat/pull/12982)) + - Added stream to notify when agent status change ([#13076](https://github.com/RocketChat/Rocket.Chat/pull/13076)) + - Add new Livechat REST endpoint to update the visitor's status ([#13108](https://github.com/RocketChat/Rocket.Chat/pull/13108)) + - Add Allow Methods directive to CORS ([#13073](https://github.com/RocketChat/Rocket.Chat/pull/13073)) ### ๐Ÿš€ Improvements + - Dutch translations ([#12294](https://github.com/RocketChat/Rocket.Chat/pull/12294) by [@Jeroeny](https://github.com/Jeroeny)) + - Persian translations ([#13114](https://github.com/RocketChat/Rocket.Chat/pull/13114) by [@behnejad](https://github.com/behnejad)) + - Change the way the app detail screen shows support link when it's an email ([#13129](https://github.com/RocketChat/Rocket.Chat/pull/13129)) + - Process alerts from update checking ([#13194](https://github.com/RocketChat/Rocket.Chat/pull/13194)) + - Add "Apps Engine Version" to Administration > Info ([#13169](https://github.com/RocketChat/Rocket.Chat/pull/13169)) + - New Livechat statistics added to statistics collector ([#13168](https://github.com/RocketChat/Rocket.Chat/pull/13168)) + - Return room type field on Livechat findRoom method ([#13078](https://github.com/RocketChat/Rocket.Chat/pull/13078)) + - Return visitorEmails field on Livechat findGuest method ([#13097](https://github.com/RocketChat/Rocket.Chat/pull/13097)) + - Adds the "showConnecting" property to Livechat Config payload ([#13158](https://github.com/RocketChat/Rocket.Chat/pull/13158)) + - Adds history log for all Importers and improves HipChat import performance ([#13083](https://github.com/RocketChat/Rocket.Chat/pull/13083) by [@Hudell](https://github.com/Hudell)) + - Inject metrics on callbacks ([#13266](https://github.com/RocketChat/Rocket.Chat/pull/13266)) ### ๐Ÿ› Bug fixes + - Few polish translating ([#13112](https://github.com/RocketChat/Rocket.Chat/pull/13112) by [@theundefined](https://github.com/theundefined)) + - Few polish translating ([#13112](https://github.com/RocketChat/Rocket.Chat/pull/13112) by [@theundefined](https://github.com/theundefined)) + - Update Message: Does not show edited when message was not edited. ([#13053](https://github.com/RocketChat/Rocket.Chat/pull/13053) by [@Kailash0311](https://github.com/Kailash0311)) + - Notifications for mentions not working on large rooms and don't emit desktop notifications for offline users ([#13067](https://github.com/RocketChat/Rocket.Chat/pull/13067)) + - Emoticons not displayed in room topic ([#12858](https://github.com/RocketChat/Rocket.Chat/pull/12858) by [@alexbartsch](https://github.com/alexbartsch)) + - REST API endpoint `users.getPersonalAccessTokens` error when user has no access tokens ([#13150](https://github.com/RocketChat/Rocket.Chat/pull/13150)) + - Remove unused code for Cordova ([#13188](https://github.com/RocketChat/Rocket.Chat/pull/13188)) + - Avatars with transparency were being converted to black ([#13181](https://github.com/RocketChat/Rocket.Chat/pull/13181)) + - REST api client base url on subdir ([#13180](https://github.com/RocketChat/Rocket.Chat/pull/13180)) + - Change webdav creation, due to changes in the npm lib after last update ([#13170](https://github.com/RocketChat/Rocket.Chat/pull/13170)) + - Invite command was not accpeting @ in username ([#12927](https://github.com/RocketChat/Rocket.Chat/pull/12927) by [@piotrkochan](https://github.com/piotrkochan)) + - Remove ES6 code from Livechat widget script ([#13105](https://github.com/RocketChat/Rocket.Chat/pull/13105)) + - User status on header and user info are not translated ([#13096](https://github.com/RocketChat/Rocket.Chat/pull/13096)) + - #11692 - Suppress error when drop collection in migration to suit to โ€ฆ ([#13091](https://github.com/RocketChat/Rocket.Chat/pull/13091) by [@Xuhao](https://github.com/Xuhao)) + - Change input type of e2e to password ([#13077](https://github.com/RocketChat/Rocket.Chat/pull/13077) by [@supra08](https://github.com/supra08)) + - LDAP login of new users overwriting `fname` from all subscriptions ([#13203](https://github.com/RocketChat/Rocket.Chat/pull/13203)) + - Snap upgrade add post-refresh hook ([#13153](https://github.com/RocketChat/Rocket.Chat/pull/13153))
๐Ÿ” Minor changes + - Release 0.74.0 ([#13270](https://github.com/RocketChat/Rocket.Chat/pull/13270) by [@Xuhao](https://github.com/Xuhao) & [@supra08](https://github.com/supra08)) + - Regression: Fix message pinning ([#13213](https://github.com/RocketChat/Rocket.Chat/pull/13213) by [@TkTech](https://github.com/TkTech)) + - LingoHub based on develop ([#13201](https://github.com/RocketChat/Rocket.Chat/pull/13201)) + - Language: Edit typo "ะžะฑะฝะพะฒะปะธั‚ัŒ" ([#13177](https://github.com/RocketChat/Rocket.Chat/pull/13177) by [@zpavlig](https://github.com/zpavlig)) + - Regression: Fix export AudioRecorder ([#13192](https://github.com/RocketChat/Rocket.Chat/pull/13192)) + - Remove dependency of RocketChat namespace and push-notifications ([#13137](https://github.com/RocketChat/Rocket.Chat/pull/13137)) + - Remove dependency of RocketChat namespace and custom-sounds ([#13136](https://github.com/RocketChat/Rocket.Chat/pull/13136)) + - Remove dependency of RocketChat namespace and logger ([#13135](https://github.com/RocketChat/Rocket.Chat/pull/13135)) + - Remove dependency between RocketChat namespace and migrations ([#13133](https://github.com/RocketChat/Rocket.Chat/pull/13133)) + - Convert rocketchat:ui to main module structure ([#13132](https://github.com/RocketChat/Rocket.Chat/pull/13132)) + - Remove dependency of RocketChat namespace inside rocketchat:ui ([#13131](https://github.com/RocketChat/Rocket.Chat/pull/13131)) + - Move some ui function to ui-utils ([#13123](https://github.com/RocketChat/Rocket.Chat/pull/13123)) + - Regression: fix upload permissions ([#13157](https://github.com/RocketChat/Rocket.Chat/pull/13157)) + - Move some function to utils ([#13122](https://github.com/RocketChat/Rocket.Chat/pull/13122)) + - Remove directly dependency between rocketchat:lib and emoji ([#13118](https://github.com/RocketChat/Rocket.Chat/pull/13118)) + - Convert rocketchat-webrtc to main module structure ([#13117](https://github.com/RocketChat/Rocket.Chat/pull/13117)) + - Remove directly dependency between lib and e2e ([#13115](https://github.com/RocketChat/Rocket.Chat/pull/13115)) + - Convert rocketchat-ui-master to main module structure ([#13107](https://github.com/RocketChat/Rocket.Chat/pull/13107)) + - Regression: fix rooms model's collection name ([#13146](https://github.com/RocketChat/Rocket.Chat/pull/13146)) + - Convert rocketchat-ui-sidenav to main module structure ([#13098](https://github.com/RocketChat/Rocket.Chat/pull/13098)) + - Convert rocketchat-file-upload to main module structure ([#13094](https://github.com/RocketChat/Rocket.Chat/pull/13094)) + - Remove dependency between lib and authz ([#13066](https://github.com/RocketChat/Rocket.Chat/pull/13066)) + - Globals/main module custom oauth ([#13037](https://github.com/RocketChat/Rocket.Chat/pull/13037)) + - Move UI Collections to rocketchat:models ([#13064](https://github.com/RocketChat/Rocket.Chat/pull/13064)) + - Rocketchat mailer ([#13036](https://github.com/RocketChat/Rocket.Chat/pull/13036)) + - Move rocketchat promises ([#13039](https://github.com/RocketChat/Rocket.Chat/pull/13039)) + - Globals/move rocketchat notifications ([#13035](https://github.com/RocketChat/Rocket.Chat/pull/13035)) + - Test only MongoDB with oplog versions 3.2 and 4.0 for PRs ([#13119](https://github.com/RocketChat/Rocket.Chat/pull/13119)) + - Move/create rocketchat callbacks ([#13034](https://github.com/RocketChat/Rocket.Chat/pull/13034)) + - Move/create rocketchat metrics ([#13032](https://github.com/RocketChat/Rocket.Chat/pull/13032)) + - Move rocketchat models ([#13027](https://github.com/RocketChat/Rocket.Chat/pull/13027)) + - Move rocketchat settings to specific package ([#13026](https://github.com/RocketChat/Rocket.Chat/pull/13026)) + - Remove incorrect pt-BR translation ([#13074](https://github.com/RocketChat/Rocket.Chat/pull/13074)) + - Merge master into develop & Set version to 0.74.0-develop ([#13050](https://github.com/RocketChat/Rocket.Chat/pull/13050) by [@Hudell](https://github.com/Hudell) & [@ohmonster](https://github.com/ohmonster) & [@piotrkochan](https://github.com/piotrkochan)) + - Regression: Fix audio message upload ([#13224](https://github.com/RocketChat/Rocket.Chat/pull/13224)) + - Regression: Fix message pinning ([#13213](https://github.com/RocketChat/Rocket.Chat/pull/13213) by [@TkTech](https://github.com/TkTech)) + - Regression: Fix emoji search ([#13207](https://github.com/RocketChat/Rocket.Chat/pull/13207)) + - Change apps engine persistence bridge method to updateByAssociations ([#13239](https://github.com/RocketChat/Rocket.Chat/pull/13239))
@@ -2910,11 +4284,13 @@ ### ๐ŸŽ‰ New features + - Cloud Integration ([#13013](https://github.com/RocketChat/Rocket.Chat/pull/13013))
๐Ÿ” Minor changes + - Release 0.73.2 ([#13086](https://github.com/RocketChat/Rocket.Chat/pull/13086))
@@ -2935,13 +4311,17 @@ ### ๐Ÿ› Bug fixes + - Default importer path ([#13045](https://github.com/RocketChat/Rocket.Chat/pull/13045))
๐Ÿ” Minor changes + - Release 0.73.1 ([#13052](https://github.com/RocketChat/Rocket.Chat/pull/13052)) + - Execute tests with versions 3.2, 3.4, 3.6 and 4.0 of MongoDB ([#13049](https://github.com/RocketChat/Rocket.Chat/pull/13049)) + - Regression: Get room's members list not working on MongoDB 3.2 ([#13051](https://github.com/RocketChat/Rocket.Chat/pull/13051))
@@ -2960,152 +4340,289 @@ ### ๐ŸŽ‰ New features + - Create new permission.listAll endpoint to be able to use updatedSince parameter ([#12748](https://github.com/RocketChat/Rocket.Chat/pull/12748)) + - Mandatory 2fa for role ([#9748](https://github.com/RocketChat/Rocket.Chat/pull/9748) by [@Hudell](https://github.com/Hudell) & [@karlprieb](https://github.com/karlprieb)) + - Add query parameter support to emoji-custom endpoint ([#12754](https://github.com/RocketChat/Rocket.Chat/pull/12754)) + - Added a link to contributing.md ([#12856](https://github.com/RocketChat/Rocket.Chat/pull/12856) by [@sanketsingh24](https://github.com/sanketsingh24)) + - Added chat.getDeletedMessages since specific date ([#13010](https://github.com/RocketChat/Rocket.Chat/pull/13010)) + - Download button for each file in fileslist ([#12874](https://github.com/RocketChat/Rocket.Chat/pull/12874) by [@alexbartsch](https://github.com/alexbartsch)) + - Syncloud deploy option ([#12867](https://github.com/RocketChat/Rocket.Chat/pull/12867) by [@cyberb](https://github.com/cyberb)) + - Config hooks for snap ([#12351](https://github.com/RocketChat/Rocket.Chat/pull/12351)) + - Livechat registration form message ([#12597](https://github.com/RocketChat/Rocket.Chat/pull/12597)) + - Include message type & id in push notification payload ([#12771](https://github.com/RocketChat/Rocket.Chat/pull/12771) by [@cardoso](https://github.com/cardoso)) ### ๐Ÿš€ Improvements + - Hipchat Enterprise Importer ([#12985](https://github.com/RocketChat/Rocket.Chat/pull/12985) by [@Hudell](https://github.com/Hudell)) + - Add missing translation keys. ([#12722](https://github.com/RocketChat/Rocket.Chat/pull/12722) by [@ura14h](https://github.com/ura14h)) + - Accept Slash Commands via Action Buttons when `msg_in_chat_window: true` ([#13009](https://github.com/RocketChat/Rocket.Chat/pull/13009)) + - Allow transfer Livechats to online agents only ([#13008](https://github.com/RocketChat/Rocket.Chat/pull/13008)) + - Adding debugging instructions in README ([#12989](https://github.com/RocketChat/Rocket.Chat/pull/12989) by [@hypery2k](https://github.com/hypery2k)) + - Do not emit settings if there are no changes ([#12904](https://github.com/RocketChat/Rocket.Chat/pull/12904)) + - Returning an open room object in the Livechat config endpoint ([#12865](https://github.com/RocketChat/Rocket.Chat/pull/12865)) + - Use MongoBD aggregation to get users from a room ([#12566](https://github.com/RocketChat/Rocket.Chat/pull/12566)) + - Username suggestion logic ([#12779](https://github.com/RocketChat/Rocket.Chat/pull/12779)) ### ๐Ÿ› Bug fixes + - Avoiding links with highlighted words ([#12123](https://github.com/RocketChat/Rocket.Chat/pull/12123) by [@rssilva](https://github.com/rssilva)) + - Pin and unpin message were not checking permissions ([#12739](https://github.com/RocketChat/Rocket.Chat/pull/12739)) + - Fix users.setPreferences endpoint, set language correctly ([#12734](https://github.com/RocketChat/Rocket.Chat/pull/12734)) + - Fix set avatar http call, to avoid SSL errors ([#12790](https://github.com/RocketChat/Rocket.Chat/pull/12790)) + - Webdav integration account settings were being shown even when Webdav was disabled ([#12569](https://github.com/RocketChat/Rocket.Chat/pull/12569) by [@karakayasemi](https://github.com/karakayasemi)) + - Provide better Dutch translations ๐Ÿ‡ณ๐Ÿ‡ฑ ([#12792](https://github.com/RocketChat/Rocket.Chat/pull/12792) by [@mathysie](https://github.com/mathysie)) + - E2E`s password reaveal text is always `>%S` when language is zh ([#12795](https://github.com/RocketChat/Rocket.Chat/pull/12795) by [@lvyue](https://github.com/lvyue)) + - Nested Markdown blocks not parsed properly ([#12998](https://github.com/RocketChat/Rocket.Chat/pull/12998) by [@Hudell](https://github.com/Hudell)) + - Change JSON to EJSON.parse query to support type Date ([#12706](https://github.com/RocketChat/Rocket.Chat/pull/12706)) + - Inherit font family in message user card ([#13004](https://github.com/RocketChat/Rocket.Chat/pull/13004)) + - Some deprecation issues for media recording ([#12948](https://github.com/RocketChat/Rocket.Chat/pull/12948)) + - Stop click event propagation on mention link or user card ([#12983](https://github.com/RocketChat/Rocket.Chat/pull/12983)) + - Change field checks in RocketChat.saveStreamingOptions ([#12973](https://github.com/RocketChat/Rocket.Chat/pull/12973)) + - Remove sharp's deprecation warnings on image upload ([#12980](https://github.com/RocketChat/Rocket.Chat/pull/12980)) + - Use web.browser.legacy bundle for Livechat script ([#12975](https://github.com/RocketChat/Rocket.Chat/pull/12975)) + - Revert Jitsi external API to an asset ([#12954](https://github.com/RocketChat/Rocket.Chat/pull/12954)) + - Exception in getSingleMessage ([#12970](https://github.com/RocketChat/Rocket.Chat/pull/12970) by [@tsukiRep](https://github.com/tsukiRep)) + - multiple rooms-changed ([#12940](https://github.com/RocketChat/Rocket.Chat/pull/12940)) + - Readable validation on the apps engine environment bridge ([#12994](https://github.com/RocketChat/Rocket.Chat/pull/12994)) + - Check for object falsehood before referencing properties in saveRoomSettings ([#12972](https://github.com/RocketChat/Rocket.Chat/pull/12972)) + - Spotlight being called while in background ([#12957](https://github.com/RocketChat/Rocket.Chat/pull/12957)) + - Padding for message box in embedded layout ([#12556](https://github.com/RocketChat/Rocket.Chat/pull/12556)) + - Crowd sync was being stopped when a user was not found ([#12930](https://github.com/RocketChat/Rocket.Chat/pull/12930) by [@piotrkochan](https://github.com/piotrkochan)) + - Some icons were missing ([#12913](https://github.com/RocketChat/Rocket.Chat/pull/12913)) + - User data download fails when a room has been deleted. ([#12829](https://github.com/RocketChat/Rocket.Chat/pull/12829) by [@Hudell](https://github.com/Hudell)) + - CAS Login not working with renamed users ([#12860](https://github.com/RocketChat/Rocket.Chat/pull/12860) by [@Hudell](https://github.com/Hudell)) + - Stream of my_message wasn't sending the room information ([#12914](https://github.com/RocketChat/Rocket.Chat/pull/12914)) + - cannot reset password ([#12903](https://github.com/RocketChat/Rocket.Chat/pull/12903) by [@Hudell](https://github.com/Hudell)) + - Version check update notification ([#12905](https://github.com/RocketChat/Rocket.Chat/pull/12905)) + - Data Import not working ([#12866](https://github.com/RocketChat/Rocket.Chat/pull/12866) by [@Hudell](https://github.com/Hudell)) + - Incorrect parameter name in Livechat stream ([#12851](https://github.com/RocketChat/Rocket.Chat/pull/12851)) + - Autotranslate icon on message action menu ([#12585](https://github.com/RocketChat/Rocket.Chat/pull/12585)) + - Google Cloud Storage storage provider ([#12843](https://github.com/RocketChat/Rocket.Chat/pull/12843)) + - Download files without extension wasn't possible ([#13033](https://github.com/RocketChat/Rocket.Chat/pull/13033))
๐Ÿ” Minor changes + - LingoHub based on develop ([#13014](https://github.com/RocketChat/Rocket.Chat/pull/13014)) + - Move isFirefox and isChrome functions to rocketchat-utils ([#13011](https://github.com/RocketChat/Rocket.Chat/pull/13011)) + - Move tapi18n t and isRtl functions from ui to utils ([#13005](https://github.com/RocketChat/Rocket.Chat/pull/13005)) + - Remove /* globals */ wave 4 ([#12999](https://github.com/RocketChat/Rocket.Chat/pull/12999)) + - Remove /* globals */ wave 3 ([#12997](https://github.com/RocketChat/Rocket.Chat/pull/12997)) + - Convert rocketchat-logger to main module structure and remove Logger from eslintrc ([#12995](https://github.com/RocketChat/Rocket.Chat/pull/12995)) + - Remove /* globals */ wave 2 ([#12988](https://github.com/RocketChat/Rocket.Chat/pull/12988)) + - Remove /* globals */ from files wave-1 ([#12984](https://github.com/RocketChat/Rocket.Chat/pull/12984)) + - Move globals of test to a specific eslintrc file ([#12959](https://github.com/RocketChat/Rocket.Chat/pull/12959)) + - Remove global ServiceConfiguration ([#12960](https://github.com/RocketChat/Rocket.Chat/pull/12960)) + - Remove global toastr ([#12961](https://github.com/RocketChat/Rocket.Chat/pull/12961)) + - Convert rocketchat-livechat to main module structure ([#12942](https://github.com/RocketChat/Rocket.Chat/pull/12942)) + - changed maxRoomsOpen ([#12949](https://github.com/RocketChat/Rocket.Chat/pull/12949)) + - Revert imports of css, reAdd them to the addFiles function ([#12934](https://github.com/RocketChat/Rocket.Chat/pull/12934)) + - Convert rocketchat-theme to main module structure ([#12896](https://github.com/RocketChat/Rocket.Chat/pull/12896)) + - Convert rocketchat-katex to main module structure ([#12895](https://github.com/RocketChat/Rocket.Chat/pull/12895)) + - Convert rocketchat-webdav to main module structure ([#12886](https://github.com/RocketChat/Rocket.Chat/pull/12886)) + - Convert rocketchat-ui-message to main module structure ([#12871](https://github.com/RocketChat/Rocket.Chat/pull/12871)) + - Convert rocketchat-videobridge to main module structure ([#12881](https://github.com/RocketChat/Rocket.Chat/pull/12881)) + - Convert rocketchat-reactions to main module structure ([#12888](https://github.com/RocketChat/Rocket.Chat/pull/12888)) + - Convert rocketchat-wordpress to main module structure ([#12887](https://github.com/RocketChat/Rocket.Chat/pull/12887)) + - Fix: snap push from ci ([#12883](https://github.com/RocketChat/Rocket.Chat/pull/12883)) + - Convert rocketchat-version-check to main module structure ([#12879](https://github.com/RocketChat/Rocket.Chat/pull/12879)) + - Convert rocketchat-user-data-dowload to main module structure ([#12877](https://github.com/RocketChat/Rocket.Chat/pull/12877)) + - Convert rocketchat-ui-vrecord to main module structure ([#12875](https://github.com/RocketChat/Rocket.Chat/pull/12875)) + - Convert rocketchat-ui-login to main module structure ([#12861](https://github.com/RocketChat/Rocket.Chat/pull/12861)) + - Convert rocketchat-ui-flextab to main module structure ([#12859](https://github.com/RocketChat/Rocket.Chat/pull/12859)) + - German translation typo fix for Reacted_with ([#12761](https://github.com/RocketChat/Rocket.Chat/pull/12761) by [@localguru](https://github.com/localguru)) + - Convert rocketchat-ui-account to main module structure ([#12842](https://github.com/RocketChat/Rocket.Chat/pull/12842)) + - Convert rocketchat-ui-clean-history to main module structure ([#12846](https://github.com/RocketChat/Rocket.Chat/pull/12846)) + - Convert rocketchat-ui-admin to main module structure ([#12844](https://github.com/RocketChat/Rocket.Chat/pull/12844)) + - Convert rocketchat-tokenpass to main module structure ([#12838](https://github.com/RocketChat/Rocket.Chat/pull/12838)) + - Remove rocketchat-tutum package ([#12840](https://github.com/RocketChat/Rocket.Chat/pull/12840)) + - Convert rocketchat-tooltip to main module structure ([#12839](https://github.com/RocketChat/Rocket.Chat/pull/12839)) + - Convert rocketchat-token-login to main module structure ([#12837](https://github.com/RocketChat/Rocket.Chat/pull/12837)) + - Convert rocketchat-statistics to main module structure ([#12833](https://github.com/RocketChat/Rocket.Chat/pull/12833)) + - Convert rocketchat-spotify to main module structure ([#12832](https://github.com/RocketChat/Rocket.Chat/pull/12832)) + - Convert rocketchat-sms to main module structure ([#12831](https://github.com/RocketChat/Rocket.Chat/pull/12831)) + - Convert rocketchat-search to main module structure ([#12801](https://github.com/RocketChat/Rocket.Chat/pull/12801)) + - Convert rocketchat-message-pin to main module structure ([#12767](https://github.com/RocketChat/Rocket.Chat/pull/12767)) + - Convert rocketchat-message-star to main module structure ([#12770](https://github.com/RocketChat/Rocket.Chat/pull/12770)) + - Convert rocketchat-slashcommands-msg to main module structure ([#12823](https://github.com/RocketChat/Rocket.Chat/pull/12823)) + - Convert rocketchat-smarsh-connector to main module structure ([#12830](https://github.com/RocketChat/Rocket.Chat/pull/12830)) + - Convert rocketchat-slider to main module structure ([#12828](https://github.com/RocketChat/Rocket.Chat/pull/12828)) + - Convert rocketchat-slashcommands-unarchiveroom to main module structure ([#12827](https://github.com/RocketChat/Rocket.Chat/pull/12827)) + - Dependencies update ([#12624](https://github.com/RocketChat/Rocket.Chat/pull/12624)) + - Convert rocketchat-slashcommands-topic to main module structure ([#12826](https://github.com/RocketChat/Rocket.Chat/pull/12826)) + - Convert rocketchat-slashcommands-open to main module structure ([#12825](https://github.com/RocketChat/Rocket.Chat/pull/12825)) + - Convert rocketchat-slashcommands-mute to main module structure ([#12824](https://github.com/RocketChat/Rocket.Chat/pull/12824)) + - Convert rocketchat-slashcommands-me to main module structure ([#12822](https://github.com/RocketChat/Rocket.Chat/pull/12822)) + - Convert rocketchat-slashcommands-leave to main module structure ([#12821](https://github.com/RocketChat/Rocket.Chat/pull/12821)) + - Convert rocketchat-slashcommands-kick to main module structure ([#12817](https://github.com/RocketChat/Rocket.Chat/pull/12817)) + - Convert rocketchat-slashcommands-join to main module structure ([#12816](https://github.com/RocketChat/Rocket.Chat/pull/12816)) + - Convert rocketchat-slashcommands-inviteall to main module structure ([#12815](https://github.com/RocketChat/Rocket.Chat/pull/12815)) + - Convert rocketchat-slashcommands-invite to main module structure ([#12814](https://github.com/RocketChat/Rocket.Chat/pull/12814)) + - Convert rocketchat-slashcommands-hide to main module structure ([#12813](https://github.com/RocketChat/Rocket.Chat/pull/12813)) + - Convert rocketchat-slashcommands-help to main module structure ([#12812](https://github.com/RocketChat/Rocket.Chat/pull/12812)) + - Convert rocketchat-slashcommands-create to main module structure ([#12811](https://github.com/RocketChat/Rocket.Chat/pull/12811)) + - Convert rocketchat-slashcomands-archiveroom to main module structure ([#12810](https://github.com/RocketChat/Rocket.Chat/pull/12810)) + - Convert rocketchat-slashcommands-asciiarts to main module structure ([#12808](https://github.com/RocketChat/Rocket.Chat/pull/12808)) + - Convert rocketchat-slackbridge to main module structure ([#12807](https://github.com/RocketChat/Rocket.Chat/pull/12807)) + - Convert rocketchat-setup-wizard to main module structure ([#12806](https://github.com/RocketChat/Rocket.Chat/pull/12806)) + - Convert rocketchat-sandstorm to main module structure ([#12799](https://github.com/RocketChat/Rocket.Chat/pull/12799)) + - Convert rocketchat-oauth2-server-config to main module structure ([#12773](https://github.com/RocketChat/Rocket.Chat/pull/12773)) + - Convert rocketchat-message-snippet to main module structure ([#12768](https://github.com/RocketChat/Rocket.Chat/pull/12768)) + - Fix CI deploy job ([#12803](https://github.com/RocketChat/Rocket.Chat/pull/12803)) + - Convert rocketchat-retention-policy to main module structure ([#12797](https://github.com/RocketChat/Rocket.Chat/pull/12797)) + - Convert rocketchat-push-notifications to main module structure ([#12778](https://github.com/RocketChat/Rocket.Chat/pull/12778)) + - Convert rocketchat-otr to main module structure ([#12777](https://github.com/RocketChat/Rocket.Chat/pull/12777)) + - Convert rocketchat-oembed to main module structure ([#12775](https://github.com/RocketChat/Rocket.Chat/pull/12775)) + - Convert rocketchat-migrations to main-module structure ([#12772](https://github.com/RocketChat/Rocket.Chat/pull/12772)) + - Convert rocketchat-message-mark-as-unread to main module structure ([#12766](https://github.com/RocketChat/Rocket.Chat/pull/12766)) + - Remove conventional changelog cli, we are using our own cli now (Houston) ([#12798](https://github.com/RocketChat/Rocket.Chat/pull/12798)) + - Convert rocketchat-message-attachments to main module structure ([#12760](https://github.com/RocketChat/Rocket.Chat/pull/12760)) + - Convert rocketchat-message-action to main module structure ([#12759](https://github.com/RocketChat/Rocket.Chat/pull/12759)) + - Convert rocketchat-mentions-flextab to main module structure ([#12757](https://github.com/RocketChat/Rocket.Chat/pull/12757)) + - Convert rocketchat-mentions to main module structure ([#12756](https://github.com/RocketChat/Rocket.Chat/pull/12756)) + - Convert rocketchat-markdown to main module structure ([#12755](https://github.com/RocketChat/Rocket.Chat/pull/12755)) + - Convert rocketchat-mapview to main module structure ([#12701](https://github.com/RocketChat/Rocket.Chat/pull/12701)) + - Add check to make sure releases was updated ([#12791](https://github.com/RocketChat/Rocket.Chat/pull/12791)) + - Merge master into develop & Set version to 0.73.0-develop ([#12776](https://github.com/RocketChat/Rocket.Chat/pull/12776)) + - Change `chat.getDeletedMessages` to get messages after informed date and return only message's _id ([#13021](https://github.com/RocketChat/Rocket.Chat/pull/13021)) + - Improve Importer code quality ([#13020](https://github.com/RocketChat/Rocket.Chat/pull/13020) by [@Hudell](https://github.com/Hudell)) + - Regression: List of custom emojis wasn't working ([#13031](https://github.com/RocketChat/Rocket.Chat/pull/13031))
@@ -3148,6 +4665,7 @@
๐Ÿ” Minor changes + - Release 0.72.3 ([#12932](https://github.com/RocketChat/Rocket.Chat/pull/12932) by [@Hudell](https://github.com/Hudell) & [@piotrkochan](https://github.com/piotrkochan))
@@ -3168,12 +4686,15 @@ ### ๐Ÿ› Bug fixes + - line-height for unread bar buttons (jump to first and mark as read) ([#12900](https://github.com/RocketChat/Rocket.Chat/pull/12900)) + - PDF view loading indicator ([#12882](https://github.com/RocketChat/Rocket.Chat/pull/12882))
๐Ÿ” Minor changes + - Release 0.72.2 ([#12901](https://github.com/RocketChat/Rocket.Chat/pull/12901))
@@ -3188,16 +4709,23 @@ ### ๐Ÿ› Bug fixes + - Change spread operator to Array.from for Edge browser ([#12818](https://github.com/RocketChat/Rocket.Chat/pull/12818) by [@ohmonster](https://github.com/ohmonster)) + - API users.info returns caller rooms and not requested user ones ([#12727](https://github.com/RocketChat/Rocket.Chat/pull/12727) by [@piotrkochan](https://github.com/piotrkochan)) + - Missing HipChat Enterprise Importer ([#12847](https://github.com/RocketChat/Rocket.Chat/pull/12847) by [@Hudell](https://github.com/Hudell)) + - Emoji as avatar ([#12805](https://github.com/RocketChat/Rocket.Chat/pull/12805))
๐Ÿ” Minor changes + - Release 0.72.1 ([#12850](https://github.com/RocketChat/Rocket.Chat/pull/12850) by [@Hudell](https://github.com/Hudell) & [@ohmonster](https://github.com/ohmonster) & [@piotrkochan](https://github.com/piotrkochan)) + - Bump Apps-Engine version ([#12848](https://github.com/RocketChat/Rocket.Chat/pull/12848)) + - Change file order in rocketchat-cors ([#12804](https://github.com/RocketChat/Rocket.Chat/pull/12804))
@@ -3221,143 +4749,268 @@ ### โš ๏ธ BREAKING CHANGES + - Support for Cordova (Rocket.Chat Legacy app) has reached End-of-life, support has been discontinued + - Update to Meteor to 1.8 ([#12468](https://github.com/RocketChat/Rocket.Chat/pull/12468)) ### ๐ŸŽ‰ New features + - Add permission to enable personal access token to specific roles ([#12309](https://github.com/RocketChat/Rocket.Chat/pull/12309)) + - Option to reset e2e key ([#12483](https://github.com/RocketChat/Rocket.Chat/pull/12483) by [@Hudell](https://github.com/Hudell)) + - /api/v1/spotlight: return joinCodeRequired field for rooms ([#12651](https://github.com/RocketChat/Rocket.Chat/pull/12651) by [@cardoso](https://github.com/cardoso)) + - New API Endpoints for the new version of JS SDK ([#12623](https://github.com/RocketChat/Rocket.Chat/pull/12623)) + - Setting to configure robots.txt content ([#12547](https://github.com/RocketChat/Rocket.Chat/pull/12547) by [@Hudell](https://github.com/Hudell)) + - Make Livechat's widget draggable ([#12378](https://github.com/RocketChat/Rocket.Chat/pull/12378)) ### ๐Ÿš€ Improvements + - Improve unreads and unreadsFrom response, prevent it to be equal null ([#12563](https://github.com/RocketChat/Rocket.Chat/pull/12563)) + - Add rooms property in user object, if the user has the permission, with rooms roles ([#12105](https://github.com/RocketChat/Rocket.Chat/pull/12105)) + - border-radius to use --border-radius ([#12675](https://github.com/RocketChat/Rocket.Chat/pull/12675)) + - Update the 'keyboard shortcuts' documentation ([#12564](https://github.com/RocketChat/Rocket.Chat/pull/12564) by [@nicolasbock](https://github.com/nicolasbock)) + - Add new acceptable header for Livechat REST requests ([#12561](https://github.com/RocketChat/Rocket.Chat/pull/12561)) + - Atlassian Crowd settings and option to sync user data ([#12616](https://github.com/RocketChat/Rocket.Chat/pull/12616)) + - CircleCI to use MongoDB 4.0 for testing ([#12618](https://github.com/RocketChat/Rocket.Chat/pull/12618)) + - Japanese translations ([#12382](https://github.com/RocketChat/Rocket.Chat/pull/12382) by [@ura14h](https://github.com/ura14h)) + - Add CTRL modifier for keyboard shortcut ([#12525](https://github.com/RocketChat/Rocket.Chat/pull/12525) by [@nicolasbock](https://github.com/nicolasbock)) + - Ignore non-existent Livechat custom fields on Livechat API ([#12522](https://github.com/RocketChat/Rocket.Chat/pull/12522)) + - Emoji search on messageBox behaving like emojiPicker's search (#9607) ([#12452](https://github.com/RocketChat/Rocket.Chat/pull/12452) by [@vinade](https://github.com/vinade)) + - German translations ([#12471](https://github.com/RocketChat/Rocket.Chat/pull/12471) by [@mrsimpson](https://github.com/mrsimpson)) + - Limit the number of typing users shown (#8722) ([#12400](https://github.com/RocketChat/Rocket.Chat/pull/12400) by [@vinade](https://github.com/vinade)) + - Allow apps to update persistence by association ([#12714](https://github.com/RocketChat/Rocket.Chat/pull/12714)) + - Add more methods to deal with rooms via Rocket.Chat.Apps ([#12680](https://github.com/RocketChat/Rocket.Chat/pull/12680)) + - Better query for finding subscriptions that need a new E2E Key ([#12692](https://github.com/RocketChat/Rocket.Chat/pull/12692) by [@Hudell](https://github.com/Hudell)) ### ๐Ÿ› Bug fixes + - Fixed Anonymous Registration ([#12633](https://github.com/RocketChat/Rocket.Chat/pull/12633) by [@wreiske](https://github.com/wreiske)) + - high cpu usage ~ svg icon ([#12677](https://github.com/RocketChat/Rocket.Chat/pull/12677) by [@ph1p](https://github.com/ph1p)) + - Fix favico error ([#12643](https://github.com/RocketChat/Rocket.Chat/pull/12643)) + - Condition to not render PDF preview ([#12632](https://github.com/RocketChat/Rocket.Chat/pull/12632)) + - Admin styles ([#12614](https://github.com/RocketChat/Rocket.Chat/pull/12614)) + - Admin styles ([#12602](https://github.com/RocketChat/Rocket.Chat/pull/12602)) + - Change registration message when user need to confirm email ([#9336](https://github.com/RocketChat/Rocket.Chat/pull/9336) by [@karlprieb](https://github.com/karlprieb)) + - Import missed file in rocketchat-authorization ([#12570](https://github.com/RocketChat/Rocket.Chat/pull/12570)) + - Prevent subscriptions and calls to rooms events that the user is not participating ([#12558](https://github.com/RocketChat/Rocket.Chat/pull/12558)) + - Wrong test case for `users.setAvatar` endpoint ([#12539](https://github.com/RocketChat/Rocket.Chat/pull/12539)) + - Spotlight method being called multiple times ([#12536](https://github.com/RocketChat/Rocket.Chat/pull/12536)) + - German translation for for API_EmbedIgnoredHosts label ([#12518](https://github.com/RocketChat/Rocket.Chat/pull/12518) by [@mbrodala](https://github.com/mbrodala)) + - Handle all events for enter key in message box ([#12507](https://github.com/RocketChat/Rocket.Chat/pull/12507)) + - Fix wrong parameter in chat.delete endpoint and add some test cases ([#12408](https://github.com/RocketChat/Rocket.Chat/pull/12408)) + - Manage own integrations permissions check ([#12397](https://github.com/RocketChat/Rocket.Chat/pull/12397)) + - stream room-changed ([#12411](https://github.com/RocketChat/Rocket.Chat/pull/12411)) + - Emoji picker is not in viewport on small screens ([#12457](https://github.com/RocketChat/Rocket.Chat/pull/12457) by [@ramrami](https://github.com/ramrami)) + - `Disabled` word translation to Spanish ([#12406](https://github.com/RocketChat/Rocket.Chat/pull/12406) by [@Ismaw34](https://github.com/Ismaw34)) + - `Disabled` word translation to Chinese ([#12260](https://github.com/RocketChat/Rocket.Chat/pull/12260) by [@AndreamApp](https://github.com/AndreamApp)) + - Correct roomName value in Mail Messages (#12363) ([#12453](https://github.com/RocketChat/Rocket.Chat/pull/12453) by [@vinade](https://github.com/vinade)) + - Update caret position on insert a new line in message box ([#12713](https://github.com/RocketChat/Rocket.Chat/pull/12713)) + - DE translation for idle-time-limit ([#12637](https://github.com/RocketChat/Rocket.Chat/pull/12637) by [@pfuender](https://github.com/pfuender))
๐Ÿ” Minor changes + - LingoHub based on develop ([#12684](https://github.com/RocketChat/Rocket.Chat/pull/12684)) + - Convert rocketchat-mail-messages to main module structure ([#12682](https://github.com/RocketChat/Rocket.Chat/pull/12682)) + - Convert rocketchat-livestream to main module structure ([#12679](https://github.com/RocketChat/Rocket.Chat/pull/12679)) + - Added "npm install" to quick start for developers ([#12374](https://github.com/RocketChat/Rocket.Chat/pull/12374) by [@wreiske](https://github.com/wreiske)) + - Convert rocketchat-ldap to main module structure ([#12678](https://github.com/RocketChat/Rocket.Chat/pull/12678)) + - Convert rocketchat-issuelinks to main module structure ([#12674](https://github.com/RocketChat/Rocket.Chat/pull/12674)) + - Convert rocketchat-integrations to main module structure ([#12670](https://github.com/RocketChat/Rocket.Chat/pull/12670)) + - Convert rocketchat-irc to main module structure ([#12672](https://github.com/RocketChat/Rocket.Chat/pull/12672)) + - Convert rocketchat-internal-hubot to main module structure ([#12671](https://github.com/RocketChat/Rocket.Chat/pull/12671)) + - Convert rocketchat-importer-hipchat-enterprise to main module structure ([#12665](https://github.com/RocketChat/Rocket.Chat/pull/12665)) + - Convert rocketchat-importer-slack-users to main module structure ([#12669](https://github.com/RocketChat/Rocket.Chat/pull/12669)) + - Convert rocketchat-importer-slack to main module structure ([#12666](https://github.com/RocketChat/Rocket.Chat/pull/12666)) + - Convert rocketchat-iframe-login to main module structure ([#12661](https://github.com/RocketChat/Rocket.Chat/pull/12661)) + - Convert rocketchat-importer to main module structure ([#12662](https://github.com/RocketChat/Rocket.Chat/pull/12662)) + - Convert rocketchat-importer-csv to main module structure ([#12663](https://github.com/RocketChat/Rocket.Chat/pull/12663)) + - Convert rocketchat-importer-hipchat to main module structure ([#12664](https://github.com/RocketChat/Rocket.Chat/pull/12664)) + - Convert rocketchat-highlight-words to main module structure ([#12659](https://github.com/RocketChat/Rocket.Chat/pull/12659)) + - Convert rocketchat-grant to main module structure ([#12657](https://github.com/RocketChat/Rocket.Chat/pull/12657)) + - Convert rocketchat-graphql to main module structure ([#12658](https://github.com/RocketChat/Rocket.Chat/pull/12658)) + - Convert rocketchat-google-vision to main module structure ([#12649](https://github.com/RocketChat/Rocket.Chat/pull/12649)) + - Removed RocketChatFile from globals ([#12650](https://github.com/RocketChat/Rocket.Chat/pull/12650)) + - Added imports for global variables in rocketchat-google-natural-language package ([#12647](https://github.com/RocketChat/Rocket.Chat/pull/12647)) + - Convert rocketchat-gitlab to main module structure ([#12646](https://github.com/RocketChat/Rocket.Chat/pull/12646)) + - Convert rocketchat-file to main module structure ([#12644](https://github.com/RocketChat/Rocket.Chat/pull/12644)) + - Convert rocketchat-github-enterprise to main module structure ([#12642](https://github.com/RocketChat/Rocket.Chat/pull/12642)) + - Fix: Add email dependency in package.js ([#12645](https://github.com/RocketChat/Rocket.Chat/pull/12645)) + - Convert rocketchat-custom-sounds to main module structure ([#12599](https://github.com/RocketChat/Rocket.Chat/pull/12599)) + - Fix crowd error with import of SyncedCron ([#12641](https://github.com/RocketChat/Rocket.Chat/pull/12641)) + - Convert emoji-emojione to main module structure ([#12605](https://github.com/RocketChat/Rocket.Chat/pull/12605)) + - Convert rocketchat-favico to main module structure ([#12607](https://github.com/RocketChat/Rocket.Chat/pull/12607)) + - Convert rocketchat-emoji-custom to main module structure ([#12604](https://github.com/RocketChat/Rocket.Chat/pull/12604)) + - Convert rocketchat-error-handler to main module structure ([#12606](https://github.com/RocketChat/Rocket.Chat/pull/12606)) + - Convert rocketchat-drupal to main module structure ([#12601](https://github.com/RocketChat/Rocket.Chat/pull/12601)) + - Convert rocketchat-crowd to main module structure ([#12596](https://github.com/RocketChat/Rocket.Chat/pull/12596)) + - Convert rocketchat-emoji to main module structure ([#12603](https://github.com/RocketChat/Rocket.Chat/pull/12603)) + - Fix users.setAvatar endpoint tests and logic ([#12625](https://github.com/RocketChat/Rocket.Chat/pull/12625)) + - [DOCS] Remove Cordova links, include F-Droid download button and few other adjustments ([#12583](https://github.com/RocketChat/Rocket.Chat/pull/12583) by [@rafaelks](https://github.com/rafaelks)) + - Convert rocketchat-dolphin to main module structure ([#12600](https://github.com/RocketChat/Rocket.Chat/pull/12600)) + - Convert rocketchat-channel-settings to main module structure ([#12594](https://github.com/RocketChat/Rocket.Chat/pull/12594)) + - Convert rocketchat-cors to main module structure ([#12595](https://github.com/RocketChat/Rocket.Chat/pull/12595)) + - Convert rocketchat-autotranslate to main module structure ([#12530](https://github.com/RocketChat/Rocket.Chat/pull/12530)) + - Convert rocketchat-channel-settings-mail-messages to main module structure ([#12537](https://github.com/RocketChat/Rocket.Chat/pull/12537)) + - Convert rocketchat-colors to main module structure ([#12538](https://github.com/RocketChat/Rocket.Chat/pull/12538)) + - Convert rocketchat-cas to main module structure ([#12532](https://github.com/RocketChat/Rocket.Chat/pull/12532)) + - Convert rocketchat-bot-helpers to main module structure ([#12531](https://github.com/RocketChat/Rocket.Chat/pull/12531)) + - Convert rocketchat-autolinker to main module structure ([#12529](https://github.com/RocketChat/Rocket.Chat/pull/12529)) + - Convert rocketchat-authorization to main module structure ([#12523](https://github.com/RocketChat/Rocket.Chat/pull/12523)) + - Fix CSS import order ([#12524](https://github.com/RocketChat/Rocket.Chat/pull/12524)) + - Remove template for feature requests as issues ([#12426](https://github.com/RocketChat/Rocket.Chat/pull/12426)) + - Fix punctuation, spelling, and grammar ([#12451](https://github.com/RocketChat/Rocket.Chat/pull/12451) by [@imronras](https://github.com/imronras)) + - Convert rocketchat-assets to main module structure ([#12521](https://github.com/RocketChat/Rocket.Chat/pull/12521)) + - Convert rocketchat-api to main module structure ([#12510](https://github.com/RocketChat/Rocket.Chat/pull/12510)) + - Convert rocketchat-analytics to main module structure ([#12506](https://github.com/RocketChat/Rocket.Chat/pull/12506)) + - Convert rocketchat-action-links to main module structure ([#12503](https://github.com/RocketChat/Rocket.Chat/pull/12503)) + - Convert rocketchat-2fa to main module structure ([#12501](https://github.com/RocketChat/Rocket.Chat/pull/12501)) + - Convert meteor-timesync to main module structure ([#12495](https://github.com/RocketChat/Rocket.Chat/pull/12495)) + - Convert meteor-autocomplete package to main module structure ([#12491](https://github.com/RocketChat/Rocket.Chat/pull/12491)) + - Convert meteor-accounts-saml to main module structure ([#12486](https://github.com/RocketChat/Rocket.Chat/pull/12486)) + - Convert chatpal search package to modular structure ([#12485](https://github.com/RocketChat/Rocket.Chat/pull/12485)) + - Removal of TAPi18n and TAPi18next global variables ([#12467](https://github.com/RocketChat/Rocket.Chat/pull/12467)) + - Removal of Template, Blaze, BlazeLayout, FlowRouter, DDPRateLimiter, Session, UAParser, Promise, Reload and CryptoJS global variables ([#12433](https://github.com/RocketChat/Rocket.Chat/pull/12433)) + - Removal of Match, check, moment, Tracker and Mongo global variables ([#12410](https://github.com/RocketChat/Rocket.Chat/pull/12410)) + - Removal of EJSON, Accounts, Email, HTTP, Random, ReactiveDict, ReactiveVar, SHA256 and WebApp global variables ([#12377](https://github.com/RocketChat/Rocket.Chat/pull/12377)) + - Removal of Meteor global variable ([#12371](https://github.com/RocketChat/Rocket.Chat/pull/12371)) + - Fix ES translation ([#12509](https://github.com/RocketChat/Rocket.Chat/pull/12509)) + - LingoHub based on develop ([#12470](https://github.com/RocketChat/Rocket.Chat/pull/12470)) + - Update npm dependencies ([#12465](https://github.com/RocketChat/Rocket.Chat/pull/12465)) + - Fix: Developers not being able to debug root files in VSCode ([#12440](https://github.com/RocketChat/Rocket.Chat/pull/12440) by [@mrsimpson](https://github.com/mrsimpson)) + - Merge master into develop & Set version to 0.72.0-develop ([#12460](https://github.com/RocketChat/Rocket.Chat/pull/12460) by [@Hudell](https://github.com/Hudell)) + - Fix some Ukrainian translations ([#12712](https://github.com/RocketChat/Rocket.Chat/pull/12712) by [@zdumitru](https://github.com/zdumitru)) + - Improve: Add missing translation keys. ([#12708](https://github.com/RocketChat/Rocket.Chat/pull/12708) by [@ura14h](https://github.com/ura14h)) + - Bump Apps Engine to 1.3.0 ([#12705](https://github.com/RocketChat/Rocket.Chat/pull/12705)) + - Fix: Exception when registering a user with gravatar ([#12699](https://github.com/RocketChat/Rocket.Chat/pull/12699)) + - Fix: Fix tests by increasing window size ([#12707](https://github.com/RocketChat/Rocket.Chat/pull/12707)) + - Update Apps Engine to 1.3.1 ([#12741](https://github.com/RocketChat/Rocket.Chat/pull/12741)) + - Regression: Expand Administration sections by toggling section title ([#12736](https://github.com/RocketChat/Rocket.Chat/pull/12736)) + - Regression: Fix Safari detection in PDF previewing ([#12737](https://github.com/RocketChat/Rocket.Chat/pull/12737)) + - Regression: Account pages layout ([#12735](https://github.com/RocketChat/Rocket.Chat/pull/12735)) + - Regression: Inherit font-family for message box ([#12729](https://github.com/RocketChat/Rocket.Chat/pull/12729))
@@ -3409,11 +5062,13 @@ ### ๐Ÿ› Bug fixes + - Email sending with GDPR user data ([#12487](https://github.com/RocketChat/Rocket.Chat/pull/12487))
๐Ÿ” Minor changes + - Release 0.71.1 ([#12499](https://github.com/RocketChat/Rocket.Chat/pull/12499))
@@ -3431,59 +5086,100 @@ ### โš ๏ธ BREAKING CHANGES + - Update `lastMessage` rooms property and convert the "starred" property, to the same format ([#12266](https://github.com/RocketChat/Rocket.Chat/pull/12266)) + - Add expiration to API login tokens and fix duplicate login tokens created by LDAP ([#12186](https://github.com/RocketChat/Rocket.Chat/pull/12186)) ### ๐ŸŽ‰ New features + - Add delete channel mutation to GraphQL API ([#11860](https://github.com/RocketChat/Rocket.Chat/pull/11860)) + - sidenav size on large screens ([#12372](https://github.com/RocketChat/Rocket.Chat/pull/12372)) + - Ability to disable user presence monitor ([#12353](https://github.com/RocketChat/Rocket.Chat/pull/12353)) + - PDF message attachment preview (client side rendering) ([#10519](https://github.com/RocketChat/Rocket.Chat/pull/10519) by [@kb0304](https://github.com/kb0304)) + - Add "help wanted" section to Readme ([#12432](https://github.com/RocketChat/Rocket.Chat/pull/12432) by [@isabellarussell](https://github.com/isabellarussell)) ### ๐Ÿš€ Improvements + - Livechat room closure endpoints ([#12360](https://github.com/RocketChat/Rocket.Chat/pull/12360)) + - Set Livechat department before register guest ([#12161](https://github.com/RocketChat/Rocket.Chat/pull/12161)) + - Add missing livechat i18n keys ([#12330](https://github.com/RocketChat/Rocket.Chat/pull/12330) by [@MarcosEllys](https://github.com/MarcosEllys)) + - Avoid unnecessary calls to Meteor.user() on client ([#11212](https://github.com/RocketChat/Rocket.Chat/pull/11212)) + - Allow the imports to accept any file type ([#12425](https://github.com/RocketChat/Rocket.Chat/pull/12425)) ### ๐Ÿ› Bug fixes + - Add image dimensions to attachment even when no reorientation is required ([#11521](https://github.com/RocketChat/Rocket.Chat/pull/11521)) + - iframe login token not checked ([#12158](https://github.com/RocketChat/Rocket.Chat/pull/12158) by [@nimetu](https://github.com/nimetu)) + - REST `users.setAvatar` endpoint wasn't allowing update the avatar of other users even with correct permissions ([#11431](https://github.com/RocketChat/Rocket.Chat/pull/11431)) + - Slack importer: image previews not showing ([#11875](https://github.com/RocketChat/Rocket.Chat/pull/11875) by [@Hudell](https://github.com/Hudell) & [@madguy02](https://github.com/madguy02)) + - Edit room name with uppercase letters ([#12235](https://github.com/RocketChat/Rocket.Chat/pull/12235) by [@nikeee](https://github.com/nikeee)) + - Custom OAuth Configuration can't be removed ([#12256](https://github.com/RocketChat/Rocket.Chat/pull/12256) by [@Hudell](https://github.com/Hudell)) + - Remove e2e from users endpoint responses ([#12344](https://github.com/RocketChat/Rocket.Chat/pull/12344)) + - email api TAPi18n is undefined ([#12373](https://github.com/RocketChat/Rocket.Chat/pull/12373)) + - Blockstack errors in IE 11 ([#12338](https://github.com/RocketChat/Rocket.Chat/pull/12338)) + - avatar?_dc=undefined ([#12365](https://github.com/RocketChat/Rocket.Chat/pull/12365)) + - users.register endpoint to not create an user if username already being used ([#12297](https://github.com/RocketChat/Rocket.Chat/pull/12297)) + - Date range check on livechat analytics ([#12345](https://github.com/RocketChat/Rocket.Chat/pull/12345) by [@teresy](https://github.com/teresy)) + - Cast env var setting to int based on option type ([#12194](https://github.com/RocketChat/Rocket.Chat/pull/12194) by [@crazy-max](https://github.com/crazy-max)) + - Links in home layout ([#12355](https://github.com/RocketChat/Rocket.Chat/pull/12355) by [@upiksaleh](https://github.com/upiksaleh)) + - Last message not updating after message delete if show deleted status is on ([#12350](https://github.com/RocketChat/Rocket.Chat/pull/12350)) + - Invalid destructuring on Livechat API endpoint ([#12354](https://github.com/RocketChat/Rocket.Chat/pull/12354)) + - E2E: Decrypting UTF-8 encoded messages ([#12398](https://github.com/RocketChat/Rocket.Chat/pull/12398) by [@pmmaga](https://github.com/pmmaga)) + - Ignore errors when creating image preview for uploads ([#12424](https://github.com/RocketChat/Rocket.Chat/pull/12424)) + - Attachment actions not being collapsable ([#12436](https://github.com/RocketChat/Rocket.Chat/pull/12436)) + - Attachment timestamp from and to Apps system not working ([#12445](https://github.com/RocketChat/Rocket.Chat/pull/12445)) + - Apps not being able to state how the action buttons are aligned ([#12391](https://github.com/RocketChat/Rocket.Chat/pull/12391))
๐Ÿ” Minor changes + - Fix: wrong saveUser permission validations ([#12384](https://github.com/RocketChat/Rocket.Chat/pull/12384)) + - Regression: do not render pdf preview on safari <= 12 ([#12375](https://github.com/RocketChat/Rocket.Chat/pull/12375)) + - Improve: Drop database between running tests on CI ([#12358](https://github.com/RocketChat/Rocket.Chat/pull/12358)) + - Fix: update check on err.details ([#12346](https://github.com/RocketChat/Rocket.Chat/pull/12346) by [@teresy](https://github.com/teresy)) + - Update Apps Framework to version 1.2.1 ([#12442](https://github.com/RocketChat/Rocket.Chat/pull/12442)) + - Regression: Change `starred` message property from object to array ([#12405](https://github.com/RocketChat/Rocket.Chat/pull/12405)) + - Apps: Roomโ€™s usernames was not working ([#12409](https://github.com/RocketChat/Rocket.Chat/pull/12409)) + - Regression: Fix email headers not being used ([#12392](https://github.com/RocketChat/Rocket.Chat/pull/12392))
@@ -3523,6 +5219,7 @@ ### ๐Ÿ› Bug fixes + - Reset password email ([#12898](https://github.com/RocketChat/Rocket.Chat/pull/12898)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -3538,12 +5235,15 @@ ### ๐Ÿ› Bug fixes + - Modal confirm on enter ([#12283](https://github.com/RocketChat/Rocket.Chat/pull/12283))
๐Ÿ” Minor changes + - Release 0.70.4 ([#12299](https://github.com/RocketChat/Rocket.Chat/pull/12299)) + - Fix: Add wizard opt-in fields ([#12298](https://github.com/RocketChat/Rocket.Chat/pull/12298))
@@ -3561,12 +5261,15 @@ ### ๐Ÿ› Bug fixes + - E2E alert shows up when encryption is disabled ([#12272](https://github.com/RocketChat/Rocket.Chat/pull/12272) by [@Hudell](https://github.com/Hudell))
๐Ÿ” Minor changes + - Release 0.70.3 ([#12281](https://github.com/RocketChat/Rocket.Chat/pull/12281)) + - Release 0.70.2 ([#12276](https://github.com/RocketChat/Rocket.Chat/pull/12276) by [@Hudell](https://github.com/Hudell))
@@ -3588,22 +5291,35 @@ ### ๐Ÿ› Bug fixes + - E2E data not cleared on logout ([#12254](https://github.com/RocketChat/Rocket.Chat/pull/12254) by [@Hudell](https://github.com/Hudell)) + - E2E password request not closing after entering password ([#12232](https://github.com/RocketChat/Rocket.Chat/pull/12232) by [@Hudell](https://github.com/Hudell)) + - Message editing was duplicating reply quotes ([#12263](https://github.com/RocketChat/Rocket.Chat/pull/12263)) + - Livechat integration with RDStation ([#12257](https://github.com/RocketChat/Rocket.Chat/pull/12257)) + - Livechat triggers being registered twice after setting department via API ([#12255](https://github.com/RocketChat/Rocket.Chat/pull/12255) by [@edzluhan](https://github.com/edzluhan)) + - Livechat CRM integration running when disabled ([#12242](https://github.com/RocketChat/Rocket.Chat/pull/12242)) + - Emails' logo and links ([#12241](https://github.com/RocketChat/Rocket.Chat/pull/12241)) + - Set default action for Setup Wizard form submit ([#12240](https://github.com/RocketChat/Rocket.Chat/pull/12240))
๐Ÿ” Minor changes + - Release 0.70.1 ([#12270](https://github.com/RocketChat/Rocket.Chat/pull/12270) by [@Hudell](https://github.com/Hudell) & [@edzluhan](https://github.com/edzluhan)) + - Merge master into develop & Set version to 0.71.0-develop ([#12264](https://github.com/RocketChat/Rocket.Chat/pull/12264) by [@cardoso](https://github.com/cardoso) & [@kaiiiiiiiii](https://github.com/kaiiiiiiiii) & [@timkinnane](https://github.com/timkinnane)) + - Regression: fix modal submit ([#12233](https://github.com/RocketChat/Rocket.Chat/pull/12233)) + - Add reetp to the issues' bot whitelist ([#12227](https://github.com/RocketChat/Rocket.Chat/pull/12227)) + - Fix: Remove semver satisfies from Apps details that is already done my marketplace ([#12268](https://github.com/RocketChat/Rocket.Chat/pull/12268))
@@ -3634,93 +5350,168 @@ ### โš ๏ธ BREAKING CHANGES + - Update the default port of the Prometheus exporter ([#11351](https://github.com/RocketChat/Rocket.Chat/pull/11351) by [@thaiphv](https://github.com/thaiphv)) + - [IMPROVE] New emails design ([#12009](https://github.com/RocketChat/Rocket.Chat/pull/12009)) ### ๐ŸŽ‰ New features + - Allow multiple subcommands in MIGRATION_VERSION env variable ([#11184](https://github.com/RocketChat/Rocket.Chat/pull/11184) by [@arch119](https://github.com/arch119)) + - Support for end to end encryption ([#10094](https://github.com/RocketChat/Rocket.Chat/pull/10094) by [@mrinaldhar](https://github.com/mrinaldhar)) + - Livechat Analytics and Reports ([#11238](https://github.com/RocketChat/Rocket.Chat/pull/11238) by [@pkgodara](https://github.com/pkgodara)) + - Apps: Add handlers for message updates ([#11993](https://github.com/RocketChat/Rocket.Chat/pull/11993) by [@cardoso](https://github.com/cardoso)) + - Livechat notifications on new incoming inquiries for guest-pool ([#10588](https://github.com/RocketChat/Rocket.Chat/pull/10588) by [@mrsimpson](https://github.com/mrsimpson)) + - Customizable default directory view ([#11965](https://github.com/RocketChat/Rocket.Chat/pull/11965) by [@ohmonster](https://github.com/ohmonster)) + - Blockstack as decentralized auth provider ([#12047](https://github.com/RocketChat/Rocket.Chat/pull/12047) by [@timkinnane](https://github.com/timkinnane)) + - Livechat REST endpoints ([#11900](https://github.com/RocketChat/Rocket.Chat/pull/11900)) + - REST endpoints to get moderators from groups and channels ([#11909](https://github.com/RocketChat/Rocket.Chat/pull/11909)) + - User preference for 24- or 12-hour clock ([#11169](https://github.com/RocketChat/Rocket.Chat/pull/11169) by [@vynmera](https://github.com/vynmera)) + - REST endpoint to set groups' announcement ([#11905](https://github.com/RocketChat/Rocket.Chat/pull/11905)) + - Livechat trigger option to run only once ([#12068](https://github.com/RocketChat/Rocket.Chat/pull/12068) by [@edzluhan](https://github.com/edzluhan)) + - REST endpoints to create roles and assign roles to users ([#11855](https://github.com/RocketChat/Rocket.Chat/pull/11855) by [@aferreira44](https://github.com/aferreira44)) + - Informal German translations ([#9984](https://github.com/RocketChat/Rocket.Chat/pull/9984) by [@mrsimpson](https://github.com/mrsimpson)) + - Apps: API provider ([#11938](https://github.com/RocketChat/Rocket.Chat/pull/11938)) + - Apps are enabled by default now ([#12189](https://github.com/RocketChat/Rocket.Chat/pull/12189)) + - Add Livechat Analytics permission ([#12184](https://github.com/RocketChat/Rocket.Chat/pull/12184)) + - WebDAV Integration (User file provider) ([#11679](https://github.com/RocketChat/Rocket.Chat/pull/11679) by [@karakayasemi](https://github.com/karakayasemi)) ### ๐Ÿš€ Improvements + - Cache livechat get agent trigger call ([#12083](https://github.com/RocketChat/Rocket.Chat/pull/12083)) + - BigBlueButton joinViaHtml5 and video icon on sidebar ([#12107](https://github.com/RocketChat/Rocket.Chat/pull/12107)) + - Use eslint-config package ([#12044](https://github.com/RocketChat/Rocket.Chat/pull/12044)) ### ๐Ÿ› Bug fixes + - Livechat agent joining on pick from guest pool ([#12097](https://github.com/RocketChat/Rocket.Chat/pull/12097) by [@mrsimpson](https://github.com/mrsimpson)) + - Apps: Add missing reactions and actions properties to app message object ([#11780](https://github.com/RocketChat/Rocket.Chat/pull/11780)) + - Broken slack compatible webhook ([#11742](https://github.com/RocketChat/Rocket.Chat/pull/11742)) + - Changing Mentions.userMentionRegex pattern to include
tag ([#12043](https://github.com/RocketChat/Rocket.Chat/pull/12043) by [@rssilva](https://github.com/rssilva)) + - Double output of message actions ([#11902](https://github.com/RocketChat/Rocket.Chat/pull/11902) by [@timkinnane](https://github.com/timkinnane)) + - Login error message not obvious if user not activated ([#11785](https://github.com/RocketChat/Rocket.Chat/pull/11785) by [@crazy-max](https://github.com/crazy-max)) + - Adding scroll bar to read receipts modal ([#11919](https://github.com/RocketChat/Rocket.Chat/pull/11919) by [@rssilva](https://github.com/rssilva)) + - Fixing translation on 'yesterday' word when calling timeAgo function ([#11946](https://github.com/RocketChat/Rocket.Chat/pull/11946) by [@rssilva](https://github.com/rssilva)) + - Fixing spacement between tags and words on some labels ([#12018](https://github.com/RocketChat/Rocket.Chat/pull/12018) by [@rssilva](https://github.com/rssilva)) + - video message recording, issue #11651 ([#12031](https://github.com/RocketChat/Rocket.Chat/pull/12031) by [@flaviogrossi](https://github.com/flaviogrossi)) + - Prevent form submission in Files List search ([#11999](https://github.com/RocketChat/Rocket.Chat/pull/11999)) + - Re-add the eye-off icon ([#12079](https://github.com/RocketChat/Rocket.Chat/pull/12079) by [@MIKI785](https://github.com/MIKI785)) + - Internal error when cross-origin with CORS is disabled ([#11953](https://github.com/RocketChat/Rocket.Chat/pull/11953)) + - Message reaction in GraphQL API ([#11967](https://github.com/RocketChat/Rocket.Chat/pull/11967)) + - Direct messages leaking into logs ([#11863](https://github.com/RocketChat/Rocket.Chat/pull/11863) by [@Hudell](https://github.com/Hudell)) + - Wrong build path in install.sh ([#11879](https://github.com/RocketChat/Rocket.Chat/pull/11879)) + - Permission check on joinRoom for private room ([#11857](https://github.com/RocketChat/Rocket.Chat/pull/11857) by [@timkinnane](https://github.com/timkinnane)) + - Close popover on shortcuts and writing ([#11562](https://github.com/RocketChat/Rocket.Chat/pull/11562)) + - Typo in a configuration key for SlackBridge excluded bot names ([#11872](https://github.com/RocketChat/Rocket.Chat/pull/11872) by [@TobiasKappe](https://github.com/TobiasKappe)) + - Real Name on Direct Messages ([#12154](https://github.com/RocketChat/Rocket.Chat/pull/12154)) + - Position of popover component on mobile ([#12038](https://github.com/RocketChat/Rocket.Chat/pull/12038)) + - Duplicate email and auto-join on mentions ([#12168](https://github.com/RocketChat/Rocket.Chat/pull/12168)) + - Horizontal scroll on user info tab ([#12102](https://github.com/RocketChat/Rocket.Chat/pull/12102) by [@rssilva](https://github.com/rssilva)) + - Markdown ampersand escape on links ([#12140](https://github.com/RocketChat/Rocket.Chat/pull/12140) by [@rssilva](https://github.com/rssilva)) + - Saving user preferences ([#12170](https://github.com/RocketChat/Rocket.Chat/pull/12170)) + - Apps being able to see hidden settings ([#12159](https://github.com/RocketChat/Rocket.Chat/pull/12159)) + - Allow user with "bulk-register-user" permission to send invitations ([#12112](https://github.com/RocketChat/Rocket.Chat/pull/12112) by [@mrsimpson](https://github.com/mrsimpson)) + - IRC Federation no longer working ([#11906](https://github.com/RocketChat/Rocket.Chat/pull/11906) by [@Hudell](https://github.com/Hudell)) + - Files list missing from popover menu when owner of room ([#11565](https://github.com/RocketChat/Rocket.Chat/pull/11565)) + - Not able to set per-channel retention policies if no global policy is set for this channel type ([#11927](https://github.com/RocketChat/Rocket.Chat/pull/11927) by [@vynmera](https://github.com/vynmera)) + - app engine verbose log typo ([#12126](https://github.com/RocketChat/Rocket.Chat/pull/12126) by [@williamriancho](https://github.com/williamriancho))
๐Ÿ” Minor changes + - Release 0.69.2 ([#12026](https://github.com/RocketChat/Rocket.Chat/pull/12026) by [@cardoso](https://github.com/cardoso) & [@kaiiiiiiiii](https://github.com/kaiiiiiiiii) & [@timkinnane](https://github.com/timkinnane)) + - LingoHub based on develop ([#11936](https://github.com/RocketChat/Rocket.Chat/pull/11936)) + - Better organize package.json ([#12115](https://github.com/RocketChat/Rocket.Chat/pull/12115)) + - Fix using wrong variable ([#12114](https://github.com/RocketChat/Rocket.Chat/pull/12114)) + - Fix the style lint ([#11991](https://github.com/RocketChat/Rocket.Chat/pull/11991)) + - Merge master into develop & Set version to 0.70.0-develop ([#11921](https://github.com/RocketChat/Rocket.Chat/pull/11921) by [@Hudell](https://github.com/Hudell) & [@c0dzilla](https://github.com/c0dzilla) & [@rndmh3ro](https://github.com/rndmh3ro) & [@ubarsaiyan](https://github.com/ubarsaiyan) & [@vynmera](https://github.com/vynmera)) + - Release 0.69.2 ([#12026](https://github.com/RocketChat/Rocket.Chat/pull/12026) by [@cardoso](https://github.com/cardoso) & [@kaiiiiiiiii](https://github.com/kaiiiiiiiii) & [@timkinnane](https://github.com/timkinnane)) + - Regression: fix message box autogrow ([#12138](https://github.com/RocketChat/Rocket.Chat/pull/12138)) + - Regression: Modal height ([#12122](https://github.com/RocketChat/Rocket.Chat/pull/12122)) + - Fix: Change wording on e2e to make a little more clear ([#12124](https://github.com/RocketChat/Rocket.Chat/pull/12124)) + - Improve: Moved the e2e password request to an alert instead of a popup ([#12172](https://github.com/RocketChat/Rocket.Chat/pull/12172) by [@Hudell](https://github.com/Hudell)) + - New: Option to change E2E key ([#12169](https://github.com/RocketChat/Rocket.Chat/pull/12169) by [@Hudell](https://github.com/Hudell)) + - Improve: Decrypt last message ([#12173](https://github.com/RocketChat/Rocket.Chat/pull/12173)) + - Fix: e2e password visible on always-on alert message. ([#12139](https://github.com/RocketChat/Rocket.Chat/pull/12139) by [@Hudell](https://github.com/Hudell)) + - Improve: Expose apps enable setting at `General > Apps` ([#12196](https://github.com/RocketChat/Rocket.Chat/pull/12196)) + - Fix: Message changing order when been edited with apps enabled ([#12188](https://github.com/RocketChat/Rocket.Chat/pull/12188)) + - Improve: E2E setting description and alert ([#12191](https://github.com/RocketChat/Rocket.Chat/pull/12191)) + - Improve: Do not start E2E Encryption when accessing admin as embedded ([#12192](https://github.com/RocketChat/Rocket.Chat/pull/12192)) + - Fix: Add e2e doc to the alert ([#12187](https://github.com/RocketChat/Rocket.Chat/pull/12187)) + - Improve: Switch e2e doc to target _blank ([#12195](https://github.com/RocketChat/Rocket.Chat/pull/12195)) + - Improve: Rename E2E methods ([#12175](https://github.com/RocketChat/Rocket.Chat/pull/12175) by [@Hudell](https://github.com/Hudell))
@@ -3773,13 +5564,18 @@ ### ๐ŸŽ‰ New features + - Include room name in stream for bots ([#11812](https://github.com/RocketChat/Rocket.Chat/pull/11812) by [@timkinnane](https://github.com/timkinnane)) ### ๐Ÿ› Bug fixes + - Reset password link error if already logged in ([#12022](https://github.com/RocketChat/Rocket.Chat/pull/12022)) + - Apps: setting with 'code' type only saving last line ([#11992](https://github.com/RocketChat/Rocket.Chat/pull/11992) by [@cardoso](https://github.com/cardoso)) + - Update user information not possible by admin if disabled to users ([#11955](https://github.com/RocketChat/Rocket.Chat/pull/11955) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) + - Hidden admin sidenav on embedded layout ([#12025](https://github.com/RocketChat/Rocket.Chat/pull/12025)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜ @@ -3803,9 +5599,13 @@ ### ๐Ÿ› Bug fixes + - Hipchat import was failing when importing messages from a non existent user ([#11892](https://github.com/RocketChat/Rocket.Chat/pull/11892)) + - Hipchat importer was not importing users without emails and uploaded files ([#11910](https://github.com/RocketChat/Rocket.Chat/pull/11910)) + - App updates were not being shown correctly ([#11893](https://github.com/RocketChat/Rocket.Chat/pull/11893)) + - Duplicated message buttons ([#11853](https://github.com/RocketChat/Rocket.Chat/pull/11853) by [@ubarsaiyan](https://github.com/ubarsaiyan)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜ @@ -3825,81 +5625,147 @@ ### ๐ŸŽ‰ New features + - Beta support for Big Blue Button video conferencing system ([#11837](https://github.com/RocketChat/Rocket.Chat/pull/11837)) + - Slackbridge: send attachment notifications ([#10269](https://github.com/RocketChat/Rocket.Chat/pull/10269) by [@Hudell](https://github.com/Hudell) & [@kable-wilmoth](https://github.com/kable-wilmoth)) + - Personal access tokens for users to create API tokens ([#11638](https://github.com/RocketChat/Rocket.Chat/pull/11638)) + - REST endpoint to manage server assets ([#11697](https://github.com/RocketChat/Rocket.Chat/pull/11697)) + - Setting to enable/disable slack bridge reactions ([#10217](https://github.com/RocketChat/Rocket.Chat/pull/10217) by [@Hudell](https://github.com/Hudell) & [@kable-wilmoth](https://github.com/kable-wilmoth)) + - Rich message text and image buttons ([#11473](https://github.com/RocketChat/Rocket.Chat/pull/11473) by [@ubarsaiyan](https://github.com/ubarsaiyan)) + - Setting to block unauthenticated access to avatars ([#9749](https://github.com/RocketChat/Rocket.Chat/pull/9749) by [@Hudell](https://github.com/Hudell)) + - Setting to set a JS/CSS CDN ([#11779](https://github.com/RocketChat/Rocket.Chat/pull/11779)) + - Make font of unread items bolder for better contrast ([#8602](https://github.com/RocketChat/Rocket.Chat/pull/8602) by [@ausminternet](https://github.com/ausminternet)) + - Internal marketplace for apps ([#11864](https://github.com/RocketChat/Rocket.Chat/pull/11864) by [@gdelavald](https://github.com/gdelavald) & [@rssilva](https://github.com/rssilva)) ### ๐Ÿš€ Improvements + - Start storing Livechat department within rooms ([#11733](https://github.com/RocketChat/Rocket.Chat/pull/11733)) + - Escape parameters before send them to email template ([#11644](https://github.com/RocketChat/Rocket.Chat/pull/11644)) + - Warn about push settings that need server restart ([#11784](https://github.com/RocketChat/Rocket.Chat/pull/11784)) + - Role tag UI ([#11674](https://github.com/RocketChat/Rocket.Chat/pull/11674) by [@timkinnane](https://github.com/timkinnane)) + - Messagebox fix performance ([#11686](https://github.com/RocketChat/Rocket.Chat/pull/11686)) + - Add template tag #{userdn} to filter LDAP group member format ([#11662](https://github.com/RocketChat/Rocket.Chat/pull/11662) by [@crazy-max](https://github.com/crazy-max)) + - Add nyan rocket on Rocket.Chat preview Docker image ([#11684](https://github.com/RocketChat/Rocket.Chat/pull/11684)) + - Reducing `saveUser` code complexity ([#11645](https://github.com/RocketChat/Rocket.Chat/pull/11645) by [@Hudell](https://github.com/Hudell)) ### ๐Ÿ› Bug fixes + - Delete removed user's subscriptions ([#10700](https://github.com/RocketChat/Rocket.Chat/pull/10700) by [@Hudell](https://github.com/Hudell)) + - LiveChat switch department not working ([#11011](https://github.com/RocketChat/Rocket.Chat/pull/11011)) + - Some assets were pointing to nonexistent path ([#11796](https://github.com/RocketChat/Rocket.Chat/pull/11796)) + - Revoked `view-d-room` permission logics ([#11522](https://github.com/RocketChat/Rocket.Chat/pull/11522) by [@Hudell](https://github.com/Hudell)) + - REST `im.members` endpoint not working without sort parameter ([#11821](https://github.com/RocketChat/Rocket.Chat/pull/11821)) + - Livechat rooms starting with two unread message counter ([#11834](https://github.com/RocketChat/Rocket.Chat/pull/11834)) + - Results pagination on /directory REST endpoint ([#11551](https://github.com/RocketChat/Rocket.Chat/pull/11551)) + - re-adding margin to menu icon on header ([#11778](https://github.com/RocketChat/Rocket.Chat/pull/11778) by [@rssilva](https://github.com/rssilva)) + - minor fixes in hungarian i18n ([#11797](https://github.com/RocketChat/Rocket.Chat/pull/11797) by [@Atisom](https://github.com/Atisom)) + - permissions name no break ([#11836](https://github.com/RocketChat/Rocket.Chat/pull/11836)) + - Searching by `undefined` via REST when using `query` param ([#11657](https://github.com/RocketChat/Rocket.Chat/pull/11657)) + - Fix permalink of message when running system with subdir ([#11781](https://github.com/RocketChat/Rocket.Chat/pull/11781) by [@ura14h](https://github.com/ura14h)) + - Fix links in `onTableItemClick` of the directroy page ([#11543](https://github.com/RocketChat/Rocket.Chat/pull/11543) by [@ura14h](https://github.com/ura14h)) + - App's i18nAlert is only being displayed as "i18nAlert" ([#11802](https://github.com/RocketChat/Rocket.Chat/pull/11802)) + - Removed hardcoded values. ([#11627](https://github.com/RocketChat/Rocket.Chat/pull/11627) by [@Hudell](https://github.com/Hudell)) + - SAML is flooding logfile ([#11643](https://github.com/RocketChat/Rocket.Chat/pull/11643) by [@Hudell](https://github.com/Hudell)) + - directory search table not clickable lines ([#11809](https://github.com/RocketChat/Rocket.Chat/pull/11809)) + - REST endpoints to update user not respecting some settings ([#11474](https://github.com/RocketChat/Rocket.Chat/pull/11474)) + - Apply Cordova fix in lazy-loaded images sources ([#11807](https://github.com/RocketChat/Rocket.Chat/pull/11807)) + - Cannot set property 'input' of undefined ([#11775](https://github.com/RocketChat/Rocket.Chat/pull/11775)) + - Missing twitter:image and og:image tags ([#11687](https://github.com/RocketChat/Rocket.Chat/pull/11687)) + - Return room ID for groups where user joined ([#11703](https://github.com/RocketChat/Rocket.Chat/pull/11703) by [@timkinnane](https://github.com/timkinnane)) + - "User is typing" not working in new Livechat session ([#11670](https://github.com/RocketChat/Rocket.Chat/pull/11670)) + - wrong create date of channels and users on directory view ([#11682](https://github.com/RocketChat/Rocket.Chat/pull/11682) by [@gsperezb](https://github.com/gsperezb)) + - Escape meta data before inject in head tag ([#11730](https://github.com/RocketChat/Rocket.Chat/pull/11730)) + - minor fixes in i18n ([#11761](https://github.com/RocketChat/Rocket.Chat/pull/11761) by [@Atisom](https://github.com/Atisom)) + - Code tag duplicating characters ([#11467](https://github.com/RocketChat/Rocket.Chat/pull/11467) by [@vynmera](https://github.com/vynmera)) + - Custom sound uploader not working in Firefox and IE ([#11139](https://github.com/RocketChat/Rocket.Chat/pull/11139) by [@vynmera](https://github.com/vynmera)) + - Fixing timeAgo function on directory ([#11728](https://github.com/RocketChat/Rocket.Chat/pull/11728) by [@rssilva](https://github.com/rssilva)) + - Render Attachment Pretext When Markdown Specified ([#11578](https://github.com/RocketChat/Rocket.Chat/pull/11578) by [@glstewart17](https://github.com/glstewart17)) + - Message attachments was not respecting sort and lost spacing ([#11740](https://github.com/RocketChat/Rocket.Chat/pull/11740)) + - Closed connections being storing on db ([#11709](https://github.com/RocketChat/Rocket.Chat/pull/11709)) + - Login logo now centered on small screens ([#11626](https://github.com/RocketChat/Rocket.Chat/pull/11626) by [@wreiske](https://github.com/wreiske)) + - Push notifications stuck after db failure ([#11667](https://github.com/RocketChat/Rocket.Chat/pull/11667)) + - Translations were not unique per app allowing conflicts among apps ([#11878](https://github.com/RocketChat/Rocket.Chat/pull/11878))
๐Ÿ” Minor changes + - Release 0.68.5 ([#11852](https://github.com/RocketChat/Rocket.Chat/pull/11852)) + - Release 0.68.5 ([#11852](https://github.com/RocketChat/Rocket.Chat/pull/11852)) + - Fixed deutsch message pruning translations ([#11691](https://github.com/RocketChat/Rocket.Chat/pull/11691) by [@TheReal1604](https://github.com/TheReal1604)) + - Fixed the Finnish translation and removed some profanities ([#11794](https://github.com/RocketChat/Rocket.Chat/pull/11794) by [@jukper](https://github.com/jukper)) + - LingoHub based on develop ([#11838](https://github.com/RocketChat/Rocket.Chat/pull/11838)) + - Regression: Fix livechat code issues after new lint rules ([#11814](https://github.com/RocketChat/Rocket.Chat/pull/11814)) + - Do not remove package-lock.json of livechat package ([#11816](https://github.com/RocketChat/Rocket.Chat/pull/11816)) + - Run eslint and unit tests on pre-push hook ([#11815](https://github.com/RocketChat/Rocket.Chat/pull/11815)) + - Additional eslint rules ([#11804](https://github.com/RocketChat/Rocket.Chat/pull/11804)) + - Add new eslint rules (automatically fixed) ([#11800](https://github.com/RocketChat/Rocket.Chat/pull/11800)) + - Merge master into develop & Set version to 0.69.0-develop ([#11606](https://github.com/RocketChat/Rocket.Chat/pull/11606)) + - App engine merge ([#11835](https://github.com/RocketChat/Rocket.Chat/pull/11835)) + - Regression: role tag background, unread item font and message box autogrow ([#11861](https://github.com/RocketChat/Rocket.Chat/pull/11861))
@@ -3944,6 +5810,7 @@ ### ๐Ÿ› Bug fixes + - Livechat open room method ([#11830](https://github.com/RocketChat/Rocket.Chat/pull/11830)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -3959,8 +5826,11 @@ ### ๐Ÿ› Bug fixes + - Default server language not being applied ([#11719](https://github.com/RocketChat/Rocket.Chat/pull/11719)) + - Broken logo on setup wizard ([#11708](https://github.com/RocketChat/Rocket.Chat/pull/11708)) + - Regression in prune by user, and update lastMessage ([#11646](https://github.com/RocketChat/Rocket.Chat/pull/11646) by [@vynmera](https://github.com/vynmera)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜ @@ -3981,15 +5851,21 @@ ### ๐Ÿ› Bug fixes + - Missing chat history for users without permission `preview-c-room` ([#11639](https://github.com/RocketChat/Rocket.Chat/pull/11639) by [@Hudell](https://github.com/Hudell)) + - User info APIs not returning customFields correctly ([#11625](https://github.com/RocketChat/Rocket.Chat/pull/11625)) + - Prune translations in German ([#11631](https://github.com/RocketChat/Rocket.Chat/pull/11631) by [@rndmh3ro](https://github.com/rndmh3ro)) + - Prune translation on room info panel ([#11635](https://github.com/RocketChat/Rocket.Chat/pull/11635)) + - SAML login not working when user has multiple emails ([#11642](https://github.com/RocketChat/Rocket.Chat/pull/11642) by [@Hudell](https://github.com/Hudell))
๐Ÿ” Minor changes + - Release 0.68.3 ([#11650](https://github.com/RocketChat/Rocket.Chat/pull/11650) by [@Hudell](https://github.com/Hudell) & [@rndmh3ro](https://github.com/rndmh3ro))
@@ -4013,11 +5889,13 @@ ### ๐Ÿ› Bug fixes + - Incorrect migration version in v130.js ([#11544](https://github.com/RocketChat/Rocket.Chat/pull/11544) by [@c0dzilla](https://github.com/c0dzilla))
๐Ÿ” Minor changes + - Release 0.68.2 ([#11630](https://github.com/RocketChat/Rocket.Chat/pull/11630) by [@c0dzilla](https://github.com/c0dzilla))
@@ -4039,12 +5917,15 @@ ### ๐Ÿ› Bug fixes + - `Jump to message` search result action ([#11613](https://github.com/RocketChat/Rocket.Chat/pull/11613)) + - HipChat importer wasnโ€™t compatible with latest exports ([#11597](https://github.com/RocketChat/Rocket.Chat/pull/11597))
๐Ÿ” Minor changes + - Release 0.68.1 ([#11616](https://github.com/RocketChat/Rocket.Chat/pull/11616))
@@ -4065,69 +5946,120 @@ ### โš ๏ธ BREAKING CHANGES + - Remove deprecated /user.roles endpoint ([#11493](https://github.com/RocketChat/Rocket.Chat/pull/11493)) + - Update GraphQL dependencies ([#11430](https://github.com/RocketChat/Rocket.Chat/pull/11430)) ### ๐ŸŽ‰ New features + - Setting to disable 2FA globally ([#11328](https://github.com/RocketChat/Rocket.Chat/pull/11328) by [@Hudell](https://github.com/Hudell)) + - Add /users.deleteOwnAccount REST endpoint to an user delete his own account ([#11488](https://github.com/RocketChat/Rocket.Chat/pull/11488)) + - Add /roles.list REST endpoint to retrieve all server roles ([#11500](https://github.com/RocketChat/Rocket.Chat/pull/11500)) + - Message retention policy and pruning ([#11236](https://github.com/RocketChat/Rocket.Chat/pull/11236) by [@vynmera](https://github.com/vynmera)) + - Send user status to client ([#11303](https://github.com/RocketChat/Rocket.Chat/pull/11303) by [@HappyTobi](https://github.com/HappyTobi)) + - Room files search form ([#11486](https://github.com/RocketChat/Rocket.Chat/pull/11486)) + - search only default tone emoji Popup search ([#10017](https://github.com/RocketChat/Rocket.Chat/pull/10017) by [@Joe-mcgee](https://github.com/Joe-mcgee)) + - Privacy for custom user fields ([#11332](https://github.com/RocketChat/Rocket.Chat/pull/11332) by [@vynmera](https://github.com/vynmera)) + - Replaced old logo with the new ones ([#11491](https://github.com/RocketChat/Rocket.Chat/pull/11491)) + - Sorting channels by number of users in directory ([#9972](https://github.com/RocketChat/Rocket.Chat/pull/9972) by [@arungalva](https://github.com/arungalva)) + - Make WebRTC not enabled by default ([#11489](https://github.com/RocketChat/Rocket.Chat/pull/11489)) + - Accept resumeToken as query param to log in ([#11443](https://github.com/RocketChat/Rocket.Chat/pull/11443)) + - Livechat File Upload ([#10514](https://github.com/RocketChat/Rocket.Chat/pull/10514)) ### ๐Ÿš€ Improvements + - Set default max upload size to 100mb ([#11327](https://github.com/RocketChat/Rocket.Chat/pull/11327) by [@cardoso](https://github.com/cardoso)) + - Typing indicators now use Real Names ([#11164](https://github.com/RocketChat/Rocket.Chat/pull/11164) by [@vynmera](https://github.com/vynmera)) + - Allow markdown in room topic, announcement, and description including single quotes ([#11408](https://github.com/RocketChat/Rocket.Chat/pull/11408)) ### ๐Ÿ› Bug fixes + - New favicons size too small ([#11524](https://github.com/RocketChat/Rocket.Chat/pull/11524)) + - Render reply preview with message as a common message ([#11534](https://github.com/RocketChat/Rocket.Chat/pull/11534)) + - Unreads counter for new rooms on /channels.counters REST endpoint ([#11531](https://github.com/RocketChat/Rocket.Chat/pull/11531)) + - Marked parser breaking announcements and mentions at the start of messages ([#11357](https://github.com/RocketChat/Rocket.Chat/pull/11357) by [@vynmera](https://github.com/vynmera)) + - Send Livechat back to Guest Pool ([#10731](https://github.com/RocketChat/Rocket.Chat/pull/10731)) + - Add customFields property to /me REST endpoint response ([#11496](https://github.com/RocketChat/Rocket.Chat/pull/11496)) + - Invalid permalink URLs for Direct Messages ([#11507](https://github.com/RocketChat/Rocket.Chat/pull/11507) by [@Hudell](https://github.com/Hudell)) + - Unlimited upload file size not working ([#11471](https://github.com/RocketChat/Rocket.Chat/pull/11471) by [@Hudell](https://github.com/Hudell)) + - Mixed case channel slugs ([#9449](https://github.com/RocketChat/Rocket.Chat/pull/9449) by [@soundstorm](https://github.com/soundstorm)) + - SAML issues ([#11135](https://github.com/RocketChat/Rocket.Chat/pull/11135) by [@Hudell](https://github.com/Hudell) & [@arminfelder](https://github.com/arminfelder)) + - Loading and setting fixes for i18n and RTL ([#11363](https://github.com/RocketChat/Rocket.Chat/pull/11363)) + - Check for channels property on message object before parsing mentions ([#11527](https://github.com/RocketChat/Rocket.Chat/pull/11527)) + - empty blockquote ([#11526](https://github.com/RocketChat/Rocket.Chat/pull/11526)) + - Snap font issue for sharp ([#11514](https://github.com/RocketChat/Rocket.Chat/pull/11514)) + - RocketChat.settings.get causing memory leak (sometimes) ([#11487](https://github.com/RocketChat/Rocket.Chat/pull/11487)) + - Refinements in message popup mentions ([#11441](https://github.com/RocketChat/Rocket.Chat/pull/11441)) + - Decrease room leader bar z-index ([#11450](https://github.com/RocketChat/Rocket.Chat/pull/11450)) + - Remove title attribute from sidebar items ([#11298](https://github.com/RocketChat/Rocket.Chat/pull/11298)) + - Only escape HTML from details in toast error messages ([#11459](https://github.com/RocketChat/Rocket.Chat/pull/11459)) + - broadcast channel reply ([#11462](https://github.com/RocketChat/Rocket.Chat/pull/11462)) + - Fixed svg for older chrome browsers bug #11414 ([#11416](https://github.com/RocketChat/Rocket.Chat/pull/11416) by [@tpDBL](https://github.com/tpDBL)) + - Wrap custom fields in user profile to new line ([#10119](https://github.com/RocketChat/Rocket.Chat/pull/10119) by [@PhpXp](https://github.com/PhpXp) & [@karlprieb](https://github.com/karlprieb)) + - Record popup ([#11349](https://github.com/RocketChat/Rocket.Chat/pull/11349))
๐Ÿ” Minor changes + - Revert: Mixed case channel slugs #9449 ([#11537](https://github.com/RocketChat/Rocket.Chat/pull/11537)) + - Merge master into develop & Set version to 0.68.0-develop ([#11536](https://github.com/RocketChat/Rocket.Chat/pull/11536)) + - Regression: Add missing LiveChat permission to allow removing closed rooms ([#11423](https://github.com/RocketChat/Rocket.Chat/pull/11423)) + - Update release issue template to use Houston CLI ([#11499](https://github.com/RocketChat/Rocket.Chat/pull/11499)) + - Regression: Remove safe area margins from logos ([#11508](https://github.com/RocketChat/Rocket.Chat/pull/11508)) + - Regression: Update cachedCollection version ([#11561](https://github.com/RocketChat/Rocket.Chat/pull/11561)) + - Regression: nonReactive to nonreactive ([#11550](https://github.com/RocketChat/Rocket.Chat/pull/11550)) + - LingoHub based on develop ([#11587](https://github.com/RocketChat/Rocket.Chat/pull/11587)) + - Regression: Make message popup user mentions reactive again ([#11567](https://github.com/RocketChat/Rocket.Chat/pull/11567)) + - Regression: Fix purge message's translations ([#11590](https://github.com/RocketChat/Rocket.Chat/pull/11590))
@@ -4168,32 +6100,46 @@ ### โš ๏ธ BREAKING CHANGES + - Remove cache layer and internal calculated property `room.usernames` ([#10749](https://github.com/RocketChat/Rocket.Chat/pull/10749)) ### ๐ŸŽ‰ New features + - Additional Livechat iFrame API's ([#10918](https://github.com/RocketChat/Rocket.Chat/pull/10918)) ### ๐Ÿš€ Improvements + - Stop sort callbacks on run ([#11330](https://github.com/RocketChat/Rocket.Chat/pull/11330)) ### ๐Ÿ› Bug fixes + - sort fname sidenav ([#11358](https://github.com/RocketChat/Rocket.Chat/pull/11358)) + - SVG icons code ([#11319](https://github.com/RocketChat/Rocket.Chat/pull/11319)) + - Message popup responsiveness in slash commands ([#11313](https://github.com/RocketChat/Rocket.Chat/pull/11313)) + - web app manifest errors as reported by Chrome DevTools ([#9991](https://github.com/RocketChat/Rocket.Chat/pull/9991) by [@justinribeiro](https://github.com/justinribeiro)) + - Message attachment's fields with different sizes ([#11342](https://github.com/RocketChat/Rocket.Chat/pull/11342)) + - Parse inline code without space before initial backtick ([#9754](https://github.com/RocketChat/Rocket.Chat/pull/9754) by [@c0dzilla](https://github.com/c0dzilla) & [@gdelavald](https://github.com/gdelavald))
๐Ÿ” Minor changes + - Fix dependency issue in redhat image ([#11497](https://github.com/RocketChat/Rocket.Chat/pull/11497)) + - Merge master into develop & Set version to 0.67.0-develop ([#11417](https://github.com/RocketChat/Rocket.Chat/pull/11417)) + - Merge master into develop & Set version to 0.67.0-develop ([#11399](https://github.com/RocketChat/Rocket.Chat/pull/11399)) + - Merge master into develop & Set version to 0.67.0-develop ([#11348](https://github.com/RocketChat/Rocket.Chat/pull/11348) by [@Hudell](https://github.com/Hudell) & [@gdelavald](https://github.com/gdelavald)) + - Merge master into develop & Set version to 0.67.0-develop ([#11290](https://github.com/RocketChat/Rocket.Chat/pull/11290))
@@ -4224,7 +6170,9 @@ ### ๐Ÿ› Bug fixes + - All messages notifications via email were sent as mention alert ([#11398](https://github.com/RocketChat/Rocket.Chat/pull/11398)) + - Livechat taking inquiry leading to 404 page ([#11406](https://github.com/RocketChat/Rocket.Chat/pull/11406)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -4241,13 +6189,17 @@ ### ๐Ÿ› Bug fixes + - Remove file snap store doesn't like ([#11365](https://github.com/RocketChat/Rocket.Chat/pull/11365)) + - Livechat not sending desktop notifications ([#11266](https://github.com/RocketChat/Rocket.Chat/pull/11266))
๐Ÿ” Minor changes + - Send setting Allow_Marketing_Emails to statistics collector ([#11359](https://github.com/RocketChat/Rocket.Chat/pull/11359)) + - Regression: Fix migration 125 checking for settings field ([#11364](https://github.com/RocketChat/Rocket.Chat/pull/11364))
@@ -4268,14 +6220,20 @@ ### ๐Ÿš€ Improvements + - Setup Wizard username validation, step progress and optin/optout ([#11254](https://github.com/RocketChat/Rocket.Chat/pull/11254)) ### ๐Ÿ› Bug fixes + - Some updates were returning errors when based on queries with position operators ([#11335](https://github.com/RocketChat/Rocket.Chat/pull/11335)) + - SAML attributes with periods are not properly read. ([#11315](https://github.com/RocketChat/Rocket.Chat/pull/11315) by [@Hudell](https://github.com/Hudell)) + - Outgoing integrations were stopping the oplog tailing sometimes ([#11333](https://github.com/RocketChat/Rocket.Chat/pull/11333)) + - Livestream muted when audio only option was enabled ([#11267](https://github.com/RocketChat/Rocket.Chat/pull/11267) by [@gdelavald](https://github.com/gdelavald)) + - Notification preferences being lost when switching view mode ([#11295](https://github.com/RocketChat/Rocket.Chat/pull/11295)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜ @@ -4299,147 +6257,276 @@ ### โš ๏ธ BREAKING CHANGES + - Always remove the field `services` from user data responses in REST API ([#10799](https://github.com/RocketChat/Rocket.Chat/pull/10799)) ### ๐ŸŽ‰ New features + - Youtube Broadcasting ([#10127](https://github.com/RocketChat/Rocket.Chat/pull/10127) by [@gdelavald](https://github.com/gdelavald)) + - REST API endpoints `permissions.list` and `permissions.update`. Deprecated endpoint `permissions` ([#10975](https://github.com/RocketChat/Rocket.Chat/pull/10975) by [@vynmera](https://github.com/vynmera)) + - REST API endpoint `channels.setDefault` ([#10941](https://github.com/RocketChat/Rocket.Chat/pull/10941) by [@vynmera](https://github.com/vynmera)) + - Set Document Domain property in IFrame ([#9751](https://github.com/RocketChat/Rocket.Chat/pull/9751) by [@kb0304](https://github.com/kb0304)) + - Custom login wallpapers ([#11025](https://github.com/RocketChat/Rocket.Chat/pull/11025) by [@vynmera](https://github.com/vynmera)) + - Support for dynamic slack and rocket.chat channels ([#10205](https://github.com/RocketChat/Rocket.Chat/pull/10205) by [@Hudell](https://github.com/Hudell) & [@kable-wilmoth](https://github.com/kable-wilmoth)) + - Add prometheus port config ([#11115](https://github.com/RocketChat/Rocket.Chat/pull/11115) by [@brylie](https://github.com/brylie) & [@stuartpb](https://github.com/stuartpb) & [@thaiphv](https://github.com/thaiphv)) + - Button to remove closed LiveChat rooms ([#10301](https://github.com/RocketChat/Rocket.Chat/pull/10301)) + - Update katex to v0.9.0 ([#8402](https://github.com/RocketChat/Rocket.Chat/pull/8402) by [@pitamar](https://github.com/pitamar)) + - WebDAV(Nextcloud/ownCloud) Storage Server Option ([#11027](https://github.com/RocketChat/Rocket.Chat/pull/11027) by [@karakayasemi](https://github.com/karakayasemi)) + - Don't ask me again checkbox on hide room modal ([#10973](https://github.com/RocketChat/Rocket.Chat/pull/10973) by [@karlprieb](https://github.com/karlprieb)) + - Add input to set time for avatar cache control ([#10958](https://github.com/RocketChat/Rocket.Chat/pull/10958)) + - Command /hide to hide channels ([#10727](https://github.com/RocketChat/Rocket.Chat/pull/10727) by [@mikaelmello](https://github.com/mikaelmello)) + - Do not wait method calls response on websocket before next method call ([#11087](https://github.com/RocketChat/Rocket.Chat/pull/11087)) + - Disconnect users from websocket when away from the login screen for 10min ([#11086](https://github.com/RocketChat/Rocket.Chat/pull/11086)) + - Reduce the amount of DDP API calls on login screen ([#11083](https://github.com/RocketChat/Rocket.Chat/pull/11083)) + - Option to trace Methods and Subscription calls ([#11085](https://github.com/RocketChat/Rocket.Chat/pull/11085)) + - Replace variable 'mergeChannels' with 'groupByType'. ([#10954](https://github.com/RocketChat/Rocket.Chat/pull/10954) by [@mikaelmello](https://github.com/mikaelmello)) + - Send LiveChat visitor navigation history as messages ([#10091](https://github.com/RocketChat/Rocket.Chat/pull/10091)) + - Make supplying an AWS access key and secret optional for S3 uploads ([#10673](https://github.com/RocketChat/Rocket.Chat/pull/10673) by [@saplla](https://github.com/saplla)) + - Direct Reply: separate Reply-To email from account username field ([#10988](https://github.com/RocketChat/Rocket.Chat/pull/10988) by [@pkgodara](https://github.com/pkgodara)) + - Changes all 'mergeChannels' to 'groupByType'. ([#10055](https://github.com/RocketChat/Rocket.Chat/pull/10055) by [@mikaelmello](https://github.com/mikaelmello)) + - Update WeDeploy deployment ([#10841](https://github.com/RocketChat/Rocket.Chat/pull/10841) by [@jonnilundy](https://github.com/jonnilundy)) ### ๐Ÿš€ Improvements + - Listing of apps in the admin page ([#11166](https://github.com/RocketChat/Rocket.Chat/pull/11166) by [@gdelavald](https://github.com/gdelavald) & [@karlprieb](https://github.com/karlprieb)) + - UI design for Tables and tabs component on Directory ([#11026](https://github.com/RocketChat/Rocket.Chat/pull/11026) by [@karlprieb](https://github.com/karlprieb)) + - User mentions ([#11001](https://github.com/RocketChat/Rocket.Chat/pull/11001) by [@vynmera](https://github.com/vynmera)) ### ๐Ÿ› Bug fixes + - Wordpress oauth configuration not loading properly ([#11187](https://github.com/RocketChat/Rocket.Chat/pull/11187) by [@Hudell](https://github.com/Hudell)) + - REST API: Add more test cases for `/login` ([#10999](https://github.com/RocketChat/Rocket.Chat/pull/10999)) + - Wrong font-family order ([#11191](https://github.com/RocketChat/Rocket.Chat/pull/11191) by [@Hudell](https://github.com/Hudell) & [@myfonj](https://github.com/myfonj)) + - REST endpoint `users.updateOwnBasicInfo` was not returning errors for invalid names and trying to save custom fields when empty ([#11204](https://github.com/RocketChat/Rocket.Chat/pull/11204)) + - Livechat visitor not being prompted for transcript when himself is closing the chat ([#10767](https://github.com/RocketChat/Rocket.Chat/pull/10767)) + - HipChat Cloud import fails to import rooms ([#11188](https://github.com/RocketChat/Rocket.Chat/pull/11188) by [@Hudell](https://github.com/Hudell)) + - Failure to download user data ([#11190](https://github.com/RocketChat/Rocket.Chat/pull/11190) by [@Hudell](https://github.com/Hudell)) + - Add parameter to REST chat.react endpoint, to make it work like a setter ([#10447](https://github.com/RocketChat/Rocket.Chat/pull/10447)) + - Default selected language ([#11150](https://github.com/RocketChat/Rocket.Chat/pull/11150)) + - Rendering of emails and mentions in messages ([#11165](https://github.com/RocketChat/Rocket.Chat/pull/11165)) + - Livechat icon with status ([#11177](https://github.com/RocketChat/Rocket.Chat/pull/11177)) + - remove sidebar on embedded view ([#11183](https://github.com/RocketChat/Rocket.Chat/pull/11183)) + - Missing language constants ([#11173](https://github.com/RocketChat/Rocket.Chat/pull/11173) by [@rw4lll](https://github.com/rw4lll)) + - Room creation error due absence of subscriptions ([#11178](https://github.com/RocketChat/Rocket.Chat/pull/11178)) + - Remove failed upload messages when switching rooms ([#11132](https://github.com/RocketChat/Rocket.Chat/pull/11132)) + - Wordpress OAuth not providing enough info to log in ([#11152](https://github.com/RocketChat/Rocket.Chat/pull/11152) by [@Hudell](https://github.com/Hudell)) + - /groups.invite not allow a user to invite even with permission ([#11010](https://github.com/RocketChat/Rocket.Chat/pull/11010) by [@Hudell](https://github.com/Hudell)) + - Various lang fixes [RU] ([#10095](https://github.com/RocketChat/Rocket.Chat/pull/10095) by [@rw4lll](https://github.com/rw4lll)) + - set-toolbar-items postMessage ([#11109](https://github.com/RocketChat/Rocket.Chat/pull/11109)) + - title and value attachments are optionals on sendMessage method ([#11021](https://github.com/RocketChat/Rocket.Chat/pull/11021)) + - Some typos in the error message names ([#11136](https://github.com/RocketChat/Rocket.Chat/pull/11136) by [@vynmera](https://github.com/vynmera)) + - open conversation from room info ([#11050](https://github.com/RocketChat/Rocket.Chat/pull/11050)) + - Users model was not receiving options ([#11129](https://github.com/RocketChat/Rocket.Chat/pull/11129)) + - Popover position ([#11113](https://github.com/RocketChat/Rocket.Chat/pull/11113)) + - Generated random password visible to the user ([#11096](https://github.com/RocketChat/Rocket.Chat/pull/11096)) + - LiveChat appearance changes not being saved ([#11111](https://github.com/RocketChat/Rocket.Chat/pull/11111)) + - Confirm password on set new password user profile ([#11095](https://github.com/RocketChat/Rocket.Chat/pull/11095)) + - Message_AllowedMaxSize fails for emoji sequences ([#10431](https://github.com/RocketChat/Rocket.Chat/pull/10431) by [@c0dzilla](https://github.com/c0dzilla)) + - Can't access the `/account/profile` ([#11089](https://github.com/RocketChat/Rocket.Chat/pull/11089)) + - Idle time limit wasnโ€™t working as expected ([#11084](https://github.com/RocketChat/Rocket.Chat/pull/11084)) + - Rooms list sorting by activity multiple re-renders and case sensitive sorting alphabetically ([#9959](https://github.com/RocketChat/Rocket.Chat/pull/9959) by [@JoseRenan](https://github.com/JoseRenan) & [@karlprieb](https://github.com/karlprieb)) + - Notification not working for group mentions and not respecting ignored users ([#11024](https://github.com/RocketChat/Rocket.Chat/pull/11024)) + - Overlapping of search text and cancel search icon (X) ([#10294](https://github.com/RocketChat/Rocket.Chat/pull/10294) by [@taeven](https://github.com/taeven)) + - Link previews not being removed from messages after removed on editing ([#11063](https://github.com/RocketChat/Rocket.Chat/pull/11063)) + - avoid send presence without login ([#11074](https://github.com/RocketChat/Rocket.Chat/pull/11074)) + - Exception in metrics generation ([#11072](https://github.com/RocketChat/Rocket.Chat/pull/11072)) + - Build for Sandstorm missing dependence for capnp ([#11056](https://github.com/RocketChat/Rocket.Chat/pull/11056) by [@peterlee0127](https://github.com/peterlee0127)) + - flex-tab icons missing ([#11049](https://github.com/RocketChat/Rocket.Chat/pull/11049)) + - Update ja.i18n.json ([#11020](https://github.com/RocketChat/Rocket.Chat/pull/11020) by [@Hudell](https://github.com/Hudell) & [@noobbbbb](https://github.com/noobbbbb)) + - Strange msg when setting room announcement, topic or description to be empty ([#11012](https://github.com/RocketChat/Rocket.Chat/pull/11012) by [@vynmera](https://github.com/vynmera)) + - Exception thrown on avatar validation ([#11009](https://github.com/RocketChat/Rocket.Chat/pull/11009) by [@Hudell](https://github.com/Hudell)) + - Preview of large images not resizing to fit the area and having scrollbars ([#10998](https://github.com/RocketChat/Rocket.Chat/pull/10998) by [@vynmera](https://github.com/vynmera)) + - Allow inviting livechat managers to the same LiveChat room ([#10956](https://github.com/RocketChat/Rocket.Chat/pull/10956)) + - Cannot read property 'debug' of undefined when trying to use REST API ([#10805](https://github.com/RocketChat/Rocket.Chat/pull/10805) by [@haffla](https://github.com/haffla)) + - Icons svg xml structure ([#10771](https://github.com/RocketChat/Rocket.Chat/pull/10771) by [@timkinnane](https://github.com/timkinnane)) + - Remove outdated 2FA warning for mobile clients ([#10916](https://github.com/RocketChat/Rocket.Chat/pull/10916) by [@cardoso](https://github.com/cardoso)) + - Update Sandstorm build config ([#10867](https://github.com/RocketChat/Rocket.Chat/pull/10867) by [@ocdtrekkie](https://github.com/ocdtrekkie)) + - "blank messages" on iOS < 11 ([#11221](https://github.com/RocketChat/Rocket.Chat/pull/11221)) + - "blank" screen on iOS < 11 ([#11199](https://github.com/RocketChat/Rocket.Chat/pull/11199)) + - The process was freezing in some cases when HTTP calls exceeds timeout on integrations ([#11253](https://github.com/RocketChat/Rocket.Chat/pull/11253)) + - LDAP was accepting login with empty passwords for certain AD configurations ([#11264](https://github.com/RocketChat/Rocket.Chat/pull/11264)) + - Update capnproto dependence for Sandstorm Build ([#11263](https://github.com/RocketChat/Rocket.Chat/pull/11263) by [@peterlee0127](https://github.com/peterlee0127)) + - Internal Server Error on first login with CAS integration ([#11257](https://github.com/RocketChat/Rocket.Chat/pull/11257) by [@Hudell](https://github.com/Hudell)) + - Armhf snap build ([#11268](https://github.com/RocketChat/Rocket.Chat/pull/11268)) + - Reaction Toggle was not working when omitting the last parameter from the API (DDP and REST) ([#11276](https://github.com/RocketChat/Rocket.Chat/pull/11276) by [@Hudell](https://github.com/Hudell))
๐Ÿ” Minor changes + - Merge master into develop & Set version to 0.66.0-develop ([#11277](https://github.com/RocketChat/Rocket.Chat/pull/11277) by [@Hudell](https://github.com/Hudell) & [@brylie](https://github.com/brylie) & [@stuartpb](https://github.com/stuartpb)) + - Regression: Directory css ([#11206](https://github.com/RocketChat/Rocket.Chat/pull/11206) by [@karlprieb](https://github.com/karlprieb)) + - LingoHub based on develop ([#11208](https://github.com/RocketChat/Rocket.Chat/pull/11208)) + - IRC Federation: RFC2813 implementation (ngIRCd) ([#10113](https://github.com/RocketChat/Rocket.Chat/pull/10113) by [@Hudell](https://github.com/Hudell) & [@cpitman](https://github.com/cpitman) & [@lindoelio](https://github.com/lindoelio)) + - Add verification to make sure the user exists in REST insert object helper ([#11008](https://github.com/RocketChat/Rocket.Chat/pull/11008)) + - Regression: Directory user table infinite scroll doesn't working ([#11200](https://github.com/RocketChat/Rocket.Chat/pull/11200) by [@karlprieb](https://github.com/karlprieb)) + - [FIX Readme] Nodejs + Python version spicifications ([#11181](https://github.com/RocketChat/Rocket.Chat/pull/11181) by [@mahdiyari](https://github.com/mahdiyari)) + - Regression: sorting direct message by asc on favorites group ([#11090](https://github.com/RocketChat/Rocket.Chat/pull/11090)) + - Fix PR Docker image creation by splitting in two build jobs ([#11107](https://github.com/RocketChat/Rocket.Chat/pull/11107)) + - Update v126.js ([#11103](https://github.com/RocketChat/Rocket.Chat/pull/11103)) + - Speed up the build time by removing JSON Minify from i18n package ([#11097](https://github.com/RocketChat/Rocket.Chat/pull/11097)) + - Fix Docker image for develop commits ([#11093](https://github.com/RocketChat/Rocket.Chat/pull/11093)) + - Build Docker image on CI ([#11076](https://github.com/RocketChat/Rocket.Chat/pull/11076)) + - Update issue templates ([#11070](https://github.com/RocketChat/Rocket.Chat/pull/11070)) + - LingoHub based on develop ([#11062](https://github.com/RocketChat/Rocket.Chat/pull/11062)) + - LingoHub based on develop ([#11054](https://github.com/RocketChat/Rocket.Chat/pull/11054)) + - LingoHub based on develop ([#11053](https://github.com/RocketChat/Rocket.Chat/pull/11053)) + - LingoHub based on develop ([#11051](https://github.com/RocketChat/Rocket.Chat/pull/11051)) + - LingoHub based on develop ([#11045](https://github.com/RocketChat/Rocket.Chat/pull/11045)) + - LingoHub based on develop ([#11044](https://github.com/RocketChat/Rocket.Chat/pull/11044)) + - LingoHub based on develop ([#11043](https://github.com/RocketChat/Rocket.Chat/pull/11043)) + - LingoHub based on develop ([#11042](https://github.com/RocketChat/Rocket.Chat/pull/11042)) + - Changed 'confirm password' placeholder text on user registration form ([#9969](https://github.com/RocketChat/Rocket.Chat/pull/9969) by [@kumarnitj](https://github.com/kumarnitj)) + - LingoHub based on develop ([#11039](https://github.com/RocketChat/Rocket.Chat/pull/11039)) + - LingoHub based on develop ([#11035](https://github.com/RocketChat/Rocket.Chat/pull/11035)) + - Update Documentation: README.md ([#10207](https://github.com/RocketChat/Rocket.Chat/pull/10207) by [@rakhi2104](https://github.com/rakhi2104)) + - NPM Dependencies Update ([#10913](https://github.com/RocketChat/Rocket.Chat/pull/10913)) + - update meteor to 1.6.1 for sandstorm build ([#10131](https://github.com/RocketChat/Rocket.Chat/pull/10131) by [@peterlee0127](https://github.com/peterlee0127)) + - Renaming username.username to username.value for clarity ([#10986](https://github.com/RocketChat/Rocket.Chat/pull/10986)) + - Fix readme typo ([#5](https://github.com/RocketChat/Rocket.Chat/pull/5) by [@filipealva](https://github.com/filipealva)) + - Remove wrong and not needed time unit ([#10807](https://github.com/RocketChat/Rocket.Chat/pull/10807) by [@cliffparnitzky](https://github.com/cliffparnitzky)) + - Develop sync commits ([#10909](https://github.com/RocketChat/Rocket.Chat/pull/10909) by [@nsuchy](https://github.com/nsuchy) & [@rafaelks](https://github.com/rafaelks)) + - Develop sync2 ([#10908](https://github.com/RocketChat/Rocket.Chat/pull/10908) by [@nsuchy](https://github.com/nsuchy) & [@rafaelks](https://github.com/rafaelks)) + - Merge master into develop & Set version to 0.66.0-develop ([#10903](https://github.com/RocketChat/Rocket.Chat/pull/10903) by [@nsuchy](https://github.com/nsuchy) & [@rafaelks](https://github.com/rafaelks)) + - Regression: Fix directory table loading ([#11223](https://github.com/RocketChat/Rocket.Chat/pull/11223) by [@karlprieb](https://github.com/karlprieb)) + - Regression: Fix latest and release-candidate docker images building ([#11215](https://github.com/RocketChat/Rocket.Chat/pull/11215)) + - Regression: check username or usersCount on browseChannels ([#11216](https://github.com/RocketChat/Rocket.Chat/pull/11216)) + - Regression: Sending message with a mention is not showing to sender ([#11211](https://github.com/RocketChat/Rocket.Chat/pull/11211)) + - Regression: Prometheus was not being enabled in some cases ([#11249](https://github.com/RocketChat/Rocket.Chat/pull/11249)) + - Regression: Skip operations if no actions on livechat migration ([#11232](https://github.com/RocketChat/Rocket.Chat/pull/11232)) + - Regression: Directory sort users, fix null results, text for empty results ([#11224](https://github.com/RocketChat/Rocket.Chat/pull/11224)) + - LingoHub based on develop ([#11246](https://github.com/RocketChat/Rocket.Chat/pull/11246)) + - Update Meteor to 1.6.1.3 ([#11247](https://github.com/RocketChat/Rocket.Chat/pull/11247)) + - New history source format & add Node and NPM versions ([#11237](https://github.com/RocketChat/Rocket.Chat/pull/11237)) + - Add Dockerfile with MongoDB ([#10971](https://github.com/RocketChat/Rocket.Chat/pull/10971)) + - Regression: sidebar sorting was being wrong in some cases where the rooms records were returned before the subscriptions ([#11273](https://github.com/RocketChat/Rocket.Chat/pull/11273)) + - Fix Docker image build on tags ([#11271](https://github.com/RocketChat/Rocket.Chat/pull/11271))
@@ -4504,11 +6591,13 @@ ### ๐Ÿ› Bug fixes + - i18n - add semantic markup ([#9534](https://github.com/RocketChat/Rocket.Chat/pull/9534) by [@brylie](https://github.com/brylie))
๐Ÿ” Minor changes + - Release 0.65.1 ([#10947](https://github.com/RocketChat/Rocket.Chat/pull/10947))
@@ -4532,10 +6621,15 @@ ### ๐Ÿ› Bug fixes + - Livechat not loading ([#10940](https://github.com/RocketChat/Rocket.Chat/pull/10940)) + - Application crashing on startup when trying to log errors to `exceptions` channel ([#10934](https://github.com/RocketChat/Rocket.Chat/pull/10934)) + - Incomplete email notification link ([#10928](https://github.com/RocketChat/Rocket.Chat/pull/10928)) + - Image lazy load was breaking attachments ([#10904](https://github.com/RocketChat/Rocket.Chat/pull/10904)) + - Leave room wasn't working as expected ([#10851](https://github.com/RocketChat/Rocket.Chat/pull/10851)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -4553,56 +6647,100 @@ ### ๐ŸŽ‰ New features + - Implement a local password policy ([#9857](https://github.com/RocketChat/Rocket.Chat/pull/9857)) + - Options to enable/disable each Livechat registration form field ([#10584](https://github.com/RocketChat/Rocket.Chat/pull/10584)) + - Return the result of the `/me` endpoint within the result of the `/login` endpoint ([#10677](https://github.com/RocketChat/Rocket.Chat/pull/10677)) + - Lazy load image attachments ([#10608](https://github.com/RocketChat/Rocket.Chat/pull/10608) by [@karlprieb](https://github.com/karlprieb)) + - View pinned message's attachment ([#10214](https://github.com/RocketChat/Rocket.Chat/pull/10214) by [@c0dzilla](https://github.com/c0dzilla) & [@karlprieb](https://github.com/karlprieb)) + - Add REST API endpoint `users.getUsernameSuggestion` to get username suggestion ([#10702](https://github.com/RocketChat/Rocket.Chat/pull/10702)) + - REST API endpoint `settings` now allow set colors and trigger actions ([#10488](https://github.com/RocketChat/Rocket.Chat/pull/10488) by [@ThomasRoehl](https://github.com/ThomasRoehl)) + - Add REST endpoint `subscriptions.unread` to mark messages as unread ([#10778](https://github.com/RocketChat/Rocket.Chat/pull/10778)) + - REST API endpoint `/me` now returns all the settings, including the default values ([#10662](https://github.com/RocketChat/Rocket.Chat/pull/10662)) + - Now is possible to access files using header authorization (`x-user-id` and `x-auth-token`) ([#10741](https://github.com/RocketChat/Rocket.Chat/pull/10741)) + - Add REST API endpoints `channels.counters`, `groups.counters and `im.counters` ([#9679](https://github.com/RocketChat/Rocket.Chat/pull/9679) by [@xbolshe](https://github.com/xbolshe)) + - Add REST API endpoints `channels.setCustomFields` and `groups.setCustomFields` ([#9733](https://github.com/RocketChat/Rocket.Chat/pull/9733) by [@xbolshe](https://github.com/xbolshe)) + - Add permission `view-broadcast-member-list` ([#10753](https://github.com/RocketChat/Rocket.Chat/pull/10753) by [@cardoso](https://github.com/cardoso)) ### ๐Ÿ› Bug fixes + - Livechat managers were not being able to send messages in some cases ([#10663](https://github.com/RocketChat/Rocket.Chat/pull/10663)) + - Livechat settings not appearing correctly ([#10612](https://github.com/RocketChat/Rocket.Chat/pull/10612)) + - Enabling `Collapse Embedded Media by Default` was hiding replies and quotes ([#10427](https://github.com/RocketChat/Rocket.Chat/pull/10427) by [@c0dzilla](https://github.com/c0dzilla)) + - Missing option to disable/enable System Messages ([#10704](https://github.com/RocketChat/Rocket.Chat/pull/10704)) + - Remove outdated translations of Internal Hubot's description of Scripts to Load that were pointing to a non existent address ([#10448](https://github.com/RocketChat/Rocket.Chat/pull/10448) by [@Hudell](https://github.com/Hudell)) + - UI was not disabling the actions when users has had no permissions to create channels or add users to rooms ([#10564](https://github.com/RocketChat/Rocket.Chat/pull/10564) by [@cfunkles](https://github.com/cfunkles) & [@chuckAtCataworx](https://github.com/chuckAtCataworx)) + - Private settings were not being cleared from client cache in some cases ([#10625](https://github.com/RocketChat/Rocket.Chat/pull/10625) by [@Hudell](https://github.com/Hudell)) + - Internal Error when requesting user data download ([#10837](https://github.com/RocketChat/Rocket.Chat/pull/10837) by [@Hudell](https://github.com/Hudell)) + - Broadcast channels were showing reply button for deleted messages and generating wrong reply links some times ([#10835](https://github.com/RocketChat/Rocket.Chat/pull/10835)) + - User's preference `Unread on Top` wasn't working for LiveChat rooms ([#10734](https://github.com/RocketChat/Rocket.Chat/pull/10734)) + - Cancel button wasn't working while uploading file ([#10715](https://github.com/RocketChat/Rocket.Chat/pull/10715) by [@Mr-Gryphon](https://github.com/Mr-Gryphon) & [@karlprieb](https://github.com/karlprieb)) + - Missing pagination fields in the response of REST /directory endpoint ([#10840](https://github.com/RocketChat/Rocket.Chat/pull/10840)) + - Layout badge cutting on unread messages for long names ([#10846](https://github.com/RocketChat/Rocket.Chat/pull/10846) by [@kos4live](https://github.com/kos4live)) + - Slack-Bridge bug when migrating to 0.64.1 ([#10875](https://github.com/RocketChat/Rocket.Chat/pull/10875)) + - Horizontally align items in preview message ([#10883](https://github.com/RocketChat/Rocket.Chat/pull/10883) by [@gdelavald](https://github.com/gdelavald)) + - The first users was not set as admin some times ([#10878](https://github.com/RocketChat/Rocket.Chat/pull/10878))
๐Ÿ” Minor changes + - Release 0.65.0 ([#10893](https://github.com/RocketChat/Rocket.Chat/pull/10893) by [@Hudell](https://github.com/Hudell) & [@Sameesunkaria](https://github.com/Sameesunkaria) & [@cardoso](https://github.com/cardoso) & [@erhan-](https://github.com/erhan-) & [@gdelavald](https://github.com/gdelavald) & [@karlprieb](https://github.com/karlprieb) & [@peccu](https://github.com/peccu) & [@winterstefan](https://github.com/winterstefan)) + - Apps: Command Previews, Message and Room Removal Events ([#10822](https://github.com/RocketChat/Rocket.Chat/pull/10822)) + - Develop sync ([#10815](https://github.com/RocketChat/Rocket.Chat/pull/10815) by [@nsuchy](https://github.com/nsuchy) & [@rafaelks](https://github.com/rafaelks)) + - Major dependencies update ([#10661](https://github.com/RocketChat/Rocket.Chat/pull/10661)) + - Prevent setup wizard redirects ([#10811](https://github.com/RocketChat/Rocket.Chat/pull/10811)) + - Fix: Regression in REST API endpoint `/me` ([#10833](https://github.com/RocketChat/Rocket.Chat/pull/10833)) + - Regression: Fix email notification preference not showing correct selected value ([#10847](https://github.com/RocketChat/Rocket.Chat/pull/10847)) + - Apps: Command previews are clickable & Apps Framework is controlled via a setting ([#10853](https://github.com/RocketChat/Rocket.Chat/pull/10853)) + - Regression: Make settings `Site_Name` and `Language` public again ([#10848](https://github.com/RocketChat/Rocket.Chat/pull/10848)) + - Fix: Clarify the wording of the release issue template ([#10520](https://github.com/RocketChat/Rocket.Chat/pull/10520)) + - Fix: Regression on users avatar in admin pages ([#10836](https://github.com/RocketChat/Rocket.Chat/pull/10836)) + - Fix: Manage apps layout was a bit confuse ([#10882](https://github.com/RocketChat/Rocket.Chat/pull/10882) by [@gdelavald](https://github.com/gdelavald)) + - LingoHub based on develop ([#10886](https://github.com/RocketChat/Rocket.Chat/pull/10886)) + - Fix: Regression Lazyload fix shuffle avatars ([#10887](https://github.com/RocketChat/Rocket.Chat/pull/10887)) + - Fix: typo on error message for push token API ([#10857](https://github.com/RocketChat/Rocket.Chat/pull/10857) by [@rafaelks](https://github.com/rafaelks))
@@ -4647,67 +6785,122 @@ ### ๐ŸŽ‰ New features + - Add REST endpoints `channels.roles` & `groups.roles` ([#10607](https://github.com/RocketChat/Rocket.Chat/pull/10607) by [@cardoso](https://github.com/cardoso) & [@rafaelks](https://github.com/rafaelks)) + - Add more options for Wordpress OAuth configuration ([#10724](https://github.com/RocketChat/Rocket.Chat/pull/10724) by [@Hudell](https://github.com/Hudell)) + - Setup Wizard ([#10523](https://github.com/RocketChat/Rocket.Chat/pull/10523) by [@karlprieb](https://github.com/karlprieb)) + - Improvements to notifications logic ([#10686](https://github.com/RocketChat/Rocket.Chat/pull/10686)) + - Add REST endpoints `channels.roles` & `groups.roles` ([#10607](https://github.com/RocketChat/Rocket.Chat/pull/10607) by [@cardoso](https://github.com/cardoso) & [@rafaelks](https://github.com/rafaelks)) + - Add more options for Wordpress OAuth configuration ([#10724](https://github.com/RocketChat/Rocket.Chat/pull/10724) by [@Hudell](https://github.com/Hudell)) + - Setup Wizard ([#10523](https://github.com/RocketChat/Rocket.Chat/pull/10523) by [@karlprieb](https://github.com/karlprieb)) + - Improvements to notifications logic ([#10686](https://github.com/RocketChat/Rocket.Chat/pull/10686)) ### ๐Ÿ› Bug fixes + - Not escaping special chars on mentions ([#10793](https://github.com/RocketChat/Rocket.Chat/pull/10793) by [@erhan-](https://github.com/erhan-)) + - Send a message when muted returns inconsistent result in chat.sendMessage ([#10720](https://github.com/RocketChat/Rocket.Chat/pull/10720)) + - Regression: Empty content on announcement modal ([#10733](https://github.com/RocketChat/Rocket.Chat/pull/10733) by [@gdelavald](https://github.com/gdelavald)) + - Missing attachment description when Rocket.Chat Apps were enabled ([#10705](https://github.com/RocketChat/Rocket.Chat/pull/10705) by [@Hudell](https://github.com/Hudell)) + - Improve desktop notification formatting ([#10445](https://github.com/RocketChat/Rocket.Chat/pull/10445) by [@Sameesunkaria](https://github.com/Sameesunkaria)) + - Message box emoji icon was flickering when typing a text ([#10678](https://github.com/RocketChat/Rocket.Chat/pull/10678) by [@gdelavald](https://github.com/gdelavald)) + - Channel owner was being set as muted when creating a read-only channel ([#10665](https://github.com/RocketChat/Rocket.Chat/pull/10665)) + - SAML wasn't working correctly when running multiple instances ([#10681](https://github.com/RocketChat/Rocket.Chat/pull/10681) by [@Hudell](https://github.com/Hudell)) + - Send a message when muted returns inconsistent result in chat.sendMessage ([#10720](https://github.com/RocketChat/Rocket.Chat/pull/10720)) + - Regression: Empty content on announcement modal ([#10733](https://github.com/RocketChat/Rocket.Chat/pull/10733) by [@gdelavald](https://github.com/gdelavald)) + - Missing attachment description when Rocket.Chat Apps were enabled ([#10705](https://github.com/RocketChat/Rocket.Chat/pull/10705) by [@Hudell](https://github.com/Hudell)) + - Improve desktop notification formatting ([#10445](https://github.com/RocketChat/Rocket.Chat/pull/10445) by [@Sameesunkaria](https://github.com/Sameesunkaria)) + - Message box emoji icon was flickering when typing a text ([#10678](https://github.com/RocketChat/Rocket.Chat/pull/10678) by [@gdelavald](https://github.com/gdelavald)) + - Channel owner was being set as muted when creating a read-only channel ([#10665](https://github.com/RocketChat/Rocket.Chat/pull/10665)) + - SAML wasn't working correctly when running multiple instances ([#10681](https://github.com/RocketChat/Rocket.Chat/pull/10681) by [@Hudell](https://github.com/Hudell)) + - Not escaping special chars on mentions ([#10793](https://github.com/RocketChat/Rocket.Chat/pull/10793) by [@erhan-](https://github.com/erhan-))
๐Ÿ” Minor changes + - Release 0.64.2 ([#10812](https://github.com/RocketChat/Rocket.Chat/pull/10812) by [@Hudell](https://github.com/Hudell) & [@Sameesunkaria](https://github.com/Sameesunkaria) & [@cardoso](https://github.com/cardoso) & [@erhan-](https://github.com/erhan-) & [@gdelavald](https://github.com/gdelavald) & [@karlprieb](https://github.com/karlprieb) & [@peccu](https://github.com/peccu) & [@winterstefan](https://github.com/winterstefan)) + - Prometheus: Add metric to track hooks time ([#10798](https://github.com/RocketChat/Rocket.Chat/pull/10798)) + - Regression: Autorun of wizard was not destroyed after completion ([#10802](https://github.com/RocketChat/Rocket.Chat/pull/10802)) + - Prometheus: Fix notification metric ([#10803](https://github.com/RocketChat/Rocket.Chat/pull/10803)) + - Regression: Fix wrong wizard field name ([#10804](https://github.com/RocketChat/Rocket.Chat/pull/10804)) + - Prometheus: Improve metric names ([#10789](https://github.com/RocketChat/Rocket.Chat/pull/10789)) + - Improvement to push notifications on direct messages ([#10788](https://github.com/RocketChat/Rocket.Chat/pull/10788)) + - Better metric for notifications ([#10786](https://github.com/RocketChat/Rocket.Chat/pull/10786)) + - Add badge back to push notifications ([#10779](https://github.com/RocketChat/Rocket.Chat/pull/10779)) + - Wizard improvements ([#10776](https://github.com/RocketChat/Rocket.Chat/pull/10776)) + - Add setting and expose prometheus on port 9100 ([#10766](https://github.com/RocketChat/Rocket.Chat/pull/10766)) + - Regression: Fix notifications for direct messages ([#10760](https://github.com/RocketChat/Rocket.Chat/pull/10760)) + - More improvements on send notifications logic ([#10736](https://github.com/RocketChat/Rocket.Chat/pull/10736)) + - LingoHub based on develop ([#10691](https://github.com/RocketChat/Rocket.Chat/pull/10691)) + - Add `npm run postinstall` into example build script ([#10524](https://github.com/RocketChat/Rocket.Chat/pull/10524) by [@peccu](https://github.com/peccu)) + - Correct links in README file ([#10674](https://github.com/RocketChat/Rocket.Chat/pull/10674) by [@winterstefan](https://github.com/winterstefan)) + - More improvements on send notifications logic ([#10736](https://github.com/RocketChat/Rocket.Chat/pull/10736)) + - LingoHub based on develop ([#10691](https://github.com/RocketChat/Rocket.Chat/pull/10691)) + - Add `npm run postinstall` into example build script ([#10524](https://github.com/RocketChat/Rocket.Chat/pull/10524) by [@peccu](https://github.com/peccu)) + - Correct links in README file ([#10674](https://github.com/RocketChat/Rocket.Chat/pull/10674) by [@winterstefan](https://github.com/winterstefan)) + - Prometheus: Improve metric names ([#10789](https://github.com/RocketChat/Rocket.Chat/pull/10789)) + - Improvement to push notifications on direct messages ([#10788](https://github.com/RocketChat/Rocket.Chat/pull/10788)) + - Better metric for notifications ([#10786](https://github.com/RocketChat/Rocket.Chat/pull/10786)) + - Add badge back to push notifications ([#10779](https://github.com/RocketChat/Rocket.Chat/pull/10779)) + - Wizard improvements ([#10776](https://github.com/RocketChat/Rocket.Chat/pull/10776)) + - Add setting and expose prometheus on port 9100 ([#10766](https://github.com/RocketChat/Rocket.Chat/pull/10766)) + - Regression: Fix notifications for direct messages ([#10760](https://github.com/RocketChat/Rocket.Chat/pull/10760)) + - Prometheus: Add metric to track hooks time ([#10798](https://github.com/RocketChat/Rocket.Chat/pull/10798)) + - Regression: Autorun of wizard was not destroyed after completion ([#10802](https://github.com/RocketChat/Rocket.Chat/pull/10802)) + - Prometheus: Fix notification metric ([#10803](https://github.com/RocketChat/Rocket.Chat/pull/10803)) + - Regression: Fix wrong wizard field name ([#10804](https://github.com/RocketChat/Rocket.Chat/pull/10804))
@@ -4740,19 +6933,26 @@ ### ๐ŸŽ‰ New features + - Store the last sent message to show bellow the room's name by default ([#10597](https://github.com/RocketChat/Rocket.Chat/pull/10597)) ### ๐Ÿ› Bug fixes + - E-mails were hidden some information ([#10615](https://github.com/RocketChat/Rocket.Chat/pull/10615)) + - Regression on 0.64.0 was freezing the application when posting some URLs ([#10627](https://github.com/RocketChat/Rocket.Chat/pull/10627))
๐Ÿ” Minor changes + - Release 0.64.1 ([#10660](https://github.com/RocketChat/Rocket.Chat/pull/10660) by [@saplla](https://github.com/saplla)) + - Support passing extra connection options to the Mongo driver ([#10529](https://github.com/RocketChat/Rocket.Chat/pull/10529) by [@saplla](https://github.com/saplla)) + - Regression: Updating an App on multi-instance servers wasn't working ([#10611](https://github.com/RocketChat/Rocket.Chat/pull/10611)) + - Dependencies update ([#10648](https://github.com/RocketChat/Rocket.Chat/pull/10648))
@@ -4777,110 +6977,205 @@ ### โš ๏ธ BREAKING CHANGES + - Validate incoming message schema ([#9922](https://github.com/RocketChat/Rocket.Chat/pull/9922)) + - The property "settings" is no longer available to regular users via rest api ([#10411](https://github.com/RocketChat/Rocket.Chat/pull/10411)) ### ๐ŸŽ‰ New features + - Option to mute group mentions (@all and @here) ([#10502](https://github.com/RocketChat/Rocket.Chat/pull/10502) by [@Hudell](https://github.com/Hudell)) + - GDPR - Right to access and Data Portability ([#9906](https://github.com/RocketChat/Rocket.Chat/pull/9906) by [@Hudell](https://github.com/Hudell)) + - Broadcast Channels ([#9950](https://github.com/RocketChat/Rocket.Chat/pull/9950)) + - Option to ignore users on channels ([#10517](https://github.com/RocketChat/Rocket.Chat/pull/10517) by [@gdelavald](https://github.com/gdelavald) & [@karlprieb](https://github.com/karlprieb)) + - Search Provider Framework ([#10110](https://github.com/RocketChat/Rocket.Chat/pull/10110) by [@tkurz](https://github.com/tkurz)) + - REST API endpoint `/directory` ([#10442](https://github.com/RocketChat/Rocket.Chat/pull/10442)) + - Body of the payload on an incoming webhook is included on the request object ([#10259](https://github.com/RocketChat/Rocket.Chat/pull/10259) by [@Hudell](https://github.com/Hudell)) + - REST endpoint to recover forgotten password ([#10371](https://github.com/RocketChat/Rocket.Chat/pull/10371)) + - REST endpoint to report messages ([#10354](https://github.com/RocketChat/Rocket.Chat/pull/10354)) + - Livechat setting to customize ended conversation message ([#10108](https://github.com/RocketChat/Rocket.Chat/pull/10108)) + - Twilio MMS support for LiveChat integration ([#7964](https://github.com/RocketChat/Rocket.Chat/pull/7964) by [@t3hchipmunk](https://github.com/t3hchipmunk)) + - REST API endpoint `rooms.favorite` to favorite and unfavorite rooms ([#10342](https://github.com/RocketChat/Rocket.Chat/pull/10342)) + - Add internal API to handle room announcements ([#10396](https://github.com/RocketChat/Rocket.Chat/pull/10396) by [@gdelavald](https://github.com/gdelavald)) + - Add message preview when quoting another message ([#10437](https://github.com/RocketChat/Rocket.Chat/pull/10437) by [@gdelavald](https://github.com/gdelavald)) + - Prevent the browser to autocomplete some setting fields ([#10439](https://github.com/RocketChat/Rocket.Chat/pull/10439) by [@gdelavald](https://github.com/gdelavald)) + - Shows user's real name on autocomplete popup ([#10444](https://github.com/RocketChat/Rocket.Chat/pull/10444) by [@gdelavald](https://github.com/gdelavald)) + - Automatically trigger Redhat registry build when tagging new release ([#10414](https://github.com/RocketChat/Rocket.Chat/pull/10414)) + - Add information regarding Zapier and Bots to the integrations page ([#10574](https://github.com/RocketChat/Rocket.Chat/pull/10574)) ### ๐Ÿ› Bug fixes + - Missing "Administration" menu for users with some administration permissions ([#10551](https://github.com/RocketChat/Rocket.Chat/pull/10551) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) + - Member list search with no results ([#10599](https://github.com/RocketChat/Rocket.Chat/pull/10599)) + - Integrations with room data not having the usernames filled in ([#10576](https://github.com/RocketChat/Rocket.Chat/pull/10576)) + - Add user object to responses in /*.files Rest endpoints ([#10480](https://github.com/RocketChat/Rocket.Chat/pull/10480)) + - Missing user data on files uploaded through the API ([#10473](https://github.com/RocketChat/Rocket.Chat/pull/10473) by [@Hudell](https://github.com/Hudell)) + - Rename method to clean history of messages ([#10498](https://github.com/RocketChat/Rocket.Chat/pull/10498)) + - REST spotlight API wasn't allowing searches with # and @ ([#10410](https://github.com/RocketChat/Rocket.Chat/pull/10410)) + - Dropdown elements were using old styles ([#10482](https://github.com/RocketChat/Rocket.Chat/pull/10482) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) + - Directory sort and column sizes were wrong ([#10403](https://github.com/RocketChat/Rocket.Chat/pull/10403) by [@karlprieb](https://github.com/karlprieb)) + - REST API OAuth services endpoint were missing fields and flag to indicate custom services ([#10299](https://github.com/RocketChat/Rocket.Chat/pull/10299)) + - Error messages weren't been displayed when email verification fails ([#10446](https://github.com/RocketChat/Rocket.Chat/pull/10446) by [@Hudell](https://github.com/Hudell) & [@karlprieb](https://github.com/karlprieb)) + - Wrong column positions in the directory search for users ([#10454](https://github.com/RocketChat/Rocket.Chat/pull/10454) by [@karlprieb](https://github.com/karlprieb) & [@lunaticmonk](https://github.com/lunaticmonk)) + - Custom fields was misaligned in registration form ([#10463](https://github.com/RocketChat/Rocket.Chat/pull/10463) by [@dschuan](https://github.com/dschuan)) + - Unique identifier file not really being unique ([#10341](https://github.com/RocketChat/Rocket.Chat/pull/10341) by [@abernix](https://github.com/abernix)) + - Empty panel after changing a user's username ([#10404](https://github.com/RocketChat/Rocket.Chat/pull/10404) by [@Hudell](https://github.com/Hudell)) + - Russian translation of "False" ([#10418](https://github.com/RocketChat/Rocket.Chat/pull/10418) by [@strangerintheq](https://github.com/strangerintheq)) + - Links being embedded inside of blockquotes ([#10496](https://github.com/RocketChat/Rocket.Chat/pull/10496) by [@gdelavald](https://github.com/gdelavald)) + - The 'channel.messages' REST API Endpoint error ([#10485](https://github.com/RocketChat/Rocket.Chat/pull/10485) by [@rafaelks](https://github.com/rafaelks)) + - Button on user info contextual bar scrolling with the content ([#10358](https://github.com/RocketChat/Rocket.Chat/pull/10358) by [@karlprieb](https://github.com/karlprieb) & [@okaybroda](https://github.com/okaybroda)) + - "Idle Time Limit" using milliseconds instead of seconds ([#9824](https://github.com/RocketChat/Rocket.Chat/pull/9824) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) + - Missing i18n translation key for "Unread" ([#10387](https://github.com/RocketChat/Rocket.Chat/pull/10387) by [@Hudell](https://github.com/Hudell)) + - Owner unable to delete channel or group from APIs ([#9729](https://github.com/RocketChat/Rocket.Chat/pull/9729) by [@c0dzilla](https://github.com/c0dzilla)) + - Livechat translation files being ignored ([#10369](https://github.com/RocketChat/Rocket.Chat/pull/10369)) + - Missing page "not found" ([#6673](https://github.com/RocketChat/Rocket.Chat/pull/6673) by [@Prakharsvnit](https://github.com/Prakharsvnit) & [@karlprieb](https://github.com/karlprieb)) + - "Highlight Words" wasn't working with more than one word ([#10083](https://github.com/RocketChat/Rocket.Chat/pull/10083) by [@gdelavald](https://github.com/gdelavald) & [@nemaniarjun](https://github.com/nemaniarjun)) + - Missing "Administration" menu for user with manage-emoji permission ([#10171](https://github.com/RocketChat/Rocket.Chat/pull/10171) by [@c0dzilla](https://github.com/c0dzilla) & [@karlprieb](https://github.com/karlprieb)) + - Message view mode setting was missing at user's preferences ([#10395](https://github.com/RocketChat/Rocket.Chat/pull/10395) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii) & [@karlprieb](https://github.com/karlprieb)) + - Profile image was not being shown in user's directory search ([#10399](https://github.com/RocketChat/Rocket.Chat/pull/10399) by [@karlprieb](https://github.com/karlprieb) & [@lunaticmonk](https://github.com/lunaticmonk)) + - Wrong positioning of popover when using RTL languages ([#10428](https://github.com/RocketChat/Rocket.Chat/pull/10428) by [@karlprieb](https://github.com/karlprieb)) + - Messages was grouping wrong some times when server is slow ([#10472](https://github.com/RocketChat/Rocket.Chat/pull/10472) by [@gdelavald](https://github.com/gdelavald) & [@karlprieb](https://github.com/karlprieb)) + - GitLab authentication scope was too open, reduced to read only access ([#10225](https://github.com/RocketChat/Rocket.Chat/pull/10225) by [@rafaelks](https://github.com/rafaelks)) + - Renaming agent's username within Livechat's department ([#10344](https://github.com/RocketChat/Rocket.Chat/pull/10344)) + - Missing RocketApps input types ([#10394](https://github.com/RocketChat/Rocket.Chat/pull/10394) by [@karlprieb](https://github.com/karlprieb)) + - Livechat desktop notifications not being displayed ([#10221](https://github.com/RocketChat/Rocket.Chat/pull/10221)) + - Autocomplete list when inviting a user was partial hidden ([#10409](https://github.com/RocketChat/Rocket.Chat/pull/10409) by [@karlprieb](https://github.com/karlprieb)) + - Remove a user from the user's list when creating a new channel removes the wrong user ([#10423](https://github.com/RocketChat/Rocket.Chat/pull/10423) by [@gdelavald](https://github.com/gdelavald) & [@karlprieb](https://github.com/karlprieb)) + - Room's name was cutting instead of having ellipses on sidebar ([#10430](https://github.com/RocketChat/Rocket.Chat/pull/10430)) + - Button to delete rooms by the owners wasn't appearing ([#10438](https://github.com/RocketChat/Rocket.Chat/pull/10438) by [@karlprieb](https://github.com/karlprieb)) + - Updated OpenShift Template to take an Image as a Param ([#9946](https://github.com/RocketChat/Rocket.Chat/pull/9946) by [@christianh814](https://github.com/christianh814)) + - Incoming integrations being able to trigger an empty message with a GET ([#9576](https://github.com/RocketChat/Rocket.Chat/pull/9576)) + - Snaps installations are breaking on avatar requests ([#10390](https://github.com/RocketChat/Rocket.Chat/pull/10390)) + - Wordpress oAuth authentication wasn't behaving correctly ([#10550](https://github.com/RocketChat/Rocket.Chat/pull/10550) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) + - Switch buttons were cutting in RTL mode ([#10558](https://github.com/RocketChat/Rocket.Chat/pull/10558)) + - Stop Firefox announcement overflowing viewport ([#10503](https://github.com/RocketChat/Rocket.Chat/pull/10503) by [@brendangadd](https://github.com/brendangadd))
๐Ÿ” Minor changes + - Release 0.64.0 ([#10613](https://github.com/RocketChat/Rocket.Chat/pull/10613) by [@TwizzyDizzy](https://github.com/TwizzyDizzy) & [@christianh814](https://github.com/christianh814) & [@gdelavald](https://github.com/gdelavald) & [@tttt-conan](https://github.com/tttt-conan)) + - Regression: Various search provider fixes ([#10591](https://github.com/RocketChat/Rocket.Chat/pull/10591) by [@tkurz](https://github.com/tkurz)) + - Regression: /api/v1/settings.oauth not sending needed info for SAML & CAS ([#10596](https://github.com/RocketChat/Rocket.Chat/pull/10596) by [@cardoso](https://github.com/cardoso)) + - Regression: Apps and Livechats not getting along well with each other ([#10598](https://github.com/RocketChat/Rocket.Chat/pull/10598)) + - Development: Add Visual Studio Code debugging configuration ([#10586](https://github.com/RocketChat/Rocket.Chat/pull/10586)) + - Included missing lib for migrations ([#10532](https://github.com/RocketChat/Rocket.Chat/pull/10532) by [@Hudell](https://github.com/Hudell)) + - Develop sync ([#10505](https://github.com/RocketChat/Rocket.Chat/pull/10505) by [@nsuchy](https://github.com/nsuchy) & [@rafaelks](https://github.com/rafaelks)) + - Fix: Remove "secret" from REST endpoint /settings.oauth response ([#10513](https://github.com/RocketChat/Rocket.Chat/pull/10513)) + - [OTHER] More Listeners for Apps & Utilize Promises inside Apps ([#10335](https://github.com/RocketChat/Rocket.Chat/pull/10335)) + - [OTHER] Develop sync ([#10487](https://github.com/RocketChat/Rocket.Chat/pull/10487)) + - Change Docker-Compose to use mmapv1 storage engine for mongo ([#10336](https://github.com/RocketChat/Rocket.Chat/pull/10336)) + - Add some missing translations ([#10435](https://github.com/RocketChat/Rocket.Chat/pull/10435) by [@gdelavald](https://github.com/gdelavald)) + - [OTHER] Removed the developer warning on the rest api ([#10441](https://github.com/RocketChat/Rocket.Chat/pull/10441)) + - Fix and improve vietnamese translation ([#10397](https://github.com/RocketChat/Rocket.Chat/pull/10397) by [@TDiNguyen](https://github.com/TDiNguyen) & [@tttt-conan](https://github.com/tttt-conan)) + - Use Node 8.9 for CI build ([#10405](https://github.com/RocketChat/Rocket.Chat/pull/10405)) + - Update allowed labels for bot ([#10360](https://github.com/RocketChat/Rocket.Chat/pull/10360) by [@TwizzyDizzy](https://github.com/TwizzyDizzy)) + - Remove @core team mention from Pull Request template ([#10384](https://github.com/RocketChat/Rocket.Chat/pull/10384)) + - New issue template for *Release Process* ([#10234](https://github.com/RocketChat/Rocket.Chat/pull/10234)) + - Master into Develop Branch Sync ([#10376](https://github.com/RocketChat/Rocket.Chat/pull/10376)) + - LingoHub based on develop ([#10545](https://github.com/RocketChat/Rocket.Chat/pull/10545)) + - Regression: Revert announcement structure ([#10544](https://github.com/RocketChat/Rocket.Chat/pull/10544) by [@gdelavald](https://github.com/gdelavald)) + - Regression: Upload was not working ([#10543](https://github.com/RocketChat/Rocket.Chat/pull/10543)) + - Deps update ([#10549](https://github.com/RocketChat/Rocket.Chat/pull/10549)) + - Regression: /api/v1/settings.oauth not returning clientId for Twitter ([#10560](https://github.com/RocketChat/Rocket.Chat/pull/10560) by [@cardoso](https://github.com/cardoso)) + - Regression: Webhooks breaking due to restricted test ([#10555](https://github.com/RocketChat/Rocket.Chat/pull/10555)) + - Regression: Rooms and Apps weren't playing nice with each other ([#10559](https://github.com/RocketChat/Rocket.Chat/pull/10559)) + - Regression: Fix announcement bar being displayed without content ([#10554](https://github.com/RocketChat/Rocket.Chat/pull/10554) by [@gdelavald](https://github.com/gdelavald)) + - Regression: Inconsistent response of settings.oauth endpoint ([#10553](https://github.com/RocketChat/Rocket.Chat/pull/10553)) + - Regression: Remove added mentions on quote/reply ([#10571](https://github.com/RocketChat/Rocket.Chat/pull/10571) by [@gdelavald](https://github.com/gdelavald)) + - Regression: Attachments and fields incorrectly failing on validation ([#10573](https://github.com/RocketChat/Rocket.Chat/pull/10573)) + - Regression: Rocket.Chat App author link opens in same window ([#10575](https://github.com/RocketChat/Rocket.Chat/pull/10575) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii))
@@ -4931,6 +7226,7 @@
๐Ÿ” Minor changes + - Release 0.63.3 ([#10504](https://github.com/RocketChat/Rocket.Chat/pull/10504) by [@rafaelks](https://github.com/rafaelks))
@@ -4953,7 +7249,9 @@
๐Ÿ” Minor changes + - Release 0.63.2 ([#10476](https://github.com/RocketChat/Rocket.Chat/pull/10476)) + - add redhat dockerfile to master ([#10408](https://github.com/RocketChat/Rocket.Chat/pull/10408))
@@ -4973,6 +7271,7 @@
๐Ÿ” Minor changes + - Release 0.63.1 ([#10374](https://github.com/RocketChat/Rocket.Chat/pull/10374) by [@TechyPeople](https://github.com/TechyPeople) & [@kaiiiiiiiii](https://github.com/kaiiiiiiiii) & [@tttt-conan](https://github.com/tttt-conan))
@@ -4999,84 +7298,153 @@ ### โš ๏ธ BREAKING CHANGES + - Removed Private History Route ([#10103](https://github.com/RocketChat/Rocket.Chat/pull/10103) by [@Hudell](https://github.com/Hudell)) ### ๐ŸŽ‰ New features + - Improve history generation ([#10319](https://github.com/RocketChat/Rocket.Chat/pull/10319)) + - Interface to install and manage RocketChat Apps (alpha) ([#10246](https://github.com/RocketChat/Rocket.Chat/pull/10246)) + - Livechat messages rest APIs ([#10054](https://github.com/RocketChat/Rocket.Chat/pull/10054) by [@hmagarotto](https://github.com/hmagarotto)) + - Endpoint to retrieve message read receipts ([#9907](https://github.com/RocketChat/Rocket.Chat/pull/9907)) + - Add option to login via REST using Facebook and Twitter tokens ([#9816](https://github.com/RocketChat/Rocket.Chat/pull/9816)) + - Add REST endpoint to get the list of custom emojis ([#9629](https://github.com/RocketChat/Rocket.Chat/pull/9629)) + - GDPR Right to be forgotten/erased ([#9947](https://github.com/RocketChat/Rocket.Chat/pull/9947) by [@Hudell](https://github.com/Hudell)) + - Added endpoint to retrieve mentions of a channel ([#10105](https://github.com/RocketChat/Rocket.Chat/pull/10105)) + - Add leave public channel & leave private channel permissions ([#9584](https://github.com/RocketChat/Rocket.Chat/pull/9584) by [@kb0304](https://github.com/kb0304)) + - Added GET/POST channels.notifications ([#10128](https://github.com/RocketChat/Rocket.Chat/pull/10128)) + - Reply preview ([#10086](https://github.com/RocketChat/Rocket.Chat/pull/10086) by [@ubarsaiyan](https://github.com/ubarsaiyan)) + - Support for agent's phone field ([#10123](https://github.com/RocketChat/Rocket.Chat/pull/10123)) + - Added endpoint to get the list of available oauth services ([#10144](https://github.com/RocketChat/Rocket.Chat/pull/10144)) + - REST API method to set room's announcement (channels.setAnnouncement) ([#9742](https://github.com/RocketChat/Rocket.Chat/pull/9742) by [@TopHattedCat](https://github.com/TopHattedCat)) + - Audio recording as mp3 and better ui for recording ([#9726](https://github.com/RocketChat/Rocket.Chat/pull/9726) by [@kb0304](https://github.com/kb0304)) + - Setting to configure max delta for 2fa ([#9732](https://github.com/RocketChat/Rocket.Chat/pull/9732) by [@Hudell](https://github.com/Hudell)) + - Livechat webhook request on message ([#9870](https://github.com/RocketChat/Rocket.Chat/pull/9870) by [@hmagarotto](https://github.com/hmagarotto)) + - Announcement bar color wasn't using color from theming variables ([#9367](https://github.com/RocketChat/Rocket.Chat/pull/9367) by [@cyclops24](https://github.com/cyclops24) & [@karlprieb](https://github.com/karlprieb)) ### ๐Ÿ› Bug fixes + - Audio Message UI fixes ([#10303](https://github.com/RocketChat/Rocket.Chat/pull/10303) by [@kb0304](https://github.com/kb0304)) + - "View All Members" button inside channel's "User Info" is over sized ([#10012](https://github.com/RocketChat/Rocket.Chat/pull/10012) by [@karlprieb](https://github.com/karlprieb)) + - Apostrophe-containing URL misparsed" ([#10242](https://github.com/RocketChat/Rocket.Chat/pull/10242)) + - user status on sidenav ([#10222](https://github.com/RocketChat/Rocket.Chat/pull/10222)) + - Dynamic CSS script isn't working on older browsers ([#10152](https://github.com/RocketChat/Rocket.Chat/pull/10152) by [@karlprieb](https://github.com/karlprieb)) + - Extended view mode on sidebar ([#10160](https://github.com/RocketChat/Rocket.Chat/pull/10160) by [@karlprieb](https://github.com/karlprieb)) + - Cannot answer to a livechat as a manager if agent has not answered yet ([#10082](https://github.com/RocketChat/Rocket.Chat/pull/10082) by [@kb0304](https://github.com/kb0304)) + - User status missing on user info ([#9866](https://github.com/RocketChat/Rocket.Chat/pull/9866) by [@lunaticmonk](https://github.com/lunaticmonk)) + - Name of files in file upload list cuts down at bottom due to overflow ([#9672](https://github.com/RocketChat/Rocket.Chat/pull/9672) by [@lunaticmonk](https://github.com/lunaticmonk)) + - No pattern for user's status text capitalization ([#9783](https://github.com/RocketChat/Rocket.Chat/pull/9783) by [@lunaticmonk](https://github.com/lunaticmonk)) + - Apostrophe-containing URL misparsed ([#9739](https://github.com/RocketChat/Rocket.Chat/pull/9739) by [@lunaticmonk](https://github.com/lunaticmonk)) + - Popover divs don't scroll if they overflow the viewport ([#9860](https://github.com/RocketChat/Rocket.Chat/pull/9860) by [@Joe-mcgee](https://github.com/Joe-mcgee)) + - Reactions not working on mobile ([#10104](https://github.com/RocketChat/Rocket.Chat/pull/10104)) + - Broken video call accept dialog ([#9872](https://github.com/RocketChat/Rocket.Chat/pull/9872) by [@ramrami](https://github.com/ramrami)) + - Wrong switch button border color ([#10081](https://github.com/RocketChat/Rocket.Chat/pull/10081) by [@kb0304](https://github.com/kb0304)) + - Nextcloud as custom oauth provider wasn't mapping data correctly ([#10090](https://github.com/RocketChat/Rocket.Chat/pull/10090) by [@pierreozoux](https://github.com/pierreozoux)) + - Missing sidebar default options on admin ([#10016](https://github.com/RocketChat/Rocket.Chat/pull/10016) by [@karlprieb](https://github.com/karlprieb)) + - Able to react with invalid emoji ([#8667](https://github.com/RocketChat/Rocket.Chat/pull/8667) by [@mutdmour](https://github.com/mutdmour)) + - User preferences can't be saved when roles are hidden in admin settings ([#10051](https://github.com/RocketChat/Rocket.Chat/pull/10051) by [@Hudell](https://github.com/Hudell)) + - Browser was auto-filling values when editing another user profile ([#9932](https://github.com/RocketChat/Rocket.Chat/pull/9932) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) + - Avatar input was accepting not supported image types ([#10011](https://github.com/RocketChat/Rocket.Chat/pull/10011) by [@karlprieb](https://github.com/karlprieb)) + - Initial loading feedback was missing ([#10028](https://github.com/RocketChat/Rocket.Chat/pull/10028) by [@karlprieb](https://github.com/karlprieb)) + - File had redirect delay when using external storage services and no option to proxy only avatars ([#10272](https://github.com/RocketChat/Rocket.Chat/pull/10272)) + - Missing pt-BR translations ([#10262](https://github.com/RocketChat/Rocket.Chat/pull/10262)) + - /me REST endpoint was missing user roles and preferences ([#10240](https://github.com/RocketChat/Rocket.Chat/pull/10240)) + - Unable to mention after newline in message ([#10078](https://github.com/RocketChat/Rocket.Chat/pull/10078) by [@c0dzilla](https://github.com/c0dzilla)) + - Wrong pagination information on /api/v1/channels.members ([#10224](https://github.com/RocketChat/Rocket.Chat/pull/10224)) + - Inline code following a url leads to autolinking of code with url ([#10163](https://github.com/RocketChat/Rocket.Chat/pull/10163) by [@c0dzilla](https://github.com/c0dzilla)) + - Incoming Webhooks were missing the raw content ([#10258](https://github.com/RocketChat/Rocket.Chat/pull/10258) by [@Hudell](https://github.com/Hudell)) + - Missing Translation Key on Reactions ([#10270](https://github.com/RocketChat/Rocket.Chat/pull/10270) by [@bernardoetrevisan](https://github.com/bernardoetrevisan))
๐Ÿ” Minor changes + - Release 0.63.0 ([#10324](https://github.com/RocketChat/Rocket.Chat/pull/10324) by [@Hudell](https://github.com/Hudell) & [@Joe-mcgee](https://github.com/Joe-mcgee) & [@TopHattedCat](https://github.com/TopHattedCat) & [@hmagarotto](https://github.com/hmagarotto) & [@kaiiiiiiiii](https://github.com/kaiiiiiiiii) & [@karlprieb](https://github.com/karlprieb) & [@kb0304](https://github.com/kb0304) & [@lunaticmonk](https://github.com/lunaticmonk) & [@ramrami](https://github.com/ramrami)) + - Fix: Reaction endpoint/api only working with regular emojis ([#10323](https://github.com/RocketChat/Rocket.Chat/pull/10323)) + - Bump snap version to include security fix ([#10313](https://github.com/RocketChat/Rocket.Chat/pull/10313)) + - Update Meteor to 1.6.1.1 ([#10314](https://github.com/RocketChat/Rocket.Chat/pull/10314)) + - LingoHub based on develop ([#10243](https://github.com/RocketChat/Rocket.Chat/pull/10243)) + - Rename migration name on 108 to match file name ([#10237](https://github.com/RocketChat/Rocket.Chat/pull/10237)) + - Fix typo for Nextcloud login ([#10159](https://github.com/RocketChat/Rocket.Chat/pull/10159) by [@pierreozoux](https://github.com/pierreozoux)) + - Add a few listener supports for the Rocket.Chat Apps ([#10154](https://github.com/RocketChat/Rocket.Chat/pull/10154)) + - Add forums as a place to suggest, discuss and upvote features ([#10148](https://github.com/RocketChat/Rocket.Chat/pull/10148) by [@SeanPackham](https://github.com/SeanPackham)) + - Fix tests breaking randomly ([#10065](https://github.com/RocketChat/Rocket.Chat/pull/10065)) + - [OTHER] Reactivate all tests ([#10036](https://github.com/RocketChat/Rocket.Chat/pull/10036)) + - [OTHER] Reactivate API tests ([#9844](https://github.com/RocketChat/Rocket.Chat/pull/9844) by [@karlprieb](https://github.com/karlprieb)) + - Start 0.63.0-develop / develop sync from master ([#9985](https://github.com/RocketChat/Rocket.Chat/pull/9985)) + - Fix: Renaming channels.notifications Get/Post endpoints ([#10257](https://github.com/RocketChat/Rocket.Chat/pull/10257)) + - Fix caddy download link to pull from github ([#10260](https://github.com/RocketChat/Rocket.Chat/pull/10260)) + - Fix: possible errors on rocket.chat side of the apps ([#10252](https://github.com/RocketChat/Rocket.Chat/pull/10252)) + - Fix snap install. Remove execstack from sharp, and bypass grpc error ([#10015](https://github.com/RocketChat/Rocket.Chat/pull/10015)) + - Fix: inputs for rocketchat apps ([#10274](https://github.com/RocketChat/Rocket.Chat/pull/10274)) + - Fix: chat.react api not accepting previous emojis ([#10290](https://github.com/RocketChat/Rocket.Chat/pull/10290)) + - Fix: Scroll on content page ([#10300](https://github.com/RocketChat/Rocket.Chat/pull/10300))
@@ -5120,16 +7488,23 @@ ### ๐Ÿ› Bug fixes + - Slack Import reports `invalid import file type` due to a call to BSON.native() which is now doesn't exist ([#10071](https://github.com/RocketChat/Rocket.Chat/pull/10071) by [@trongthanh](https://github.com/trongthanh)) + - Verified property of user is always set to false if not supplied ([#9719](https://github.com/RocketChat/Rocket.Chat/pull/9719)) + - Update preferences of users with settings: null was crashing the server ([#10076](https://github.com/RocketChat/Rocket.Chat/pull/10076)) + - REST API: Can't list all public channels when user has permission `view-joined-room` ([#10009](https://github.com/RocketChat/Rocket.Chat/pull/10009)) + - Message editing is crashing the server when read receipts are enabled ([#10061](https://github.com/RocketChat/Rocket.Chat/pull/10061)) + - Download links was duplicating Sub Paths ([#10029](https://github.com/RocketChat/Rocket.Chat/pull/10029))
๐Ÿ” Minor changes + - Release 0.62.2 ([#10087](https://github.com/RocketChat/Rocket.Chat/pull/10087))
@@ -5153,14 +7528,19 @@ ### ๐Ÿ› Bug fixes + - Delete user without username was removing direct rooms of all users ([#9986](https://github.com/RocketChat/Rocket.Chat/pull/9986)) + - New channel page on medium size screens ([#9988](https://github.com/RocketChat/Rocket.Chat/pull/9988) by [@karlprieb](https://github.com/karlprieb)) + - Empty sidenav when sorting by activity and there is a subscription without room ([#9960](https://github.com/RocketChat/Rocket.Chat/pull/9960)) + - Two factor authentication modal was not showing ([#9982](https://github.com/RocketChat/Rocket.Chat/pull/9982))
๐Ÿ” Minor changes + - Release 0.62.1 ([#9989](https://github.com/RocketChat/Rocket.Chat/pull/9989))
@@ -5184,95 +7564,175 @@ ### โš ๏ธ BREAKING CHANGES + - Remove Graphics/Image Magick support ([#9711](https://github.com/RocketChat/Rocket.Chat/pull/9711)) ### ๐ŸŽ‰ New features + - Version update check ([#9793](https://github.com/RocketChat/Rocket.Chat/pull/9793)) + - General alert banner ([#9778](https://github.com/RocketChat/Rocket.Chat/pull/9778)) + - Browse more channels / Directory ([#9642](https://github.com/RocketChat/Rocket.Chat/pull/9642) by [@karlprieb](https://github.com/karlprieb)) + - Add user settings / preferences API endpoint ([#9457](https://github.com/RocketChat/Rocket.Chat/pull/9457) by [@jgtoriginal](https://github.com/jgtoriginal)) + - New sidebar layout ([#9608](https://github.com/RocketChat/Rocket.Chat/pull/9608) by [@karlprieb](https://github.com/karlprieb)) + - Message read receipts ([#9717](https://github.com/RocketChat/Rocket.Chat/pull/9717)) + - Alert admins when user requires approval & alert users when the account is approved/activated/deactivated ([#7098](https://github.com/RocketChat/Rocket.Chat/pull/7098) by [@luisfn](https://github.com/luisfn)) + - Allow configuration of SAML logout behavior ([#9527](https://github.com/RocketChat/Rocket.Chat/pull/9527) by [@mrsimpson](https://github.com/mrsimpson)) + - Internal hubot support for Direct Messages and Private Groups ([#8933](https://github.com/RocketChat/Rocket.Chat/pull/8933) by [@ramrami](https://github.com/ramrami)) + - Improved default welcome message ([#9298](https://github.com/RocketChat/Rocket.Chat/pull/9298) by [@HammyHavoc](https://github.com/HammyHavoc)) + - Makes shield icon configurable ([#9746](https://github.com/RocketChat/Rocket.Chat/pull/9746) by [@c0dzilla](https://github.com/c0dzilla)) + - Global message search (beta: disabled by default) ([#9687](https://github.com/RocketChat/Rocket.Chat/pull/9687) by [@cyberhck](https://github.com/cyberhck) & [@savikko](https://github.com/savikko)) + - Allow sounds when conversation is focused ([#9312](https://github.com/RocketChat/Rocket.Chat/pull/9312) by [@RationalCoding](https://github.com/RationalCoding)) + - API to fetch permissions & user roles ([#9519](https://github.com/RocketChat/Rocket.Chat/pull/9519) by [@rafaelks](https://github.com/rafaelks)) + - REST API to use Spotlight ([#9509](https://github.com/RocketChat/Rocket.Chat/pull/9509) by [@rafaelks](https://github.com/rafaelks)) + - Option to proxy files and avatars through the server ([#9699](https://github.com/RocketChat/Rocket.Chat/pull/9699)) + - Allow request avatar placeholders as PNG or JPG instead of SVG ([#8193](https://github.com/RocketChat/Rocket.Chat/pull/8193) by [@lindoelio](https://github.com/lindoelio)) + - Image preview as 32x32 base64 jpeg ([#9218](https://github.com/RocketChat/Rocket.Chat/pull/9218) by [@jorgeluisrezende](https://github.com/jorgeluisrezende)) + - New REST API to mark channel as read ([#9507](https://github.com/RocketChat/Rocket.Chat/pull/9507) by [@rafaelks](https://github.com/rafaelks)) + - Add route to get user shield/badge ([#9549](https://github.com/RocketChat/Rocket.Chat/pull/9549) by [@kb0304](https://github.com/kb0304)) + - GraphQL API ([#8158](https://github.com/RocketChat/Rocket.Chat/pull/8158) by [@kamilkisiela](https://github.com/kamilkisiela)) + - Livestream tab ([#9255](https://github.com/RocketChat/Rocket.Chat/pull/9255) by [@gdelavald](https://github.com/gdelavald)) + - Add documentation requirement to PRs ([#9658](https://github.com/RocketChat/Rocket.Chat/pull/9658) by [@SeanPackham](https://github.com/SeanPackham)) + - Request mongoDB version in github issue template ([#9807](https://github.com/RocketChat/Rocket.Chat/pull/9807) by [@TwizzyDizzy](https://github.com/TwizzyDizzy)) ### ๐Ÿ› Bug fixes + - Typo on french translation for "Open" ([#9934](https://github.com/RocketChat/Rocket.Chat/pull/9934) by [@sizrar](https://github.com/sizrar)) + - Wrong behavior of rooms info's *Read Only* and *Collaborative* buttons ([#9665](https://github.com/RocketChat/Rocket.Chat/pull/9665) by [@karlprieb](https://github.com/karlprieb)) + - Close button on file upload bar was not working ([#9662](https://github.com/RocketChat/Rocket.Chat/pull/9662) by [@karlprieb](https://github.com/karlprieb)) + - Chrome 64 breaks jitsi-meet iframe ([#9560](https://github.com/RocketChat/Rocket.Chat/pull/9560) by [@speedy01](https://github.com/speedy01)) + - Harmonize channel-related actions ([#9697](https://github.com/RocketChat/Rocket.Chat/pull/9697) by [@mrsimpson](https://github.com/mrsimpson)) + - Custom emoji was cropping sometimes ([#9676](https://github.com/RocketChat/Rocket.Chat/pull/9676) by [@anu-007](https://github.com/anu-007)) + - Show custom room types icon in channel header ([#9696](https://github.com/RocketChat/Rocket.Chat/pull/9696) by [@mrsimpson](https://github.com/mrsimpson)) + - 'Query' support for channels.list.joined, groups.list, groups.listAll, im.list ([#9424](https://github.com/RocketChat/Rocket.Chat/pull/9424) by [@xbolshe](https://github.com/xbolshe)) + - DeprecationWarning: prom-client ... when starting Rocket Chat server ([#9747](https://github.com/RocketChat/Rocket.Chat/pull/9747) by [@jgtoriginal](https://github.com/jgtoriginal)) + - API to retrive rooms was returning empty objects ([#9737](https://github.com/RocketChat/Rocket.Chat/pull/9737)) + - Chat Message Reactions REST API End Point ([#9487](https://github.com/RocketChat/Rocket.Chat/pull/9487) by [@jgtoriginal](https://github.com/jgtoriginal)) + - Messages can't be quoted sometimes ([#9720](https://github.com/RocketChat/Rocket.Chat/pull/9720)) + - GitLab OAuth does not work when GitLabโ€™s URL ends with slash ([#9716](https://github.com/RocketChat/Rocket.Chat/pull/9716)) + - Close Livechat conversation by visitor not working in version 0.61.0 ([#9714](https://github.com/RocketChat/Rocket.Chat/pull/9714)) + - Formal pronouns and some small mistakes in German texts ([#9067](https://github.com/RocketChat/Rocket.Chat/pull/9067) by [@AmShaegar13](https://github.com/AmShaegar13)) + - Facebook integration in livechat not working on version 0.61.0 ([#9640](https://github.com/RocketChat/Rocket.Chat/pull/9640)) + - Weird rendering of emojis at sidebar when `last message` is activated ([#9623](https://github.com/RocketChat/Rocket.Chat/pull/9623)) + - Rest API helpers only applying to v1 ([#9520](https://github.com/RocketChat/Rocket.Chat/pull/9520)) + - Desktop notification not showing when avatar came from external storage service ([#9639](https://github.com/RocketChat/Rocket.Chat/pull/9639)) + - Missing link Site URLs in enrollment e-mails ([#9454](https://github.com/RocketChat/Rocket.Chat/pull/9454) by [@kemitchell](https://github.com/kemitchell)) + - Missing string 'Username_already_exist' on the accountProfile page ([#9610](https://github.com/RocketChat/Rocket.Chat/pull/9610) by [@lunaticmonk](https://github.com/lunaticmonk)) + - SVG avatars are not been displayed correctly when load in non HTML containers ([#9570](https://github.com/RocketChat/Rocket.Chat/pull/9570) by [@filipedelimabrito](https://github.com/filipedelimabrito)) + - Livechat is not working when running in a sub path ([#9599](https://github.com/RocketChat/Rocket.Chat/pull/9599)) + - Not receiving sound notifications in rooms created by new LiveChats ([#9802](https://github.com/RocketChat/Rocket.Chat/pull/9802)) + - Silence the update check error message ([#9858](https://github.com/RocketChat/Rocket.Chat/pull/9858)) + - Parsing messages with multiple markdown matches ignore some tokens ([#9884](https://github.com/RocketChat/Rocket.Chat/pull/9884) by [@c0dzilla](https://github.com/c0dzilla)) + - Importers no longer working due to the FileUpload changes ([#9850](https://github.com/RocketChat/Rocket.Chat/pull/9850)) + - Misplaced "Save Changes" button in user account panel ([#9888](https://github.com/RocketChat/Rocket.Chat/pull/9888) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) + - Snap build was failing ([#9879](https://github.com/RocketChat/Rocket.Chat/pull/9879))
๐Ÿ” Minor changes + - Release 0.62.0 ([#9935](https://github.com/RocketChat/Rocket.Chat/pull/9935)) + - Regression: Fix livechat queue link ([#9928](https://github.com/RocketChat/Rocket.Chat/pull/9928) by [@karlprieb](https://github.com/karlprieb)) + - Regression: Directory now list default channel ([#9931](https://github.com/RocketChat/Rocket.Chat/pull/9931) by [@karlprieb](https://github.com/karlprieb)) + - Improve link handling for attachments ([#9908](https://github.com/RocketChat/Rocket.Chat/pull/9908)) + - Regression: Misplaced language dropdown in user preferences panel ([#9883](https://github.com/RocketChat/Rocket.Chat/pull/9883) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) + - Fix RHCC image path for OpenShift and default to the current namespace. ([#9901](https://github.com/RocketChat/Rocket.Chat/pull/9901) by [@jsm84](https://github.com/jsm84)) + - Sync from Master ([#9796](https://github.com/RocketChat/Rocket.Chat/pull/9796) by [@HammyHavoc](https://github.com/HammyHavoc)) + - [OTHER] Rocket.Chat Apps ([#9666](https://github.com/RocketChat/Rocket.Chat/pull/9666)) + - Move NRR package to inside the project and convert from CoffeeScript ([#9753](https://github.com/RocketChat/Rocket.Chat/pull/9753)) + - Update to meteor 1.6.1 ([#9546](https://github.com/RocketChat/Rocket.Chat/pull/9546)) + - Regression: Avatar now open account related options ([#9843](https://github.com/RocketChat/Rocket.Chat/pull/9843) by [@karlprieb](https://github.com/karlprieb)) + - Regression: Open search using ctrl/cmd + p and ctrl/cmd + k ([#9837](https://github.com/RocketChat/Rocket.Chat/pull/9837) by [@karlprieb](https://github.com/karlprieb)) + - Regression: Search bar is now full width ([#9839](https://github.com/RocketChat/Rocket.Chat/pull/9839) by [@karlprieb](https://github.com/karlprieb)) + - Dependencies update ([#9811](https://github.com/RocketChat/Rocket.Chat/pull/9811)) + - Fix: Custom fields not showing on user info panel ([#9821](https://github.com/RocketChat/Rocket.Chat/pull/9821)) + - Regression: Page was not respecting the window height on Firefox ([#9804](https://github.com/RocketChat/Rocket.Chat/pull/9804)) + - Update bot-config.yml ([#9784](https://github.com/RocketChat/Rocket.Chat/pull/9784) by [@JSzaszvari](https://github.com/JSzaszvari)) + - Develop fix sync from master ([#9797](https://github.com/RocketChat/Rocket.Chat/pull/9797)) + - Regression: Change create channel icon ([#9851](https://github.com/RocketChat/Rocket.Chat/pull/9851) by [@karlprieb](https://github.com/karlprieb)) + - Regression: Fix channel icons on safari ([#9852](https://github.com/RocketChat/Rocket.Chat/pull/9852) by [@karlprieb](https://github.com/karlprieb)) + - Regression: Fix admin/user settings item text ([#9845](https://github.com/RocketChat/Rocket.Chat/pull/9845) by [@karlprieb](https://github.com/karlprieb)) + - Regression: Improve sidebar filter ([#9905](https://github.com/RocketChat/Rocket.Chat/pull/9905) by [@karlprieb](https://github.com/karlprieb)) + - [OTHER] Fix Apps not working on multi-instance deployments ([#9902](https://github.com/RocketChat/Rocket.Chat/pull/9902)) + - [Fix] Not Translated Phrases ([#9877](https://github.com/RocketChat/Rocket.Chat/pull/9877) by [@bernardoetrevisan](https://github.com/bernardoetrevisan)) + - Regression: Overlapping header in user profile panel ([#9889](https://github.com/RocketChat/Rocket.Chat/pull/9889) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) + - Regression: sort on room's list not working correctly ([#9897](https://github.com/RocketChat/Rocket.Chat/pull/9897))
@@ -5331,13 +7791,17 @@ ### ๐Ÿ› Bug fixes + - Livechat issues on external queue and lead capture ([#9750](https://github.com/RocketChat/Rocket.Chat/pull/9750)) + - Emoji rendering on last message ([#9776](https://github.com/RocketChat/Rocket.Chat/pull/9776)) + - Livechat conversation not receiving messages when start without form ([#9772](https://github.com/RocketChat/Rocket.Chat/pull/9772))
๐Ÿ” Minor changes + - Release 0.61.2 ([#9786](https://github.com/RocketChat/Rocket.Chat/pull/9786))
@@ -5358,6 +7822,7 @@
๐Ÿ” Minor changes + - Release 0.61.1 ([#9721](https://github.com/RocketChat/Rocket.Chat/pull/9721))
@@ -5375,48 +7840,81 @@ ### โš ๏ธ BREAKING CHANGES + - Decouple livechat visitors from regular users ([#9048](https://github.com/RocketChat/Rocket.Chat/pull/9048)) ### ๐ŸŽ‰ New features + - Contextual Bar Redesign ([#8411](https://github.com/RocketChat/Rocket.Chat/pull/8411) by [@karlprieb](https://github.com/karlprieb)) + - Update documentation: provide example for multiple basedn ([#9442](https://github.com/RocketChat/Rocket.Chat/pull/9442) by [@rndmh3ro](https://github.com/rndmh3ro)) + - Sidebar menu option to mark room as unread ([#9216](https://github.com/RocketChat/Rocket.Chat/pull/9216) by [@karlprieb](https://github.com/karlprieb)) + - Add mention-here permission #7631 ([#9228](https://github.com/RocketChat/Rocket.Chat/pull/9228) by [@ryjones](https://github.com/ryjones)) + - Indicate the Self DM room ([#9234](https://github.com/RocketChat/Rocket.Chat/pull/9234)) + - new layout for emojipicker ([#9245](https://github.com/RocketChat/Rocket.Chat/pull/9245) by [@karlprieb](https://github.com/karlprieb)) + - add /home link to sidenav footer logo ([#9366](https://github.com/RocketChat/Rocket.Chat/pull/9366) by [@cyclops24](https://github.com/cyclops24)) + - Livechat extract lead data from message ([#9135](https://github.com/RocketChat/Rocket.Chat/pull/9135)) + - Add impersonate option for livechat triggers ([#9107](https://github.com/RocketChat/Rocket.Chat/pull/9107)) + - Add support to external livechat queue service provider ([#9053](https://github.com/RocketChat/Rocket.Chat/pull/9053)) + - Contextual bar mail messages ([#9510](https://github.com/RocketChat/Rocket.Chat/pull/9510) by [@karlprieb](https://github.com/karlprieb)) ### ๐Ÿ› Bug fixes + - [i18n] add room type translation support for room-changed-privacy message ([#9369](https://github.com/RocketChat/Rocket.Chat/pull/9369) by [@cyclops24](https://github.com/cyclops24)) + - Fix livechat register form ([#9452](https://github.com/RocketChat/Rocket.Chat/pull/9452)) + - Fix livechat build ([#9451](https://github.com/RocketChat/Rocket.Chat/pull/9451)) + - Fix closing livechat inquiry ([#9164](https://github.com/RocketChat/Rocket.Chat/pull/9164)) + - Slash command 'unarchive' throws exception if the channel does not exist ([#9435](https://github.com/RocketChat/Rocket.Chat/pull/9435) by [@ramrami](https://github.com/ramrami)) + - Slash command 'archive' throws exception if the channel does not exist ([#9428](https://github.com/RocketChat/Rocket.Chat/pull/9428) by [@ramrami](https://github.com/ramrami)) + - Subscriptions not removed when removing user ([#9432](https://github.com/RocketChat/Rocket.Chat/pull/9432)) + - Highlight setting not working correctly ([#9364](https://github.com/RocketChat/Rocket.Chat/pull/9364) by [@cyclops24](https://github.com/cyclops24)) + - File access not working when passing credentials via querystring ([#9264](https://github.com/RocketChat/Rocket.Chat/pull/9264)) + - Contextual bar redesign ([#9481](https://github.com/RocketChat/Rocket.Chat/pull/9481) by [@gdelavald](https://github.com/gdelavald) & [@karlprieb](https://github.com/karlprieb)) + - mention-here is missing i18n text #9455 ([#9456](https://github.com/RocketChat/Rocket.Chat/pull/9456) by [@ryjones](https://github.com/ryjones)) + - Fix livechat visitor edit ([#9506](https://github.com/RocketChat/Rocket.Chat/pull/9506)) + - large names on userinfo, and admin user bug on users with no usernames ([#9493](https://github.com/RocketChat/Rocket.Chat/pull/9493) by [@gdelavald](https://github.com/gdelavald))
๐Ÿ” Minor changes + - Release 0.61.0 ([#9533](https://github.com/RocketChat/Rocket.Chat/pull/9533) by [@karlprieb](https://github.com/karlprieb) & [@ryjones](https://github.com/ryjones)) + - Add community bot ([#9439](https://github.com/RocketChat/Rocket.Chat/pull/9439)) + - Use correct version of Mailparser module ([#9356](https://github.com/RocketChat/Rocket.Chat/pull/9356)) + - Develop sync - Bump version to 0.61.0-develop ([#9260](https://github.com/RocketChat/Rocket.Chat/pull/9260) by [@cpitman](https://github.com/cpitman) & [@karlprieb](https://github.com/karlprieb)) + - [Fix] oauth not working because of email array ([#9173](https://github.com/RocketChat/Rocket.Chat/pull/9173)) + - [DOCS] Update the links of our Mobile Apps in Features topic ([#9469](https://github.com/RocketChat/Rocket.Chat/pull/9469) by [@rafaelks](https://github.com/rafaelks)) + - Update license ([#9490](https://github.com/RocketChat/Rocket.Chat/pull/9490)) + - Prevent NPM package-lock inside livechat ([#9504](https://github.com/RocketChat/Rocket.Chat/pull/9504))
@@ -5451,16 +7949,23 @@ ### ๐Ÿ› Bug fixes + - LDAP TLS not working in some cases ([#9343](https://github.com/RocketChat/Rocket.Chat/pull/9343)) + - popover on safari for iOS ([#9328](https://github.com/RocketChat/Rocket.Chat/pull/9328) by [@karlprieb](https://github.com/karlprieb)) + - announcement hyperlink color ([#9330](https://github.com/RocketChat/Rocket.Chat/pull/9330) by [@karlprieb](https://github.com/karlprieb)) + - Deleting message with store last message not removing ([#9335](https://github.com/RocketChat/Rocket.Chat/pull/9335)) + - last message cutting on bottom ([#9345](https://github.com/RocketChat/Rocket.Chat/pull/9345) by [@karlprieb](https://github.com/karlprieb))
๐Ÿ” Minor changes + - Release 0.60.4 ([#9377](https://github.com/RocketChat/Rocket.Chat/pull/9377)) + - Update Marked dependecy to 0.3.9 ([#9346](https://github.com/RocketChat/Rocket.Chat/pull/9346))
@@ -5483,20 +7988,31 @@ ### ๐Ÿ› Bug fixes + - custom emoji size on sidebar item ([#9314](https://github.com/RocketChat/Rocket.Chat/pull/9314) by [@karlprieb](https://github.com/karlprieb)) + - svg render on firefox ([#9311](https://github.com/RocketChat/Rocket.Chat/pull/9311) by [@karlprieb](https://github.com/karlprieb)) + - sidebar footer padding ([#9249](https://github.com/RocketChat/Rocket.Chat/pull/9249) by [@karlprieb](https://github.com/karlprieb)) + - LDAP/AD is not importing all users ([#9309](https://github.com/RocketChat/Rocket.Chat/pull/9309)) + - Wrong position of notifications alert in accounts preference page ([#9289](https://github.com/RocketChat/Rocket.Chat/pull/9289) by [@HammyHavoc](https://github.com/HammyHavoc)) + - English Typos ([#9285](https://github.com/RocketChat/Rocket.Chat/pull/9285) by [@HammyHavoc](https://github.com/HammyHavoc))
๐Ÿ” Minor changes + - Release 0.60.3 ([#9320](https://github.com/RocketChat/Rocket.Chat/pull/9320) by [@HammyHavoc](https://github.com/HammyHavoc)) + - Fix: English language improvements ([#9299](https://github.com/RocketChat/Rocket.Chat/pull/9299) by [@HammyHavoc](https://github.com/HammyHavoc)) + - Fix: Change 'Wordpress' to 'WordPress ([#9291](https://github.com/RocketChat/Rocket.Chat/pull/9291) by [@HammyHavoc](https://github.com/HammyHavoc)) + - Fix: Improved README.md ([#9290](https://github.com/RocketChat/Rocket.Chat/pull/9290) by [@HammyHavoc](https://github.com/HammyHavoc)) + - Fix: README typo ([#9286](https://github.com/RocketChat/Rocket.Chat/pull/9286) by [@HammyHavoc](https://github.com/HammyHavoc))
@@ -5519,13 +8035,17 @@ ### ๐Ÿ› Bug fixes + - Restore translations from other languages ([#9277](https://github.com/RocketChat/Rocket.Chat/pull/9277)) + - Remove sweetalert from livechat facebook integration page ([#9274](https://github.com/RocketChat/Rocket.Chat/pull/9274)) + - Missing translations ([#9272](https://github.com/RocketChat/Rocket.Chat/pull/9272))
๐Ÿ” Minor changes + - Release 0.60.2 ([#9280](https://github.com/RocketChat/Rocket.Chat/pull/9280))
@@ -5544,6 +8064,7 @@ ### ๐Ÿ› Bug fixes + - File access not working when passing credentials via querystring ([#9262](https://github.com/RocketChat/Rocket.Chat/pull/9262)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -5559,185 +8080,358 @@ ### ๐ŸŽ‰ New features + - Allow user's default preferences configuration ([#7285](https://github.com/RocketChat/Rocket.Chat/pull/7285) by [@goiaba](https://github.com/goiaba)) + - Add "Favorites" and "Mark as read" options to the room list ([#8915](https://github.com/RocketChat/Rocket.Chat/pull/8915) by [@karlprieb](https://github.com/karlprieb)) + - Facebook livechat integration ([#8807](https://github.com/RocketChat/Rocket.Chat/pull/8807)) + - Added support for Dataporten's userid-feide scope ([#8902](https://github.com/RocketChat/Rocket.Chat/pull/8902) by [@torgeirl](https://github.com/torgeirl)) + - Describe file uploads when notifying by email ([#8924](https://github.com/RocketChat/Rocket.Chat/pull/8924)) + - Feature/livechat hide email ([#8149](https://github.com/RocketChat/Rocket.Chat/pull/8149) by [@icosamuel](https://github.com/icosamuel) & [@sarbasamuel](https://github.com/sarbasamuel)) + - Sender's name in email notifications. ([#7999](https://github.com/RocketChat/Rocket.Chat/pull/7999) by [@pkgodara](https://github.com/pkgodara)) + - Add "real name change" setting ([#8739](https://github.com/RocketChat/Rocket.Chat/pull/8739) by [@AmShaegar13](https://github.com/AmShaegar13)) + - Use enter separator rather than comma in highlight preferences + Auto refresh after change highlighted words ([#8433](https://github.com/RocketChat/Rocket.Chat/pull/8433) by [@cyclops24](https://github.com/cyclops24)) + - Adds admin option to globally set mobile devices to always be notified regardless of presence status. ([#7641](https://github.com/RocketChat/Rocket.Chat/pull/7641) by [@stalley](https://github.com/stalley)) + - Add new API endpoints ([#8947](https://github.com/RocketChat/Rocket.Chat/pull/8947)) + - Option to enable/disable auto away and configure timer ([#8029](https://github.com/RocketChat/Rocket.Chat/pull/8029) by [@armand1m](https://github.com/armand1m)) + - New Modal component ([#8882](https://github.com/RocketChat/Rocket.Chat/pull/8882) by [@karlprieb](https://github.com/karlprieb)) + - Improve room types API and usages ([#9009](https://github.com/RocketChat/Rocket.Chat/pull/9009) by [@mrsimpson](https://github.com/mrsimpson)) + - Room counter sidebar preference ([#8866](https://github.com/RocketChat/Rocket.Chat/pull/8866) by [@karlprieb](https://github.com/karlprieb)) + - Save room's last message ([#8979](https://github.com/RocketChat/Rocket.Chat/pull/8979) by [@karlprieb](https://github.com/karlprieb)) + - Token Controlled Access channels ([#8060](https://github.com/RocketChat/Rocket.Chat/pull/8060) by [@karlprieb](https://github.com/karlprieb) & [@lindoelio](https://github.com/lindoelio)) + - Send category and title fields to iOS push notification ([#8905](https://github.com/RocketChat/Rocket.Chat/pull/8905)) + - code to get the updated messages ([#8857](https://github.com/RocketChat/Rocket.Chat/pull/8857)) + - Rest API endpoints to list, get, and run commands ([#8531](https://github.com/RocketChat/Rocket.Chat/pull/8531)) + - Upgrade Meteor to 1.6 ([#8715](https://github.com/RocketChat/Rocket.Chat/pull/8715) by [@karlprieb](https://github.com/karlprieb)) + - Add settings for allow user direct messages to yourself ([#8066](https://github.com/RocketChat/Rocket.Chat/pull/8066) by [@lindoelio](https://github.com/lindoelio)) + - Add sweet alert to video call tab ([#8108](https://github.com/RocketChat/Rocket.Chat/pull/8108)) + - Displays QR code for manually entering when enabling 2fa ([#8143](https://github.com/RocketChat/Rocket.Chat/pull/8143)) + - Add yunohost.org installation method to Readme.md ([#8037](https://github.com/RocketChat/Rocket.Chat/pull/8037) by [@selamanse](https://github.com/selamanse)) + - Modal ([#9092](https://github.com/RocketChat/Rocket.Chat/pull/9092) by [@karlprieb](https://github.com/karlprieb)) + - Make Custom oauth accept nested usernameField ([#9066](https://github.com/RocketChat/Rocket.Chat/pull/9066) by [@pierreozoux](https://github.com/pierreozoux)) ### ๐Ÿ› Bug fixes + - Can't react on Read Only rooms even when enabled ([#8925](https://github.com/RocketChat/Rocket.Chat/pull/8925) by [@karlprieb](https://github.com/karlprieb)) + - CAS does not share secrets when operating multiple server instances ([#8654](https://github.com/RocketChat/Rocket.Chat/pull/8654) by [@AmShaegar13](https://github.com/AmShaegar13)) + - Snippetted messages not working ([#8937](https://github.com/RocketChat/Rocket.Chat/pull/8937) by [@karlprieb](https://github.com/karlprieb)) + - Added afterUserCreated trigger after first CAS login ([#9022](https://github.com/RocketChat/Rocket.Chat/pull/9022) by [@AmShaegar13](https://github.com/AmShaegar13)) + - Notification is not sent when a video conference start ([#8828](https://github.com/RocketChat/Rocket.Chat/pull/8828) by [@deepseainside75](https://github.com/deepseainside75) & [@stefanoverducci](https://github.com/stefanoverducci)) + - long filename overlaps cancel button in progress bar ([#8868](https://github.com/RocketChat/Rocket.Chat/pull/8868) by [@joesitton](https://github.com/joesitton)) + - Changed oembedUrlWidget to prefer og:image and twitter:image over msapplication-TileImage ([#9012](https://github.com/RocketChat/Rocket.Chat/pull/9012) by [@wferris722](https://github.com/wferris722)) + - Update insecure moment.js dependency ([#9046](https://github.com/RocketChat/Rocket.Chat/pull/9046) by [@robbyoconnor](https://github.com/robbyoconnor)) + - Custom OAuth: Not able to set different token place for routes ([#9034](https://github.com/RocketChat/Rocket.Chat/pull/9034)) + - Can't use OAuth login against a Rocket.Chat OAuth server ([#9044](https://github.com/RocketChat/Rocket.Chat/pull/9044)) + - Notification sound is not disabling when busy ([#9042](https://github.com/RocketChat/Rocket.Chat/pull/9042)) + - Use encodeURI in AmazonS3 contentDisposition file.name to prevent fail ([#9024](https://github.com/RocketChat/Rocket.Chat/pull/9024) by [@paulovitin](https://github.com/paulovitin)) + - snap install by setting grpc package used by google/vision to 1.6.6 ([#9029](https://github.com/RocketChat/Rocket.Chat/pull/9029)) + - Enable CORS for Restivus ([#8671](https://github.com/RocketChat/Rocket.Chat/pull/8671) by [@mrsimpson](https://github.com/mrsimpson)) + - Importers failing when usernames exists but cases don't match and improve the importer framework's performance ([#8966](https://github.com/RocketChat/Rocket.Chat/pull/8966)) + - Error when saving integration with symbol as only trigger ([#9023](https://github.com/RocketChat/Rocket.Chat/pull/9023)) + - Sync of non existent field throws exception ([#8006](https://github.com/RocketChat/Rocket.Chat/pull/8006) by [@goiaba](https://github.com/goiaba)) + - Autoupdate of CSS does not work when using a prefix ([#8107](https://github.com/RocketChat/Rocket.Chat/pull/8107) by [@Darkneon](https://github.com/Darkneon)) + - Contextual errors for this and RegExp declarations in IRC module ([#8656](https://github.com/RocketChat/Rocket.Chat/pull/8656) by [@Pharserror](https://github.com/Pharserror)) + - Wrong room counter name ([#9013](https://github.com/RocketChat/Rocket.Chat/pull/9013) by [@karlprieb](https://github.com/karlprieb)) + - Message-box autogrow flick ([#8932](https://github.com/RocketChat/Rocket.Chat/pull/8932) by [@karlprieb](https://github.com/karlprieb)) + - Don't strip trailing slash on autolinker urls ([#8812](https://github.com/RocketChat/Rocket.Chat/pull/8812) by [@jwilkins](https://github.com/jwilkins)) + - Change the unread messages style ([#8883](https://github.com/RocketChat/Rocket.Chat/pull/8883) by [@karlprieb](https://github.com/karlprieb)) + - Missing sidebar footer padding ([#8884](https://github.com/RocketChat/Rocket.Chat/pull/8884) by [@karlprieb](https://github.com/karlprieb)) + - Long room announcement cut off ([#8907](https://github.com/RocketChat/Rocket.Chat/pull/8907) by [@karlprieb](https://github.com/karlprieb)) + - DM email notifications always being sent regardless of account setting ([#8917](https://github.com/RocketChat/Rocket.Chat/pull/8917) by [@ashward](https://github.com/ashward)) + - Typo Fix ([#8938](https://github.com/RocketChat/Rocket.Chat/pull/8938) by [@seangeleno](https://github.com/seangeleno)) + - Katex markdown link changed ([#8948](https://github.com/RocketChat/Rocket.Chat/pull/8948) by [@mritunjaygoutam12](https://github.com/mritunjaygoutam12)) + - if ogImage exists use it over image in oembedUrlWidget ([#9000](https://github.com/RocketChat/Rocket.Chat/pull/9000) by [@satyapramodh](https://github.com/satyapramodh)) + - Cannot edit or delete custom sounds ([#8889](https://github.com/RocketChat/Rocket.Chat/pull/8889) by [@ccfang](https://github.com/ccfang)) + - Change old 'rocketbot' username to 'InternalHubot_Username' setting ([#8928](https://github.com/RocketChat/Rocket.Chat/pull/8928) by [@ramrami](https://github.com/ramrami)) + - Link for channels are not rendering correctly ([#8985](https://github.com/RocketChat/Rocket.Chat/pull/8985) by [@karlprieb](https://github.com/karlprieb)) + - Xenforo [BD]API for 'user.user_id; instead of 'id' ([#8968](https://github.com/RocketChat/Rocket.Chat/pull/8968) by [@wesnspace](https://github.com/wesnspace)) + - flextab height on smaller screens ([#8994](https://github.com/RocketChat/Rocket.Chat/pull/8994) by [@karlprieb](https://github.com/karlprieb)) + - Check for mention-all permission in room scope ([#8931](https://github.com/RocketChat/Rocket.Chat/pull/8931)) + - fix emoji package path so they show up correctly in browser ([#8822](https://github.com/RocketChat/Rocket.Chat/pull/8822) by [@ryoshimizu](https://github.com/ryoshimizu)) + - Set correct Twitter link ([#8830](https://github.com/RocketChat/Rocket.Chat/pull/8830) by [@jotafeldmann](https://github.com/jotafeldmann)) + - User email settings on DM ([#8810](https://github.com/RocketChat/Rocket.Chat/pull/8810) by [@karlprieb](https://github.com/karlprieb)) + - i18n'd Resend_verification_mail, username_initials, upload avatar ([#8721](https://github.com/RocketChat/Rocket.Chat/pull/8721) by [@arungalva](https://github.com/arungalva)) + - Username clipping on firefox ([#8716](https://github.com/RocketChat/Rocket.Chat/pull/8716) by [@karlprieb](https://github.com/karlprieb)) + - Improved grammar and made it clearer to the user ([#8795](https://github.com/RocketChat/Rocket.Chat/pull/8795) by [@HammyHavoc](https://github.com/HammyHavoc)) + - Show real name of current user at top of side nav if setting enabled ([#8718](https://github.com/RocketChat/Rocket.Chat/pull/8718) by [@alexbrazier](https://github.com/alexbrazier)) + - Range Slider Value label has bug in RTL ([#8441](https://github.com/RocketChat/Rocket.Chat/pull/8441) by [@cyclops24](https://github.com/cyclops24)) + - Add historic chats icon in Livechat ([#8708](https://github.com/RocketChat/Rocket.Chat/pull/8708) by [@mrsimpson](https://github.com/mrsimpson)) + - Sort direct messages by full name if show real names setting enabled ([#8717](https://github.com/RocketChat/Rocket.Chat/pull/8717) by [@alexbrazier](https://github.com/alexbrazier)) + - Improving consistency of UX ([#8796](https://github.com/RocketChat/Rocket.Chat/pull/8796) by [@HammyHavoc](https://github.com/HammyHavoc)) + - fixed some typos ([#8787](https://github.com/RocketChat/Rocket.Chat/pull/8787) by [@TheReal1604](https://github.com/TheReal1604)) + - Changed all rocket.chat/docs/ to docs.rocket.chat/ ([#8588](https://github.com/RocketChat/Rocket.Chat/pull/8588) by [@RekkyRek](https://github.com/RekkyRek)) + - Email verification indicator added ([#7923](https://github.com/RocketChat/Rocket.Chat/pull/7923) by [@aditya19496](https://github.com/aditya19496)) + - REST API file upload not respecting size limit ([#9108](https://github.com/RocketChat/Rocket.Chat/pull/9108)) + - Creating channels on Firefox ([#9109](https://github.com/RocketChat/Rocket.Chat/pull/9109) by [@karlprieb](https://github.com/karlprieb)) + - Some UI problems on 0.60 ([#9095](https://github.com/RocketChat/Rocket.Chat/pull/9095) by [@karlprieb](https://github.com/karlprieb)) + - Update rocketchat:streamer to be compatible with previous version ([#9094](https://github.com/RocketChat/Rocket.Chat/pull/9094)) + - Importers not recovering when an error occurs ([#9134](https://github.com/RocketChat/Rocket.Chat/pull/9134)) + - Do not block room while loading history ([#9121](https://github.com/RocketChat/Rocket.Chat/pull/9121)) + - Channel page error ([#9091](https://github.com/RocketChat/Rocket.Chat/pull/9091) by [@ggrish](https://github.com/ggrish)) + - Update Rocket.Chat for sandstorm ([#9062](https://github.com/RocketChat/Rocket.Chat/pull/9062) by [@peterlee0127](https://github.com/peterlee0127)) + - modal data on enter and modal style for file preview ([#9171](https://github.com/RocketChat/Rocket.Chat/pull/9171) by [@karlprieb](https://github.com/karlprieb)) + - show oauth logins when adblock is used ([#9170](https://github.com/RocketChat/Rocket.Chat/pull/9170) by [@karlprieb](https://github.com/karlprieb)) + - Last sent message reoccurs in textbox ([#9169](https://github.com/RocketChat/Rocket.Chat/pull/9169)) + - Made welcome emails more readable ([#9193](https://github.com/RocketChat/Rocket.Chat/pull/9193) by [@HammyHavoc](https://github.com/HammyHavoc)) + - Unread bar position when room have announcement ([#9188](https://github.com/RocketChat/Rocket.Chat/pull/9188) by [@karlprieb](https://github.com/karlprieb)) + - Emoji size on last message preview ([#9186](https://github.com/RocketChat/Rocket.Chat/pull/9186) by [@karlprieb](https://github.com/karlprieb)) + - Cursor position when reply on safari ([#9185](https://github.com/RocketChat/Rocket.Chat/pull/9185) by [@karlprieb](https://github.com/karlprieb)) + - "Use Emoji" preference not working ([#9182](https://github.com/RocketChat/Rocket.Chat/pull/9182) by [@karlprieb](https://github.com/karlprieb)) + - make the cross icon on user selection at channel creation page work ([#9176](https://github.com/RocketChat/Rocket.Chat/pull/9176) by [@karlprieb](https://github.com/karlprieb) & [@vitor-nagao](https://github.com/vitor-nagao)) + - go to replied message ([#9172](https://github.com/RocketChat/Rocket.Chat/pull/9172) by [@karlprieb](https://github.com/karlprieb)) + - channel create scroll on small screens ([#9168](https://github.com/RocketChat/Rocket.Chat/pull/9168) by [@karlprieb](https://github.com/karlprieb)) + - Error when user roles is missing or is invalid ([#9040](https://github.com/RocketChat/Rocket.Chat/pull/9040) by [@paulovitin](https://github.com/paulovitin)) + - Make mentions and menu icons color darker ([#8922](https://github.com/RocketChat/Rocket.Chat/pull/8922) by [@karlprieb](https://github.com/karlprieb)) + - Show modal with announcement ([#9241](https://github.com/RocketChat/Rocket.Chat/pull/9241) by [@karlprieb](https://github.com/karlprieb)) + - File upload not working on IE and weird on Chrome ([#9206](https://github.com/RocketChat/Rocket.Chat/pull/9206) by [@karlprieb](https://github.com/karlprieb)) + - "Enter usernames" placeholder is cutting in "create channel" view ([#9194](https://github.com/RocketChat/Rocket.Chat/pull/9194) by [@TheReal1604](https://github.com/TheReal1604)) + - Move emojipicker css to theme package ([#9243](https://github.com/RocketChat/Rocket.Chat/pull/9243) by [@karlprieb](https://github.com/karlprieb))
๐Ÿ” Minor changes + - Release 0.60.0 ([#9259](https://github.com/RocketChat/Rocket.Chat/pull/9259)) + - Fix tag build ([#9084](https://github.com/RocketChat/Rocket.Chat/pull/9084)) + - Turn off prettyJson if the node environment isn't development ([#9068](https://github.com/RocketChat/Rocket.Chat/pull/9068)) + - Fix api regression (exception when deleting user) ([#9049](https://github.com/RocketChat/Rocket.Chat/pull/9049)) + - Use real names for user and room in emails ([#7922](https://github.com/RocketChat/Rocket.Chat/pull/7922) by [@danischreiber](https://github.com/danischreiber)) + - [MOVE] Move mentions files to client/server ([#8142](https://github.com/RocketChat/Rocket.Chat/pull/8142) by [@vcapretz](https://github.com/vcapretz)) + - Update multiple-instance-status package ([#9018](https://github.com/RocketChat/Rocket.Chat/pull/9018)) + - Use redhat official image with openshift ([#9007](https://github.com/RocketChat/Rocket.Chat/pull/9007)) + - Added d2c.io to deployment ([#8975](https://github.com/RocketChat/Rocket.Chat/pull/8975) by [@mastappl](https://github.com/mastappl)) + - LingoHub based on develop ([#8831](https://github.com/RocketChat/Rocket.Chat/pull/8831)) + - Fix snap download url ([#8981](https://github.com/RocketChat/Rocket.Chat/pull/8981)) + - Add a few dots in readme.md ([#8906](https://github.com/RocketChat/Rocket.Chat/pull/8906) by [@dusta](https://github.com/dusta)) + - Changed wording for "Maximum Allowed Message Size" ([#8872](https://github.com/RocketChat/Rocket.Chat/pull/8872) by [@HammyHavoc](https://github.com/HammyHavoc)) + - Fix Docker image build ([#8862](https://github.com/RocketChat/Rocket.Chat/pull/8862)) + - Fix link to .asc file on S3 ([#8829](https://github.com/RocketChat/Rocket.Chat/pull/8829)) + - Bump version to 0.60.0-develop ([#8820](https://github.com/RocketChat/Rocket.Chat/pull/8820) by [@gdelavald](https://github.com/gdelavald) & [@karlprieb](https://github.com/karlprieb)) + - Update path for s3 redirect in circle ci ([#8819](https://github.com/RocketChat/Rocket.Chat/pull/8819)) + - Remove chatops package ([#8742](https://github.com/RocketChat/Rocket.Chat/pull/8742)) + - Removed tmeasday:crypto-md5 ([#8743](https://github.com/RocketChat/Rocket.Chat/pull/8743)) + - Update meteor package to 1.8.1 ([#8802](https://github.com/RocketChat/Rocket.Chat/pull/8802)) + - Fix typo ([#8705](https://github.com/RocketChat/Rocket.Chat/pull/8705) by [@rmetzler](https://github.com/rmetzler)) + - [Fix] Store Outgoing Integration Result as String in Mongo ([#8413](https://github.com/RocketChat/Rocket.Chat/pull/8413) by [@cpitman](https://github.com/cpitman)) + - Update DEMO to OPEN links ([#8793](https://github.com/RocketChat/Rocket.Chat/pull/8793)) + - Fix Travis CI build ([#8750](https://github.com/RocketChat/Rocket.Chat/pull/8750)) + - Updated comments. ([#8719](https://github.com/RocketChat/Rocket.Chat/pull/8719) by [@jasonjyu](https://github.com/jasonjyu)) + - Fix community links in readme ([#8589](https://github.com/RocketChat/Rocket.Chat/pull/8589)) + - [MOVE] Move favico to client folder ([#8077](https://github.com/RocketChat/Rocket.Chat/pull/8077) by [@vcapretz](https://github.com/vcapretz)) + - [MOVE] Move files from emojione to client/server folders ([#8078](https://github.com/RocketChat/Rocket.Chat/pull/8078) by [@vcapretz](https://github.com/vcapretz)) + - [MOVE] Move files from slashcommands-unarchive to client/server folders ([#8084](https://github.com/RocketChat/Rocket.Chat/pull/8084) by [@vcapretz](https://github.com/vcapretz)) + - [MOVE] Move slashcommands-open to client folder ([#8132](https://github.com/RocketChat/Rocket.Chat/pull/8132) by [@vcapretz](https://github.com/vcapretz)) + - [MOVE] Move kick command to client/server folders ([#8135](https://github.com/RocketChat/Rocket.Chat/pull/8135) by [@vcapretz](https://github.com/vcapretz)) + - [MOVE] Move join command to client/server folder ([#8136](https://github.com/RocketChat/Rocket.Chat/pull/8136) by [@vcapretz](https://github.com/vcapretz)) + - [MOVE] Move inviteall command to client/server folder ([#8137](https://github.com/RocketChat/Rocket.Chat/pull/8137) by [@vcapretz](https://github.com/vcapretz)) + - [MOVE] Move invite command to client/server folder ([#8138](https://github.com/RocketChat/Rocket.Chat/pull/8138) by [@vcapretz](https://github.com/vcapretz)) + - [MOVE] Move create command to client/server folder ([#8139](https://github.com/RocketChat/Rocket.Chat/pull/8139) by [@vcapretz](https://github.com/vcapretz)) + - [MOVE] Move archiveroom command to client/server folders ([#8140](https://github.com/RocketChat/Rocket.Chat/pull/8140) by [@vcapretz](https://github.com/vcapretz)) + - [MOVE] Move slackbridge to client/server folders ([#8141](https://github.com/RocketChat/Rocket.Chat/pull/8141) by [@vcapretz](https://github.com/vcapretz)) + - [MOVE] Move logger files to client/server folders ([#8150](https://github.com/RocketChat/Rocket.Chat/pull/8150) by [@vcapretz](https://github.com/vcapretz)) + - [MOVE] Move timesync files to client/server folders ([#8152](https://github.com/RocketChat/Rocket.Chat/pull/8152) by [@vcapretz](https://github.com/vcapretz)) + - Adding: How to Install in WeDeploy ([#8036](https://github.com/RocketChat/Rocket.Chat/pull/8036) by [@thompsonemerson](https://github.com/thompsonemerson)) + - Revert "npm deps update" ([#7983](https://github.com/RocketChat/Rocket.Chat/pull/7983)) + - npm deps update ([#7969](https://github.com/RocketChat/Rocket.Chat/pull/7969)) + - Added RocketChatLauncher (SaaS) ([#6606](https://github.com/RocketChat/Rocket.Chat/pull/6606) by [@designgurudotorg](https://github.com/designgurudotorg)) + - Develop sync ([#7866](https://github.com/RocketChat/Rocket.Chat/pull/7866)) + - Fix: users listed as online after API login ([#9111](https://github.com/RocketChat/Rocket.Chat/pull/9111)) + - Fix regression in api channels.members ([#9110](https://github.com/RocketChat/Rocket.Chat/pull/9110)) + - Fix: Clear all unreads modal not closing after confirming ([#9137](https://github.com/RocketChat/Rocket.Chat/pull/9137)) + - Fix: Message action quick buttons drops if "new message" divider is being shown ([#9138](https://github.com/RocketChat/Rocket.Chat/pull/9138)) + - Fix: Confirmation modals showing `Send` button ([#9136](https://github.com/RocketChat/Rocket.Chat/pull/9136)) + - Fix: Multiple unread indicators ([#9120](https://github.com/RocketChat/Rocket.Chat/pull/9120)) + - Fix: Messages being displayed in reverse order ([#9144](https://github.com/RocketChat/Rocket.Chat/pull/9144)) + - Fix: UI: Descenders of glyphs are cut off ([#9166](https://github.com/RocketChat/Rocket.Chat/pull/9166)) + - Fix: Click on channel name - hover area bigger than link area ([#9165](https://github.com/RocketChat/Rocket.Chat/pull/9165)) + - Fix: Canโ€™t login using LDAP via REST ([#9162](https://github.com/RocketChat/Rocket.Chat/pull/9162)) + - Fix: Unread line ([#9149](https://github.com/RocketChat/Rocket.Chat/pull/9149)) + - Fix test without oplog by waiting a successful login on changing users ([#9146](https://github.com/RocketChat/Rocket.Chat/pull/9146)) + - Replace postcss-nesting with postcss-nested ([#9200](https://github.com/RocketChat/Rocket.Chat/pull/9200)) + - Dependencies Update ([#9197](https://github.com/RocketChat/Rocket.Chat/pull/9197)) + - Fix: Rooms and users are using different avatar style ([#9196](https://github.com/RocketChat/Rocket.Chat/pull/9196)) + - Typo: German language file ([#9190](https://github.com/RocketChat/Rocket.Chat/pull/9190) by [@TheReal1604](https://github.com/TheReal1604)) + - Fix: Snippet name to not showing in snippet list ([#9184](https://github.com/RocketChat/Rocket.Chat/pull/9184) by [@karlprieb](https://github.com/karlprieb)) + - Fix/api me only return verified ([#9183](https://github.com/RocketChat/Rocket.Chat/pull/9183)) + - Fix: UI: Descenders of glyphs are cut off ([#9181](https://github.com/RocketChat/Rocket.Chat/pull/9181)) + - Fix: Unneeded warning in payload of REST API calls ([#9240](https://github.com/RocketChat/Rocket.Chat/pull/9240)) + - Fix: Missing option to set user's avatar from a url ([#9229](https://github.com/RocketChat/Rocket.Chat/pull/9229)) + - Fix: updating last message on message edit or delete ([#9227](https://github.com/RocketChat/Rocket.Chat/pull/9227)) + - Fix: Username find is matching partially ([#9217](https://github.com/RocketChat/Rocket.Chat/pull/9217)) + - Fix: Upload access control too distributed ([#9215](https://github.com/RocketChat/Rocket.Chat/pull/9215)) + - Do not change room icon color when room is unread ([#9257](https://github.com/RocketChat/Rocket.Chat/pull/9257)) + - LingoHub based on develop ([#9256](https://github.com/RocketChat/Rocket.Chat/pull/9256)) + - Add curl, its missing on worker nodes so has to be explicitly added ([#9248](https://github.com/RocketChat/Rocket.Chat/pull/9248)) + - Fix: Sidebar item on rtl and small devices ([#9247](https://github.com/RocketChat/Rocket.Chat/pull/9247) by [@karlprieb](https://github.com/karlprieb))
@@ -5817,6 +8511,7 @@
๐Ÿ” Minor changes + - Fix tag build ([#8973](https://github.com/RocketChat/Rocket.Chat/pull/8973))
@@ -5835,6 +8530,7 @@
๐Ÿ” Minor changes + - Fix CircleCI deploy filter ([#8972](https://github.com/RocketChat/Rocket.Chat/pull/8972))
@@ -5852,12 +8548,15 @@ ### ๐Ÿ› Bug fixes + - Channel settings buttons ([#8753](https://github.com/RocketChat/Rocket.Chat/pull/8753) by [@karlprieb](https://github.com/karlprieb))
๐Ÿ” Minor changes + - Release/0.59.4 ([#8967](https://github.com/RocketChat/Rocket.Chat/pull/8967) by [@cpitman](https://github.com/cpitman) & [@karlprieb](https://github.com/karlprieb)) + - Add CircleCI ([#8685](https://github.com/RocketChat/Rocket.Chat/pull/8685))
@@ -5882,18 +8581,27 @@ ### ๐Ÿ› Bug fixes + - AmazonS3: Quote file.name for ContentDisposition for files with commas ([#8593](https://github.com/RocketChat/Rocket.Chat/pull/8593) by [@xenithorb](https://github.com/xenithorb)) + - Fix e-mail message forward ([#8645](https://github.com/RocketChat/Rocket.Chat/pull/8645)) + - Audio message icon ([#8648](https://github.com/RocketChat/Rocket.Chat/pull/8648) by [@karlprieb](https://github.com/karlprieb)) + - Highlighted color height issue ([#8431](https://github.com/RocketChat/Rocket.Chat/pull/8431) by [@cyclops24](https://github.com/cyclops24)) + - Update pt-BR translation ([#8655](https://github.com/RocketChat/Rocket.Chat/pull/8655) by [@rodorgas](https://github.com/rodorgas)) + - Fix typos ([#8679](https://github.com/RocketChat/Rocket.Chat/pull/8679)) + - LDAP not respecting UTF8 characters & Sync Interval not working ([#8691](https://github.com/RocketChat/Rocket.Chat/pull/8691))
๐Ÿ” Minor changes + - removing a duplicate line ([#8434](https://github.com/RocketChat/Rocket.Chat/pull/8434) by [@vikaskedia](https://github.com/vikaskedia)) + - install grpc package manually to fix snap armhf build ([#8653](https://github.com/RocketChat/Rocket.Chat/pull/8653))
@@ -5921,11 +8629,17 @@ ### ๐Ÿ› Bug fixes + - Missing scroll at create channel page ([#8637](https://github.com/RocketChat/Rocket.Chat/pull/8637) by [@karlprieb](https://github.com/karlprieb)) + - Message popup menu on mobile/cordova ([#8634](https://github.com/RocketChat/Rocket.Chat/pull/8634) by [@karlprieb](https://github.com/karlprieb)) + - API channel/group.members not sorting ([#8635](https://github.com/RocketChat/Rocket.Chat/pull/8635)) + - LDAP not merging existent users && Wrong id link generation ([#8613](https://github.com/RocketChat/Rocket.Chat/pull/8613)) + - encode filename in url to prevent links breaking ([#8551](https://github.com/RocketChat/Rocket.Chat/pull/8551) by [@joesitton](https://github.com/joesitton)) + - Fix guest pool inquiry taking ([#8577](https://github.com/RocketChat/Rocket.Chat/pull/8577)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜ @@ -5947,9 +8661,13 @@ ### ๐Ÿ› Bug fixes + - Color reset when default value editor is different ([#8543](https://github.com/RocketChat/Rocket.Chat/pull/8543)) + - Wrong colors after migration 103 ([#8547](https://github.com/RocketChat/Rocket.Chat/pull/8547)) + - LDAP login error regression at 0.59.0 ([#8541](https://github.com/RocketChat/Rocket.Chat/pull/8541)) + - Migration 103 wrong converting primrary colors ([#8544](https://github.com/RocketChat/Rocket.Chat/pull/8544)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -5966,202 +8684,392 @@ ### ๐ŸŽ‰ New features + - Replace message cog for vertical menu ([#7864](https://github.com/RocketChat/Rocket.Chat/pull/7864) by [@karlprieb](https://github.com/karlprieb)) + - block users to mention unknow users ([#7830](https://github.com/RocketChat/Rocket.Chat/pull/7830)) + - Allow ldap mapping of customFields ([#7614](https://github.com/RocketChat/Rocket.Chat/pull/7614) by [@goiaba](https://github.com/goiaba)) + - Create a standard for our svg icons ([#7853](https://github.com/RocketChat/Rocket.Chat/pull/7853) by [@karlprieb](https://github.com/karlprieb)) + - Allows admin to list all groups with API ([#7565](https://github.com/RocketChat/Rocket.Chat/pull/7565) by [@mboudet](https://github.com/mboudet)) + - Add markdown parser "marked" ([#7852](https://github.com/RocketChat/Rocket.Chat/pull/7852) by [@nishimaki10](https://github.com/nishimaki10)) + - Audio Notification updated in sidebar ([#7817](https://github.com/RocketChat/Rocket.Chat/pull/7817) by [@aditya19496](https://github.com/aditya19496) & [@maarten-v](https://github.com/maarten-v)) + - Search users by fields defined by admin ([#7612](https://github.com/RocketChat/Rocket.Chat/pull/7612) by [@goiaba](https://github.com/goiaba)) + - Template to show Custom Fields in user info view ([#7688](https://github.com/RocketChat/Rocket.Chat/pull/7688) by [@goiaba](https://github.com/goiaba)) + - Add room type as a class to the ul-group of rooms ([#7711](https://github.com/RocketChat/Rocket.Chat/pull/7711) by [@danischreiber](https://github.com/danischreiber)) + - Add classes to notification menu so they can be hidden in css ([#7636](https://github.com/RocketChat/Rocket.Chat/pull/7636) by [@danischreiber](https://github.com/danischreiber)) + - Adds a Keyboard Shortcut option to the flextab ([#5902](https://github.com/RocketChat/Rocket.Chat/pull/5902) by [@cnash](https://github.com/cnash) & [@karlprieb](https://github.com/karlprieb)) + - Integrated personal email gateway (GSoC'17) ([#7342](https://github.com/RocketChat/Rocket.Chat/pull/7342) by [@pkgodara](https://github.com/pkgodara)) + - Add tags to uploaded images using Google Cloud Vision API ([#6301](https://github.com/RocketChat/Rocket.Chat/pull/6301) by [@karlprieb](https://github.com/karlprieb)) + - Package to render issue numbers into links to an issue tracker. ([#6700](https://github.com/RocketChat/Rocket.Chat/pull/6700) by [@TAdeJong](https://github.com/TAdeJong) & [@TobiasKappe](https://github.com/TobiasKappe)) + - Automatically select the first channel ([#7350](https://github.com/RocketChat/Rocket.Chat/pull/7350) by [@antaryami-sahoo](https://github.com/antaryami-sahoo)) + - Rocket.Chat UI Redesign ([#7643](https://github.com/RocketChat/Rocket.Chat/pull/7643)) + - Upgrade to meteor 1.5.2 ([#8073](https://github.com/RocketChat/Rocket.Chat/pull/8073)) + - Enable read only channel creation ([#8260](https://github.com/RocketChat/Rocket.Chat/pull/8260) by [@karlprieb](https://github.com/karlprieb)) + - Add RD Station integration to livechat ([#8304](https://github.com/RocketChat/Rocket.Chat/pull/8304)) + - Unify unread and mentions badge ([#8361](https://github.com/RocketChat/Rocket.Chat/pull/8361) by [@karlprieb](https://github.com/karlprieb)) + - make sidebar item width 100% ([#8362](https://github.com/RocketChat/Rocket.Chat/pull/8362) by [@karlprieb](https://github.com/karlprieb)) + - Smaller accountBox ([#8360](https://github.com/RocketChat/Rocket.Chat/pull/8360) by [@karlprieb](https://github.com/karlprieb)) + - Setting to disable MarkDown and enable AutoLinker ([#8459](https://github.com/RocketChat/Rocket.Chat/pull/8459)) ### ๐Ÿ› Bug fixes + - File upload on multi-instances using a path prefix ([#7855](https://github.com/RocketChat/Rocket.Chat/pull/7855) by [@Darkneon](https://github.com/Darkneon)) + - Fix migration 100 ([#7863](https://github.com/RocketChat/Rocket.Chat/pull/7863)) + - Email message forward error ([#7846](https://github.com/RocketChat/Rocket.Chat/pull/7846)) + - Add CSS support for Safari versions > 7 ([#7854](https://github.com/RocketChat/Rocket.Chat/pull/7854)) + - Fix black background on transparent avatars ([#7168](https://github.com/RocketChat/Rocket.Chat/pull/7168)) + - Google vision NSFW tag ([#7825](https://github.com/RocketChat/Rocket.Chat/pull/7825)) + - meteor-accounts-saml issue with ns0,ns1 namespaces, makes it compatible with pysaml2 lib ([#7721](https://github.com/RocketChat/Rocket.Chat/pull/7721) by [@arminfelder](https://github.com/arminfelder)) + - Fix new-message button showing on search ([#7823](https://github.com/RocketChat/Rocket.Chat/pull/7823)) + - Settings not getting applied from Meteor.settings and process.env ([#7779](https://github.com/RocketChat/Rocket.Chat/pull/7779) by [@Darkneon](https://github.com/Darkneon)) + - scroll on flex-tab ([#7748](https://github.com/RocketChat/Rocket.Chat/pull/7748)) + - Dutch translations ([#7815](https://github.com/RocketChat/Rocket.Chat/pull/7815) by [@maarten-v](https://github.com/maarten-v)) + - Fix Dutch translation ([#7814](https://github.com/RocketChat/Rocket.Chat/pull/7814) by [@maarten-v](https://github.com/maarten-v)) + - Update Snap links ([#7778](https://github.com/RocketChat/Rocket.Chat/pull/7778) by [@MichaelGooden](https://github.com/MichaelGooden)) + - Remove redundant "do" in "Are you sure ...?" messages. ([#7809](https://github.com/RocketChat/Rocket.Chat/pull/7809) by [@xurizaemon](https://github.com/xurizaemon)) + - Fixed function closure syntax allowing validation emails to be sent. ([#7758](https://github.com/RocketChat/Rocket.Chat/pull/7758) by [@snoozan](https://github.com/snoozan)) + - Fix avatar upload fail on Cordova app ([#7656](https://github.com/RocketChat/Rocket.Chat/pull/7656) by [@ccfang](https://github.com/ccfang)) + - Make link inside YouTube preview open in new tab ([#7679](https://github.com/RocketChat/Rocket.Chat/pull/7679) by [@1lann](https://github.com/1lann)) + - Remove references to non-existent tests ([#7672](https://github.com/RocketChat/Rocket.Chat/pull/7672) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - Example usage of unsubscribe.js ([#7673](https://github.com/RocketChat/Rocket.Chat/pull/7673) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - sidebar paddings ([#7880](https://github.com/RocketChat/Rocket.Chat/pull/7880) by [@karlprieb](https://github.com/karlprieb)) + - Adds default search text padding for emoji search ([#7878](https://github.com/RocketChat/Rocket.Chat/pull/7878) by [@gdelavald](https://github.com/gdelavald)) + - search results position on sidebar ([#7881](https://github.com/RocketChat/Rocket.Chat/pull/7881) by [@karlprieb](https://github.com/karlprieb)) + - hyperlink style on sidebar footer ([#7882](https://github.com/RocketChat/Rocket.Chat/pull/7882) by [@karlprieb](https://github.com/karlprieb)) + - popover position on mobile ([#7883](https://github.com/RocketChat/Rocket.Chat/pull/7883) by [@karlprieb](https://github.com/karlprieb)) + - message actions over unread bar ([#7885](https://github.com/RocketChat/Rocket.Chat/pull/7885) by [@karlprieb](https://github.com/karlprieb)) + - livechat icon ([#7886](https://github.com/RocketChat/Rocket.Chat/pull/7886) by [@karlprieb](https://github.com/karlprieb)) + - Makes text action menu width based on content size ([#7887](https://github.com/RocketChat/Rocket.Chat/pull/7887) by [@gdelavald](https://github.com/gdelavald)) + - sidebar buttons and badge paddings ([#7888](https://github.com/RocketChat/Rocket.Chat/pull/7888) by [@karlprieb](https://github.com/karlprieb)) + - Fix google play logo on repo README ([#7912](https://github.com/RocketChat/Rocket.Chat/pull/7912) by [@luizbills](https://github.com/luizbills)) + - Fix livechat toggle UI issue ([#7904](https://github.com/RocketChat/Rocket.Chat/pull/7904)) + - Remove break change in Realtime API ([#7895](https://github.com/RocketChat/Rocket.Chat/pull/7895)) + - Window exception when parsing Markdown on server ([#7893](https://github.com/RocketChat/Rocket.Chat/pull/7893)) + - Text area buttons and layout on mobile ([#7985](https://github.com/RocketChat/Rocket.Chat/pull/7985)) + - Double scroll on 'keyboard shortcuts' menu in sidepanel ([#7927](https://github.com/RocketChat/Rocket.Chat/pull/7927) by [@aditya19496](https://github.com/aditya19496)) + - Broken embedded view layout ([#7944](https://github.com/RocketChat/Rocket.Chat/pull/7944) by [@karlprieb](https://github.com/karlprieb)) + - Textarea on firefox ([#7986](https://github.com/RocketChat/Rocket.Chat/pull/7986)) + - Chat box no longer auto-focuses when typing ([#7984](https://github.com/RocketChat/Rocket.Chat/pull/7984)) + - Add padding on messages to allow space to the action buttons ([#7971](https://github.com/RocketChat/Rocket.Chat/pull/7971)) + - Small alignment fixes ([#7970](https://github.com/RocketChat/Rocket.Chat/pull/7970)) + - Markdown being rendered in code tags ([#7965](https://github.com/RocketChat/Rocket.Chat/pull/7965)) + - Fix the status on the members list ([#7963](https://github.com/RocketChat/Rocket.Chat/pull/7963)) + - status and active room colors on sidebar ([#7960](https://github.com/RocketChat/Rocket.Chat/pull/7960) by [@karlprieb](https://github.com/karlprieb)) + - OTR buttons padding ([#7954](https://github.com/RocketChat/Rocket.Chat/pull/7954) by [@karlprieb](https://github.com/karlprieb)) + - username ellipsis on firefox ([#7953](https://github.com/RocketChat/Rocket.Chat/pull/7953) by [@karlprieb](https://github.com/karlprieb)) + - Document README.md. Drupal repo out of date ([#7948](https://github.com/RocketChat/Rocket.Chat/pull/7948) by [@Lawri-van-Buel](https://github.com/Lawri-van-Buel)) + - Fix placeholders in account profile ([#7945](https://github.com/RocketChat/Rocket.Chat/pull/7945) by [@josiasds](https://github.com/josiasds)) + - Broken emoji picker on firefox ([#7943](https://github.com/RocketChat/Rocket.Chat/pull/7943) by [@karlprieb](https://github.com/karlprieb)) + - Create channel button on Firefox ([#7942](https://github.com/RocketChat/Rocket.Chat/pull/7942) by [@karlprieb](https://github.com/karlprieb)) + - Show leader on first load ([#7712](https://github.com/RocketChat/Rocket.Chat/pull/7712) by [@danischreiber](https://github.com/danischreiber)) + - Vertical menu on flex-tab ([#7988](https://github.com/RocketChat/Rocket.Chat/pull/7988) by [@karlprieb](https://github.com/karlprieb)) + - Invisible leader bar on hover ([#8048](https://github.com/RocketChat/Rocket.Chat/pull/8048)) + - Prevent autotranslate tokens race condition ([#8046](https://github.com/RocketChat/Rocket.Chat/pull/8046)) + - copy to clipboard and update clipboard.js library ([#8039](https://github.com/RocketChat/Rocket.Chat/pull/8039) by [@karlprieb](https://github.com/karlprieb)) + - message-box autogrow ([#8019](https://github.com/RocketChat/Rocket.Chat/pull/8019) by [@karlprieb](https://github.com/karlprieb)) + - search results height ([#8018](https://github.com/RocketChat/Rocket.Chat/pull/8018) by [@gdelavald](https://github.com/gdelavald) & [@karlprieb](https://github.com/karlprieb)) + - room icon on header ([#8017](https://github.com/RocketChat/Rocket.Chat/pull/8017) by [@karlprieb](https://github.com/karlprieb)) + - Hide scrollbar on login page if not necessary ([#8014](https://github.com/RocketChat/Rocket.Chat/pull/8014) by [@alexbrazier](https://github.com/alexbrazier)) + - Error when translating message ([#8001](https://github.com/RocketChat/Rocket.Chat/pull/8001)) + - Recent emojis not updated when adding via text ([#7998](https://github.com/RocketChat/Rocket.Chat/pull/7998)) + - [PL] Polish translation ([#7989](https://github.com/RocketChat/Rocket.Chat/pull/7989) by [@Rzeszow](https://github.com/Rzeszow)) + - Fix email on mention ([#7754](https://github.com/RocketChat/Rocket.Chat/pull/7754)) + - RTL ([#8112](https://github.com/RocketChat/Rocket.Chat/pull/8112)) + - Dynamic popover ([#8101](https://github.com/RocketChat/Rocket.Chat/pull/8101) by [@karlprieb](https://github.com/karlprieb)) + - Settings description not showing ([#8122](https://github.com/RocketChat/Rocket.Chat/pull/8122)) + - Fix setting user avatar on LDAP login ([#8099](https://github.com/RocketChat/Rocket.Chat/pull/8099)) + - Not sending email to mentioned users with unchanged preference ([#8059](https://github.com/RocketChat/Rocket.Chat/pull/8059)) + - Scroll on messagebox ([#8047](https://github.com/RocketChat/Rocket.Chat/pull/8047)) + - Allow unknown file types if no allowed whitelist has been set (#7074) ([#8172](https://github.com/RocketChat/Rocket.Chat/pull/8172) by [@TriPhoenix](https://github.com/TriPhoenix)) + - Issue #8166 where empty analytics setting breaks to load Piwik script ([#8167](https://github.com/RocketChat/Rocket.Chat/pull/8167) by [@ruKurz](https://github.com/ruKurz)) + - Sidebar and RTL alignments ([#8154](https://github.com/RocketChat/Rocket.Chat/pull/8154) by [@karlprieb](https://github.com/karlprieb)) + - "*.members" rest api being useless and only returning usernames ([#8147](https://github.com/RocketChat/Rocket.Chat/pull/8147)) + - Fix iframe login API response (issue #8145) ([#8146](https://github.com/RocketChat/Rocket.Chat/pull/8146) by [@astax-t](https://github.com/astax-t)) + - Text area lost text when page reloads ([#8159](https://github.com/RocketChat/Rocket.Chat/pull/8159)) + - Fix new room sound being played too much ([#8144](https://github.com/RocketChat/Rocket.Chat/pull/8144)) + - Add admin audio preferences translations ([#8094](https://github.com/RocketChat/Rocket.Chat/pull/8094)) + - Leave and hide buttons was removed ([#8213](https://github.com/RocketChat/Rocket.Chat/pull/8213) by [@karlprieb](https://github.com/karlprieb)) + - Incorrect URL for login terms when using prefix ([#8211](https://github.com/RocketChat/Rocket.Chat/pull/8211) by [@Darkneon](https://github.com/Darkneon)) + - User avatar in DM list. ([#8210](https://github.com/RocketChat/Rocket.Chat/pull/8210)) + - Scrollbar not using new style ([#8190](https://github.com/RocketChat/Rocket.Chat/pull/8190)) + - sidenav colors, hide and leave, create channel on safari ([#8257](https://github.com/RocketChat/Rocket.Chat/pull/8257) by [@karlprieb](https://github.com/karlprieb)) + - make sidebar item animation fast ([#8262](https://github.com/RocketChat/Rocket.Chat/pull/8262) by [@karlprieb](https://github.com/karlprieb)) + - RTL on reply ([#8261](https://github.com/RocketChat/Rocket.Chat/pull/8261) by [@karlprieb](https://github.com/karlprieb)) + - clipboard and permalink on new popover ([#8259](https://github.com/RocketChat/Rocket.Chat/pull/8259) by [@karlprieb](https://github.com/karlprieb)) + - sidenav mentions on hover ([#8252](https://github.com/RocketChat/Rocket.Chat/pull/8252) by [@karlprieb](https://github.com/karlprieb)) + - Api groups.files is always returning empty ([#8241](https://github.com/RocketChat/Rocket.Chat/pull/8241)) + - Case insensitive SAML email check ([#8216](https://github.com/RocketChat/Rocket.Chat/pull/8216) by [@arminfelder](https://github.com/arminfelder)) + - Execute meteor reset on TRAVIS_TAG builds ([#8310](https://github.com/RocketChat/Rocket.Chat/pull/8310)) + - Call buttons with wrong margin on RTL ([#8307](https://github.com/RocketChat/Rocket.Chat/pull/8307) by [@karlprieb](https://github.com/karlprieb)) + - Emoji Picker hidden for reactions in RTL ([#8300](https://github.com/RocketChat/Rocket.Chat/pull/8300) by [@karlprieb](https://github.com/karlprieb)) + - Amin menu not showing all items & File list breaking line ([#8299](https://github.com/RocketChat/Rocket.Chat/pull/8299) by [@karlprieb](https://github.com/karlprieb)) + - TypeError: Cannot read property 't' of undefined ([#8298](https://github.com/RocketChat/Rocket.Chat/pull/8298)) + - Wrong file name when upload to AWS S3 ([#8296](https://github.com/RocketChat/Rocket.Chat/pull/8296)) + - Check attachments is defined before accessing first element ([#8295](https://github.com/RocketChat/Rocket.Chat/pull/8295) by [@Darkneon](https://github.com/Darkneon)) + - Missing placeholder translations ([#8286](https://github.com/RocketChat/Rocket.Chat/pull/8286)) + - fix color on unread messages ([#8282](https://github.com/RocketChat/Rocket.Chat/pull/8282)) + - "Cancel button" on modal in RTL in Firefox 55 ([#8278](https://github.com/RocketChat/Rocket.Chat/pull/8278) by [@cyclops24](https://github.com/cyclops24)) + - Attachment icons alignment in LTR and RTL ([#8271](https://github.com/RocketChat/Rocket.Chat/pull/8271) by [@cyclops24](https://github.com/cyclops24)) + - [i18n] My Profile & README.md links ([#8270](https://github.com/RocketChat/Rocket.Chat/pull/8270) by [@Rzeszow](https://github.com/Rzeszow)) + - some placeholder and phrase traslation fix ([#8269](https://github.com/RocketChat/Rocket.Chat/pull/8269) by [@cyclops24](https://github.com/cyclops24)) + - "Channel Setting" buttons alignment in RTL ([#8266](https://github.com/RocketChat/Rocket.Chat/pull/8266) by [@cyclops24](https://github.com/cyclops24)) + - Removing pipe and commas from custom emojis (#8168) ([#8237](https://github.com/RocketChat/Rocket.Chat/pull/8237) by [@matheusml](https://github.com/matheusml)) + - After deleting the room, cache is not synchronizing ([#8314](https://github.com/RocketChat/Rocket.Chat/pull/8314) by [@szluohua](https://github.com/szluohua)) + - Remove sidebar header on admin embedded version ([#8334](https://github.com/RocketChat/Rocket.Chat/pull/8334) by [@karlprieb](https://github.com/karlprieb)) + - Email Subjects not being sent ([#8317](https://github.com/RocketChat/Rocket.Chat/pull/8317)) + - Put delete action on another popover group ([#8315](https://github.com/RocketChat/Rocket.Chat/pull/8315) by [@karlprieb](https://github.com/karlprieb)) + - Mention unread indicator was removed ([#8316](https://github.com/RocketChat/Rocket.Chat/pull/8316)) + - Various LDAP issues & Missing pagination ([#8372](https://github.com/RocketChat/Rocket.Chat/pull/8372)) + - remove accountBox from admin menu ([#8358](https://github.com/RocketChat/Rocket.Chat/pull/8358) by [@karlprieb](https://github.com/karlprieb)) + - Missing i18n translations ([#8357](https://github.com/RocketChat/Rocket.Chat/pull/8357)) + - Sidebar item menu position in RTL ([#8397](https://github.com/RocketChat/Rocket.Chat/pull/8397) by [@cyclops24](https://github.com/cyclops24)) + - disabled katex tooltip on messageBox ([#8386](https://github.com/RocketChat/Rocket.Chat/pull/8386)) + - LDAP memory issues when pagination is not available ([#8457](https://github.com/RocketChat/Rocket.Chat/pull/8457)) + - Uncessary route reload break some routes ([#8514](https://github.com/RocketChat/Rocket.Chat/pull/8514)) + - Invalid Code message for password protected channel ([#8491](https://github.com/RocketChat/Rocket.Chat/pull/8491)) + - Wrong message when reseting password and 2FA is enabled ([#8489](https://github.com/RocketChat/Rocket.Chat/pull/8489)) + - Do not send joinCode field to clients ([#8527](https://github.com/RocketChat/Rocket.Chat/pull/8527))
๐Ÿ” Minor changes + - Merge 0.58.4 to master ([#8420](https://github.com/RocketChat/Rocket.Chat/pull/8420)) + - 0.58.3 ([#8335](https://github.com/RocketChat/Rocket.Chat/pull/8335)) + - Mobile sidenav ([#7865](https://github.com/RocketChat/Rocket.Chat/pull/7865)) + - npm deps update ([#7842](https://github.com/RocketChat/Rocket.Chat/pull/7842)) + - LingoHub based on develop ([#7803](https://github.com/RocketChat/Rocket.Chat/pull/7803)) + - Additions to the REST API ([#7793](https://github.com/RocketChat/Rocket.Chat/pull/7793)) + - npm deps update ([#7755](https://github.com/RocketChat/Rocket.Chat/pull/7755)) + - FIX: Error when starting local development environment ([#7728](https://github.com/RocketChat/Rocket.Chat/pull/7728) by [@rdebeasi](https://github.com/rdebeasi)) + - Remove CircleCI ([#7739](https://github.com/RocketChat/Rocket.Chat/pull/7739)) + - Meteor packages and npm dependencies update ([#7677](https://github.com/RocketChat/Rocket.Chat/pull/7677)) + - [MOVE] Client folder rocketchat-colors ([#7664](https://github.com/RocketChat/Rocket.Chat/pull/7664) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - [MOVE] Client folder rocketchat-custom-oauth ([#7665](https://github.com/RocketChat/Rocket.Chat/pull/7665) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - [MOVE] Client folder rocketchat-tooltip ([#7666](https://github.com/RocketChat/Rocket.Chat/pull/7666) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - [MOVE] Client folder rocketchat-autolinker ([#7667](https://github.com/RocketChat/Rocket.Chat/pull/7667) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - [MOVE] Client folder rocketchat-cas ([#7668](https://github.com/RocketChat/Rocket.Chat/pull/7668) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - [MOVE] Client folder rocketchat-highlight-words ([#7669](https://github.com/RocketChat/Rocket.Chat/pull/7669) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - [MOVE] Client folder rocketchat-custom-sounds ([#7670](https://github.com/RocketChat/Rocket.Chat/pull/7670) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - [MOVE] Client folder rocketchat-emoji ([#7671](https://github.com/RocketChat/Rocket.Chat/pull/7671) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - Fix typo in generated URI ([#7661](https://github.com/RocketChat/Rocket.Chat/pull/7661) by [@Rohlik](https://github.com/Rohlik)) + - Bump version to 0.59.0-develop ([#7625](https://github.com/RocketChat/Rocket.Chat/pull/7625)) + - implemented new page-loader animated icon ([#2](https://github.com/RocketChat/Rocket.Chat/pull/2)) + - Hide flex-tab close button ([#7894](https://github.com/RocketChat/Rocket.Chat/pull/7894) by [@karlprieb](https://github.com/karlprieb)) + - Update BlackDuck URL ([#7941](https://github.com/RocketChat/Rocket.Chat/pull/7941)) + - [DOCS] Add native mobile app links into README and update button images ([#7909](https://github.com/RocketChat/Rocket.Chat/pull/7909) by [@rafaelks](https://github.com/rafaelks)) + - Remove unnecessary returns in cors common ([#8054](https://github.com/RocketChat/Rocket.Chat/pull/8054) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - npm deps update ([#8197](https://github.com/RocketChat/Rocket.Chat/pull/8197)) + - Fix more rtl issues ([#8194](https://github.com/RocketChat/Rocket.Chat/pull/8194) by [@karlprieb](https://github.com/karlprieb)) + - readme-file: fix broken link ([#8253](https://github.com/RocketChat/Rocket.Chat/pull/8253) by [@vcapretz](https://github.com/vcapretz)) + - Disable perfect scrollbar ([#8244](https://github.com/RocketChat/Rocket.Chat/pull/8244)) + - Fix `leave and hide` click, color and position ([#8243](https://github.com/RocketChat/Rocket.Chat/pull/8243) by [@karlprieb](https://github.com/karlprieb)) + - Deps update ([#8273](https://github.com/RocketChat/Rocket.Chat/pull/8273)) + - Update meteor to 1.5.2.2-rc.0 ([#8355](https://github.com/RocketChat/Rocket.Chat/pull/8355)) + - [FIX-RC] Mobile file upload not working ([#8331](https://github.com/RocketChat/Rocket.Chat/pull/8331) by [@karlprieb](https://github.com/karlprieb)) + - LingoHub based on develop ([#8375](https://github.com/RocketChat/Rocket.Chat/pull/8375)) + - Update Meteor to 1.5.2.2 ([#8364](https://github.com/RocketChat/Rocket.Chat/pull/8364)) + - Sync translations from LingoHub ([#8363](https://github.com/RocketChat/Rocket.Chat/pull/8363)) + - Remove field `lastActivity` from subscription data ([#8345](https://github.com/RocketChat/Rocket.Chat/pull/8345)) + - Fix: Account menu position on RTL ([#8416](https://github.com/RocketChat/Rocket.Chat/pull/8416) by [@karlprieb](https://github.com/karlprieb)) + - Fix: Missing LDAP option to show internal logs ([#8417](https://github.com/RocketChat/Rocket.Chat/pull/8417)) + - Fix: Missing LDAP reconnect setting ([#8414](https://github.com/RocketChat/Rocket.Chat/pull/8414)) + - Add i18n Title to snippet messages ([#8394](https://github.com/RocketChat/Rocket.Chat/pull/8394)) + - Fix: Missing settings to configure LDAP size and page limits ([#8398](https://github.com/RocketChat/Rocket.Chat/pull/8398)) + - Improve markdown parser code ([#8451](https://github.com/RocketChat/Rocket.Chat/pull/8451)) + - Change artifact path ([#8515](https://github.com/RocketChat/Rocket.Chat/pull/8515)) + - Color variables migration ([#8463](https://github.com/RocketChat/Rocket.Chat/pull/8463) by [@karlprieb](https://github.com/karlprieb)) + - Fix: Change password not working in new UI ([#8516](https://github.com/RocketChat/Rocket.Chat/pull/8516)) + - Enable AutoLinker back ([#8490](https://github.com/RocketChat/Rocket.Chat/pull/8490)) + - Fix artifact path ([#8518](https://github.com/RocketChat/Rocket.Chat/pull/8518)) + - Fix high CPU load when sending messages on large rooms (regression) ([#8520](https://github.com/RocketChat/Rocket.Chat/pull/8520)) + - Improve room sync speed ([#8529](https://github.com/RocketChat/Rocket.Chat/pull/8529))
@@ -6233,6 +9141,7 @@
๐Ÿ” Minor changes + - Release 0.58.2 ([#7841](https://github.com/RocketChat/Rocket.Chat/pull/7841) by [@snoozan](https://github.com/snoozan))
@@ -6254,11 +9163,13 @@ ### ๐Ÿ› Bug fixes + - Fix flex tab not opening and getting offscreen ([#7781](https://github.com/RocketChat/Rocket.Chat/pull/7781))
๐Ÿ” Minor changes + - Release 0.58.1 ([#7782](https://github.com/RocketChat/Rocket.Chat/pull/7782))
@@ -6277,93 +9188,171 @@ ### โš ๏ธ BREAKING CHANGES + - Remove Sandstorm login method ([#7556](https://github.com/RocketChat/Rocket.Chat/pull/7556)) ### ๐ŸŽ‰ New features + - Allow special chars on room names ([#7595](https://github.com/RocketChat/Rocket.Chat/pull/7595)) + - Add admin and user setting for notifications #4339 ([#7479](https://github.com/RocketChat/Rocket.Chat/pull/7479) by [@stalley](https://github.com/stalley)) + - Edit user permissions ([#7309](https://github.com/RocketChat/Rocket.Chat/pull/7309)) + - Adding support for piwik sub domain settings ([#7324](https://github.com/RocketChat/Rocket.Chat/pull/7324) by [@ruKurz](https://github.com/ruKurz)) + - Add setting to change User Agent of OEmbed calls ([#6753](https://github.com/RocketChat/Rocket.Chat/pull/6753) by [@AhmetS](https://github.com/AhmetS)) + - Configurable Volume for Notifications #6087 ([#7517](https://github.com/RocketChat/Rocket.Chat/pull/7517) by [@lindoelio](https://github.com/lindoelio)) + - Add customFields in rooms/get method ([#6564](https://github.com/RocketChat/Rocket.Chat/pull/6564) by [@borsden](https://github.com/borsden)) + - Option to select unread count style ([#7589](https://github.com/RocketChat/Rocket.Chat/pull/7589)) + - Show different shape for alert numbers when have mentions ([#7580](https://github.com/RocketChat/Rocket.Chat/pull/7580)) + - Add reaction to the last message when get the shortcut +: ([#7569](https://github.com/RocketChat/Rocket.Chat/pull/7569) by [@danilomiranda](https://github.com/danilomiranda)) + - Show emojis and file uploads on notifications ([#7559](https://github.com/RocketChat/Rocket.Chat/pull/7559)) + - Closes tab bar on mobile when leaving room ([#7561](https://github.com/RocketChat/Rocket.Chat/pull/7561) by [@gdelavald](https://github.com/gdelavald)) + - Adds preference to one-click-to-direct-message and basic functionality ([#7564](https://github.com/RocketChat/Rocket.Chat/pull/7564) by [@gdelavald](https://github.com/gdelavald)) + - Search users also by email in toolbar ([#7334](https://github.com/RocketChat/Rocket.Chat/pull/7334) by [@shahar3012](https://github.com/shahar3012)) + - Do not rate limit bots on createDirectMessage ([#7326](https://github.com/RocketChat/Rocket.Chat/pull/7326) by [@jangmarker](https://github.com/jangmarker)) + - Allow channel property in the integrations returned content ([#7214](https://github.com/RocketChat/Rocket.Chat/pull/7214)) + - Add room type identifier to room list header ([#7520](https://github.com/RocketChat/Rocket.Chat/pull/7520) by [@danischreiber](https://github.com/danischreiber)) + - Room type and recipient data for global event ([#7523](https://github.com/RocketChat/Rocket.Chat/pull/7523) by [@danischreiber](https://github.com/danischreiber)) + - Show room leader at top of chat when user scrolls down. Set and unset leader as admin. ([#7526](https://github.com/RocketChat/Rocket.Chat/pull/7526) by [@danischreiber](https://github.com/danischreiber)) + - Add toolbar buttons for iframe API ([#7525](https://github.com/RocketChat/Rocket.Chat/pull/7525)) + - Add close button to flex tabs ([#7529](https://github.com/RocketChat/Rocket.Chat/pull/7529)) + - Update meteor to 1.5.1 ([#7496](https://github.com/RocketChat/Rocket.Chat/pull/7496)) + - flex-tab now is side by side with message list ([#7448](https://github.com/RocketChat/Rocket.Chat/pull/7448) by [@karlprieb](https://github.com/karlprieb)) + - Option to select unread count behavior ([#7477](https://github.com/RocketChat/Rocket.Chat/pull/7477)) + - Add healthchecks in OpenShift templates ([#7184](https://github.com/RocketChat/Rocket.Chat/pull/7184) by [@jfchevrette](https://github.com/jfchevrette)) + - Add unread options for direct messages ([#7658](https://github.com/RocketChat/Rocket.Chat/pull/7658)) ### ๐Ÿ› Bug fixes + - Error when updating message with an empty attachment array ([#7624](https://github.com/RocketChat/Rocket.Chat/pull/7624)) + - Uploading an unknown file type erroring out ([#7623](https://github.com/RocketChat/Rocket.Chat/pull/7623)) + - Error when acessing settings before ready ([#7622](https://github.com/RocketChat/Rocket.Chat/pull/7622)) + - Message box on safari ([#7621](https://github.com/RocketChat/Rocket.Chat/pull/7621)) + - The username not being allowed to be passed into the user.setAvatar ([#7620](https://github.com/RocketChat/Rocket.Chat/pull/7620)) + - Fix Custom Fields Crashing on Register ([#7617](https://github.com/RocketChat/Rocket.Chat/pull/7617)) + - Fix admin room list show the correct i18n type ([#7582](https://github.com/RocketChat/Rocket.Chat/pull/7582) by [@ccfang](https://github.com/ccfang)) + - URL parse error fix for issue #7169 ([#7538](https://github.com/RocketChat/Rocket.Chat/pull/7538) by [@satyapramodh](https://github.com/satyapramodh)) + - User avatar image background ([#7572](https://github.com/RocketChat/Rocket.Chat/pull/7572) by [@filipedelimabrito](https://github.com/filipedelimabrito)) + - Look for livechat visitor IP address on X-Forwarded-For header ([#7554](https://github.com/RocketChat/Rocket.Chat/pull/7554)) + - Revert emojione package version upgrade ([#7557](https://github.com/RocketChat/Rocket.Chat/pull/7557)) + - Stop logging mentions object to console ([#7562](https://github.com/RocketChat/Rocket.Chat/pull/7562) by [@gdelavald](https://github.com/gdelavald)) + - Fix hiding flex-tab on embedded view ([#7486](https://github.com/RocketChat/Rocket.Chat/pull/7486)) + - Fix emoji picker translations ([#7195](https://github.com/RocketChat/Rocket.Chat/pull/7195)) + - Issue #7365: added check for the existence of a parameter in the CAS URL ([#7471](https://github.com/RocketChat/Rocket.Chat/pull/7471) by [@wsw70](https://github.com/wsw70)) + - Fix Word Placement Anywhere on WebHooks ([#7392](https://github.com/RocketChat/Rocket.Chat/pull/7392)) + - Prevent new room status from playing when user status changes ([#7487](https://github.com/RocketChat/Rocket.Chat/pull/7487)) + - url click events in the cordova app open in external browser or not at all ([#7205](https://github.com/RocketChat/Rocket.Chat/pull/7205) by [@flaviogrossi](https://github.com/flaviogrossi)) + - sweetalert alignment on mobile ([#7404](https://github.com/RocketChat/Rocket.Chat/pull/7404) by [@karlprieb](https://github.com/karlprieb)) + - Sweet-Alert modal popup position on mobile devices ([#7376](https://github.com/RocketChat/Rocket.Chat/pull/7376) by [@Oliver84](https://github.com/Oliver84)) + - Update node-engine in Snap to latest v4 LTS relase: 4.8.3 ([#7355](https://github.com/RocketChat/Rocket.Chat/pull/7355) by [@al3x](https://github.com/al3x)) + - Remove warning about 2FA support being unavailable in mobile apps ([#7354](https://github.com/RocketChat/Rocket.Chat/pull/7354) by [@al3x](https://github.com/al3x)) + - Fix geolocation button ([#7322](https://github.com/RocketChat/Rocket.Chat/pull/7322)) + - Fix Block Delete Message After (n) Minutes ([#7207](https://github.com/RocketChat/Rocket.Chat/pull/7207)) + - Use I18n on "File Uploaded" ([#7199](https://github.com/RocketChat/Rocket.Chat/pull/7199)) + - Fix error on image preview due to undefined description|title ([#7187](https://github.com/RocketChat/Rocket.Chat/pull/7187)) + - Fix messagebox growth ([#7629](https://github.com/RocketChat/Rocket.Chat/pull/7629)) + - Wrong render of snippetโ€™s name ([#7630](https://github.com/RocketChat/Rocket.Chat/pull/7630)) + - Fix room load on first hit ([#7687](https://github.com/RocketChat/Rocket.Chat/pull/7687)) + - Markdown noopener/noreferrer: use correct HTML attribute ([#7644](https://github.com/RocketChat/Rocket.Chat/pull/7644) by [@jangmarker](https://github.com/jangmarker)) + - Wrong email subject when "All Messages" setting enabled ([#7639](https://github.com/RocketChat/Rocket.Chat/pull/7639)) + - Csv importer: work with more problematic data ([#7456](https://github.com/RocketChat/Rocket.Chat/pull/7456) by [@reist](https://github.com/reist)) + - make flex-tab visible again when reduced width ([#7738](https://github.com/RocketChat/Rocket.Chat/pull/7738))
๐Ÿ” Minor changes + - Release 0.58.0 ([#7752](https://github.com/RocketChat/Rocket.Chat/pull/7752) by [@flaviogrossi](https://github.com/flaviogrossi) & [@jangmarker](https://github.com/jangmarker) & [@karlprieb](https://github.com/karlprieb) & [@pierreozoux](https://github.com/pierreozoux) & [@ryoshimizu](https://github.com/ryoshimizu)) + - Sync Master with 0.57.3 ([#7690](https://github.com/RocketChat/Rocket.Chat/pull/7690)) + - Add missing parts of `one click to direct message` ([#7608](https://github.com/RocketChat/Rocket.Chat/pull/7608)) + - LingoHub based on develop ([#7613](https://github.com/RocketChat/Rocket.Chat/pull/7613)) + - Improve link parser using tokens ([#7615](https://github.com/RocketChat/Rocket.Chat/pull/7615)) + - Improve login error messages ([#7616](https://github.com/RocketChat/Rocket.Chat/pull/7616)) + - LingoHub based on develop ([#7594](https://github.com/RocketChat/Rocket.Chat/pull/7594)) + - Improve room leader ([#7578](https://github.com/RocketChat/Rocket.Chat/pull/7578)) + - Develop sync ([#7590](https://github.com/RocketChat/Rocket.Chat/pull/7590)) + - [Fix] Don't save user to DB when a custom field is invalid ([#7513](https://github.com/RocketChat/Rocket.Chat/pull/7513) by [@Darkneon](https://github.com/Darkneon)) + - Develop sync ([#7500](https://github.com/RocketChat/Rocket.Chat/pull/7500) by [@thinkeridea](https://github.com/thinkeridea)) + - Better Issue Template ([#7492](https://github.com/RocketChat/Rocket.Chat/pull/7492)) + - Add helm chart kubernetes deployment ([#6340](https://github.com/RocketChat/Rocket.Chat/pull/6340) by [@pierreozoux](https://github.com/pierreozoux)) + - Develop sync ([#7363](https://github.com/RocketChat/Rocket.Chat/pull/7363) by [@JSzaszvari](https://github.com/JSzaszvari)) + - Escape error messages ([#7308](https://github.com/RocketChat/Rocket.Chat/pull/7308)) + - update meteor to 1.5.0 ([#7287](https://github.com/RocketChat/Rocket.Chat/pull/7287)) + - [New] Add instance id to response headers ([#7211](https://github.com/RocketChat/Rocket.Chat/pull/7211)) + - Only use "File Uploaded" prefix on files ([#7652](https://github.com/RocketChat/Rocket.Chat/pull/7652))
@@ -6415,8 +9404,11 @@ ### ๐Ÿ› Bug fixes + - Slack import failing and not being able to be restarted ([#8390](https://github.com/RocketChat/Rocket.Chat/pull/8390)) + - Duplicate code in rest api letting in a few bugs with the rest api ([#8408](https://github.com/RocketChat/Rocket.Chat/pull/8408)) + - Add needed dependency for snaps ([#8389](https://github.com/RocketChat/Rocket.Chat/pull/8389)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -6433,18 +9425,27 @@ ### ๐Ÿ› Bug fixes + - Modernize rate limiting of sendMessage ([#7325](https://github.com/RocketChat/Rocket.Chat/pull/7325) by [@jangmarker](https://github.com/jangmarker)) + - custom soundEdit.html ([#7390](https://github.com/RocketChat/Rocket.Chat/pull/7390) by [@rasos](https://github.com/rasos)) + - Use UTF8 setting for /create command ([#7394](https://github.com/RocketChat/Rocket.Chat/pull/7394)) + - file upload broken when running in subdirectory https://github.comโ€ฆ ([#7395](https://github.com/RocketChat/Rocket.Chat/pull/7395) by [@ryoshimizu](https://github.com/ryoshimizu)) + - Fix Anonymous User ([#7444](https://github.com/RocketChat/Rocket.Chat/pull/7444)) + - Missing eventName in unUser ([#7533](https://github.com/RocketChat/Rocket.Chat/pull/7533) by [@Darkneon](https://github.com/Darkneon)) + - Fix Join Channel Without Preview Room Permission ([#7535](https://github.com/RocketChat/Rocket.Chat/pull/7535)) + - Improve build script example ([#7555](https://github.com/RocketChat/Rocket.Chat/pull/7555))
๐Ÿ” Minor changes + - [Fix] Users and Channels list not respecting permissions ([#7212](https://github.com/RocketChat/Rocket.Chat/pull/7212))
@@ -6471,11 +9472,17 @@ ### ๐Ÿ› Bug fixes + - Fix Emails in User Admin View ([#7431](https://github.com/RocketChat/Rocket.Chat/pull/7431)) + - Always set LDAP properties on login ([#7472](https://github.com/RocketChat/Rocket.Chat/pull/7472)) + - Fix Unread Bar Disappearing ([#7403](https://github.com/RocketChat/Rocket.Chat/pull/7403)) + - Fix file upload on Slack import ([#7469](https://github.com/RocketChat/Rocket.Chat/pull/7469)) + - Fix Private Channel List Submit ([#7432](https://github.com/RocketChat/Rocket.Chat/pull/7432)) + - S3 uploads not working for custom URLs ([#7443](https://github.com/RocketChat/Rocket.Chat/pull/7443)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -6493,6 +9500,7 @@ ### ๐Ÿ› Bug fixes + - Fix migration of avatars from version 0.57.0 ([#7428](https://github.com/RocketChat/Rocket.Chat/pull/7428)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -6509,100 +9517,185 @@ ### โš ๏ธ BREAKING CHANGES + - Internal hubot does not load hubot-scripts anymore, it loads scripts from custom folders ([#7095](https://github.com/RocketChat/Rocket.Chat/pull/7095)) ### ๐ŸŽ‰ New features + - New avatar storage types ([#6788](https://github.com/RocketChat/Rocket.Chat/pull/6788)) + - Show full name in mentions if use full name setting enabled ([#6690](https://github.com/RocketChat/Rocket.Chat/pull/6690) by [@alexbrazier](https://github.com/alexbrazier)) + - Increase unread message count on @here mention ([#7059](https://github.com/RocketChat/Rocket.Chat/pull/7059)) + - API method and REST Endpoint for getting a single message by id ([#7085](https://github.com/RocketChat/Rocket.Chat/pull/7085)) + - Migration to add tags to email header and footer ([#7080](https://github.com/RocketChat/Rocket.Chat/pull/7080)) + - postcss parser and cssnext implementation ([#6982](https://github.com/RocketChat/Rocket.Chat/pull/6982)) + - Start running unit tests ([#6605](https://github.com/RocketChat/Rocket.Chat/pull/6605)) + - Make channel/group delete call answer to roomName ([#6857](https://github.com/RocketChat/Rocket.Chat/pull/6857) by [@reist](https://github.com/reist)) + - Feature/delete any message permission ([#6919](https://github.com/RocketChat/Rocket.Chat/pull/6919) by [@phutchins](https://github.com/phutchins)) + - Force use of MongoDB for spotlight queries ([#7311](https://github.com/RocketChat/Rocket.Chat/pull/7311)) ### ๐Ÿ› Bug fixes + - Message being displayed unescaped ([#7379](https://github.com/RocketChat/Rocket.Chat/pull/7379) by [@gdelavald](https://github.com/gdelavald)) + - Fix highlightjs bug ([#6991](https://github.com/RocketChat/Rocket.Chat/pull/6991)) + - do only store password if LDAP_Login_Fallback is on ([#7030](https://github.com/RocketChat/Rocket.Chat/pull/7030) by [@pmb0](https://github.com/pmb0)) + - fix bug in preview image ([#7121](https://github.com/RocketChat/Rocket.Chat/pull/7121)) + - Fix the failing tests ([#7094](https://github.com/RocketChat/Rocket.Chat/pull/7094)) + - Add option to ignore TLS in SMTP server settings ([#7084](https://github.com/RocketChat/Rocket.Chat/pull/7084) by [@colin-campbell](https://github.com/colin-campbell)) + - Add support for carriage return in markdown code blocks ([#7072](https://github.com/RocketChat/Rocket.Chat/pull/7072) by [@jm-factorin](https://github.com/jm-factorin)) + - Parse HTML on admin setting's descriptions ([#7014](https://github.com/RocketChat/Rocket.Chat/pull/7014)) + - edit button on firefox ([#7105](https://github.com/RocketChat/Rocket.Chat/pull/7105)) + - Fix missing CSS files on production builds ([#7104](https://github.com/RocketChat/Rocket.Chat/pull/7104)) + - clipboard (permalink, copy, pin, star buttons) ([#7103](https://github.com/RocketChat/Rocket.Chat/pull/7103)) + - Fixed typo hmtl -> html ([#7092](https://github.com/RocketChat/Rocket.Chat/pull/7092) by [@jautero](https://github.com/jautero)) + - Add and to header and footer ([#7025](https://github.com/RocketChat/Rocket.Chat/pull/7025) by [@ExTechOp](https://github.com/ExTechOp)) + - Prevent Ctrl key on message field from reloading messages list ([#7033](https://github.com/RocketChat/Rocket.Chat/pull/7033)) + - New screen sharing Chrome extension checking method ([#7044](https://github.com/RocketChat/Rocket.Chat/pull/7044)) + - Improve Tests ([#7049](https://github.com/RocketChat/Rocket.Chat/pull/7049)) + - Fix avatar upload via users.setAvatar REST endpoint ([#7045](https://github.com/RocketChat/Rocket.Chat/pull/7045)) + - Sidenav roomlist ([#7023](https://github.com/RocketChat/Rocket.Chat/pull/7023)) + - video message recording dialog is shown in an incorrect position ([#7012](https://github.com/RocketChat/Rocket.Chat/pull/7012) by [@flaviogrossi](https://github.com/flaviogrossi)) + - Remove room from roomPick setting ([#6912](https://github.com/RocketChat/Rocket.Chat/pull/6912)) + - Parse markdown links last ([#6997](https://github.com/RocketChat/Rocket.Chat/pull/6997)) + - overlapping text for users-typing-message ([#6999](https://github.com/RocketChat/Rocket.Chat/pull/6999) by [@darkv](https://github.com/darkv)) + - Updating Incoming Integration Post As Field Not Allowed ([#6903](https://github.com/RocketChat/Rocket.Chat/pull/6903)) + - Fix error handling for non-valid avatar URL ([#6972](https://github.com/RocketChat/Rocket.Chat/pull/6972)) + - SAML: Only set KeyDescriptor when non empty ([#6961](https://github.com/RocketChat/Rocket.Chat/pull/6961) by [@sathieu](https://github.com/sathieu)) + - Fix the other tests failing due chimp update ([#6986](https://github.com/RocketChat/Rocket.Chat/pull/6986)) + - Fix badge counter on iOS push notifications ([#6950](https://github.com/RocketChat/Rocket.Chat/pull/6950)) + - Fix login with Meteor saving an object as email address ([#6974](https://github.com/RocketChat/Rocket.Chat/pull/6974)) + - Check that username is not in the room when being muted / unmuted ([#6840](https://github.com/RocketChat/Rocket.Chat/pull/6840) by [@matthewshirley](https://github.com/matthewshirley)) + - Use AWS Signature Version 4 signed URLs for uploads ([#6947](https://github.com/RocketChat/Rocket.Chat/pull/6947)) + - Bugs in `isUserFromParams` helper ([#6904](https://github.com/RocketChat/Rocket.Chat/pull/6904) by [@abrom](https://github.com/abrom)) + - Allow image insert from slack through slackbridge ([#6910](https://github.com/RocketChat/Rocket.Chat/pull/6910)) + - Slackbridge text replacements ([#6913](https://github.com/RocketChat/Rocket.Chat/pull/6913)) + - Fix all reactions having the same username ([#7157](https://github.com/RocketChat/Rocket.Chat/pull/7157)) + - Fix editing others messages ([#7200](https://github.com/RocketChat/Rocket.Chat/pull/7200)) + - Fix oembed previews not being shown ([#7208](https://github.com/RocketChat/Rocket.Chat/pull/7208)) + - "requirePasswordChange" property not being saved when set to false ([#7209](https://github.com/RocketChat/Rocket.Chat/pull/7209)) + - Removing the kadira package install from example build script. ([#7160](https://github.com/RocketChat/Rocket.Chat/pull/7160) by [@JSzaszvari](https://github.com/JSzaszvari)) + - Fix user's customFields not being saved correctly ([#7358](https://github.com/RocketChat/Rocket.Chat/pull/7358)) + - Improve avatar migration ([#7352](https://github.com/RocketChat/Rocket.Chat/pull/7352)) + - Fix jump to unread button ([#7320](https://github.com/RocketChat/Rocket.Chat/pull/7320)) + - click on image in a message ([#7345](https://github.com/RocketChat/Rocket.Chat/pull/7345)) + - Proxy upload to correct instance ([#7304](https://github.com/RocketChat/Rocket.Chat/pull/7304)) + - Fix Secret Url ([#7321](https://github.com/RocketChat/Rocket.Chat/pull/7321))
๐Ÿ” Minor changes + - add server methods getRoomNameById ([#7102](https://github.com/RocketChat/Rocket.Chat/pull/7102) by [@thinkeridea](https://github.com/thinkeridea)) + - Convert hipchat importer to js ([#7146](https://github.com/RocketChat/Rocket.Chat/pull/7146)) + - Convert file unsubscribe.coffee to js ([#7145](https://github.com/RocketChat/Rocket.Chat/pull/7145)) + - Convert oauth2-server-config package to js ([#7017](https://github.com/RocketChat/Rocket.Chat/pull/7017)) + - Convert irc package to js ([#7022](https://github.com/RocketChat/Rocket.Chat/pull/7022)) + - Ldap: User_Data_FieldMap description ([#7055](https://github.com/RocketChat/Rocket.Chat/pull/7055) by [@bbrauns](https://github.com/bbrauns)) + - Remove Useless Jasmine Tests ([#7062](https://github.com/RocketChat/Rocket.Chat/pull/7062)) + - converted rocketchat-importer ([#7018](https://github.com/RocketChat/Rocket.Chat/pull/7018)) + - LingoHub based on develop ([#7114](https://github.com/RocketChat/Rocket.Chat/pull/7114)) + - Convert Livechat from Coffeescript to JavaScript ([#7096](https://github.com/RocketChat/Rocket.Chat/pull/7096)) + - Rocketchat ui3 ([#7006](https://github.com/RocketChat/Rocket.Chat/pull/7006)) + - converted rocketchat-ui coffee to js part 2 ([#6836](https://github.com/RocketChat/Rocket.Chat/pull/6836)) + - LingoHub based on develop ([#7005](https://github.com/RocketChat/Rocket.Chat/pull/7005)) + - rocketchat-lib[4] coffee to js ([#6735](https://github.com/RocketChat/Rocket.Chat/pull/6735)) + - rocketchat-importer-slack coffee to js ([#6987](https://github.com/RocketChat/Rocket.Chat/pull/6987)) + - Convert ui-admin package to js ([#6911](https://github.com/RocketChat/Rocket.Chat/pull/6911)) + - Rocketchat ui message ([#6914](https://github.com/RocketChat/Rocket.Chat/pull/6914)) + - [New] LDAP: Use variables in User_Data_FieldMap for name mapping ([#6921](https://github.com/RocketChat/Rocket.Chat/pull/6921) by [@bbrauns](https://github.com/bbrauns)) + - Convert meteor-autocomplete package to js ([#6936](https://github.com/RocketChat/Rocket.Chat/pull/6936)) + - Convert Ui Account Package to Js ([#6795](https://github.com/RocketChat/Rocket.Chat/pull/6795)) + - LingoHub based on develop ([#6978](https://github.com/RocketChat/Rocket.Chat/pull/6978)) + - fix the crashing tests ([#6976](https://github.com/RocketChat/Rocket.Chat/pull/6976)) + - Convert WebRTC Package to Js ([#6775](https://github.com/RocketChat/Rocket.Chat/pull/6775)) + - Remove missing CoffeeScript dependencies ([#7154](https://github.com/RocketChat/Rocket.Chat/pull/7154)) + - Switch logic of artifact name ([#7158](https://github.com/RocketChat/Rocket.Chat/pull/7158)) + - Fix the Zapier oAuth return url to the new one ([#7215](https://github.com/RocketChat/Rocket.Chat/pull/7215)) + - Fix the admin oauthApps view not working ([#7196](https://github.com/RocketChat/Rocket.Chat/pull/7196)) + - Fix forbidden error on setAvatar REST endpoint ([#7159](https://github.com/RocketChat/Rocket.Chat/pull/7159)) + - Fix the admin oauthApps view not working ([#7196](https://github.com/RocketChat/Rocket.Chat/pull/7196)) + - Fix mobile avatars ([#7177](https://github.com/RocketChat/Rocket.Chat/pull/7177))
@@ -6647,61 +9740,110 @@ ### ๐ŸŽ‰ New features + - Add a pointer cursor to message images ([#6881](https://github.com/RocketChat/Rocket.Chat/pull/6881)) + - Make channels.info accept roomName, just like groups.info ([#6827](https://github.com/RocketChat/Rocket.Chat/pull/6827) by [@reist](https://github.com/reist)) + - Option to allow to signup as anonymous ([#6797](https://github.com/RocketChat/Rocket.Chat/pull/6797)) + - create a method 'create token' ([#6807](https://github.com/RocketChat/Rocket.Chat/pull/6807)) + - Add option on Channel Settings: Hide Notifications and Hide Unread Room Status (#2707, #2143) ([#5373](https://github.com/RocketChat/Rocket.Chat/pull/5373)) + - Remove lesshat ([#6722](https://github.com/RocketChat/Rocket.Chat/pull/6722) by [@karlprieb](https://github.com/karlprieb)) + - Use tokenSentVia parameter for clientid/secret to token endpoint ([#6692](https://github.com/RocketChat/Rocket.Chat/pull/6692) by [@intelradoux](https://github.com/intelradoux)) + - Add a setting to not run outgoing integrations on message edits ([#6615](https://github.com/RocketChat/Rocket.Chat/pull/6615)) + - Improve CI/Docker build/release ([#6938](https://github.com/RocketChat/Rocket.Chat/pull/6938)) + - Add SMTP settings for Protocol and Pool ([#6940](https://github.com/RocketChat/Rocket.Chat/pull/6940)) + - Show info about multiple instances at admin page ([#6953](https://github.com/RocketChat/Rocket.Chat/pull/6953)) ### ๐Ÿ› Bug fixes + - start/unstar message ([#6861](https://github.com/RocketChat/Rocket.Chat/pull/6861)) + - Added helper for testing if the current user matches the params ([#6845](https://github.com/RocketChat/Rocket.Chat/pull/6845) by [@abrom](https://github.com/abrom)) + - REST API user.update throwing error due to rate limiting ([#6796](https://github.com/RocketChat/Rocket.Chat/pull/6796)) + - fix german translation ([#6790](https://github.com/RocketChat/Rocket.Chat/pull/6790) by [@sscholl](https://github.com/sscholl)) + - Improve and correct Iframe Integration help text ([#6793](https://github.com/RocketChat/Rocket.Chat/pull/6793)) + - Quoted and replied messages not retaining the original message's alias ([#6800](https://github.com/RocketChat/Rocket.Chat/pull/6800)) + - Fix iframe wise issues ([#6798](https://github.com/RocketChat/Rocket.Chat/pull/6798)) + - Incorrect error message when creating channel ([#6747](https://github.com/RocketChat/Rocket.Chat/pull/6747) by [@gdelavald](https://github.com/gdelavald)) + - Hides nav buttons when selecting own profile ([#6760](https://github.com/RocketChat/Rocket.Chat/pull/6760) by [@gdelavald](https://github.com/gdelavald)) + - Search full name on client side ([#6767](https://github.com/RocketChat/Rocket.Chat/pull/6767) by [@alexbrazier](https://github.com/alexbrazier)) + - Sort by real name if use real name setting is enabled ([#6758](https://github.com/RocketChat/Rocket.Chat/pull/6758) by [@alexbrazier](https://github.com/alexbrazier)) + - CSV importer: require that there is some data in the zip, not ALL data ([#6768](https://github.com/RocketChat/Rocket.Chat/pull/6768) by [@reist](https://github.com/reist)) + - Archiving Direct Messages ([#6737](https://github.com/RocketChat/Rocket.Chat/pull/6737)) + - Fix Caddy by forcing go 1.7 as needed by one of caddy's dependencies ([#6721](https://github.com/RocketChat/Rocket.Chat/pull/6721)) + - Users status on main menu always offline ([#6896](https://github.com/RocketChat/Rocket.Chat/pull/6896)) + - Not showing unread count on electron appโ€™s icon ([#6923](https://github.com/RocketChat/Rocket.Chat/pull/6923)) + - Compile CSS color variables ([#6939](https://github.com/RocketChat/Rocket.Chat/pull/6939)) + - Remove spaces from env PORT and INSTANCE_IP ([#6955](https://github.com/RocketChat/Rocket.Chat/pull/6955)) + - make channels.create API check for create-c ([#6968](https://github.com/RocketChat/Rocket.Chat/pull/6968) by [@reist](https://github.com/reist))
๐Ÿ” Minor changes + - [New] Snap arm support ([#6842](https://github.com/RocketChat/Rocket.Chat/pull/6842)) + - Meteor update ([#6858](https://github.com/RocketChat/Rocket.Chat/pull/6858)) + - Converted rocketchat-lib 3 ([#6672](https://github.com/RocketChat/Rocket.Chat/pull/6672)) + - Convert Message-Star Package to js ([#6781](https://github.com/RocketChat/Rocket.Chat/pull/6781)) + - Convert Mailer Package to Js ([#6780](https://github.com/RocketChat/Rocket.Chat/pull/6780)) + - LingoHub based on develop ([#6816](https://github.com/RocketChat/Rocket.Chat/pull/6816)) + - Missing useful fields in admin user list #5110 ([#6804](https://github.com/RocketChat/Rocket.Chat/pull/6804) by [@vlogic](https://github.com/vlogic)) + - Convert Katex Package to Js ([#6671](https://github.com/RocketChat/Rocket.Chat/pull/6671)) + - Convert Oembed Package to Js ([#6688](https://github.com/RocketChat/Rocket.Chat/pull/6688)) + - Convert Mentions-Flextab Package to Js ([#6689](https://github.com/RocketChat/Rocket.Chat/pull/6689)) + - Anonymous use ([#5986](https://github.com/RocketChat/Rocket.Chat/pull/5986)) + - Breaking long URLS to prevent overflow ([#6368](https://github.com/RocketChat/Rocket.Chat/pull/6368) by [@robertdown](https://github.com/robertdown)) + - Rocketchat lib2 ([#6593](https://github.com/RocketChat/Rocket.Chat/pull/6593)) + - disable proxy configuration ([#6654](https://github.com/RocketChat/Rocket.Chat/pull/6654) by [@glehmann](https://github.com/glehmann)) + - Convert markdown to js ([#6694](https://github.com/RocketChat/Rocket.Chat/pull/6694) by [@ehkasper](https://github.com/ehkasper)) + - LingoHub based on develop ([#6715](https://github.com/RocketChat/Rocket.Chat/pull/6715)) + - meteor update to 1.4.4 ([#6706](https://github.com/RocketChat/Rocket.Chat/pull/6706)) + - LingoHub based on develop ([#6703](https://github.com/RocketChat/Rocket.Chat/pull/6703)) + - [Fix] Error when trying to show preview of undefined filetype ([#6935](https://github.com/RocketChat/Rocket.Chat/pull/6935))
@@ -6741,6 +9883,7 @@
๐Ÿ” Minor changes + - [Fix] Bug with incoming integration (0.55.1) ([#6734](https://github.com/RocketChat/Rocket.Chat/pull/6734))
@@ -6758,137 +9901,259 @@ ### โš ๏ธ BREAKING CHANGES + - `getUsersOfRoom` API to return array of objects with user and username, instead of array of strings ### ๐ŸŽ‰ New features + - Add shield.svg api route to generate custom shields/badges ([#6565](https://github.com/RocketChat/Rocket.Chat/pull/6565) by [@alexbrazier](https://github.com/alexbrazier)) + - resolve merge share function ([#6577](https://github.com/RocketChat/Rocket.Chat/pull/6577) by [@karlprieb](https://github.com/karlprieb) & [@tgxn](https://github.com/tgxn)) + - Two Factor Auth ([#6476](https://github.com/RocketChat/Rocket.Chat/pull/6476)) + - Permission `join-without-join-code` assigned to admins and bots by default ([#6430](https://github.com/RocketChat/Rocket.Chat/pull/6430)) + - Integrations, both incoming and outgoing, now have access to the models. Example: `Users.findOneById(id)` ([#6420](https://github.com/RocketChat/Rocket.Chat/pull/6420)) + - 'users.resetAvatar' rest api endpoint ([#6616](https://github.com/RocketChat/Rocket.Chat/pull/6616)) + - Drupal oAuth Integration for Rocketchat ([#6632](https://github.com/RocketChat/Rocket.Chat/pull/6632) by [@Lawri-van-Buel](https://github.com/Lawri-van-Buel)) + - Add monitoring package ([#6634](https://github.com/RocketChat/Rocket.Chat/pull/6634)) + - Expose Livechat to Incoming Integrations and allow response ([#6681](https://github.com/RocketChat/Rocket.Chat/pull/6681)) ### ๐Ÿ› Bug fixes + - Incoming integrations would break when trying to use the `Store` feature.` + - Removed Deprecated Package rocketchat:sharedsecret` + - emoji picker exception ([#6709](https://github.com/RocketChat/Rocket.Chat/pull/6709) by [@gdelavald](https://github.com/gdelavald)) + - Large files crashed browser when trying to show preview ([#6598](https://github.com/RocketChat/Rocket.Chat/pull/6598)) + - messageBox: put "joinCodeRequired" back ([#6600](https://github.com/RocketChat/Rocket.Chat/pull/6600) by [@karlprieb](https://github.com/karlprieb)) + - Do not add default roles for users without services field ([#6594](https://github.com/RocketChat/Rocket.Chat/pull/6594)) + - Accounts from LinkedIn OAuth without name ([#6590](https://github.com/RocketChat/Rocket.Chat/pull/6590)) + - Usage of subtagged languages ([#6575](https://github.com/RocketChat/Rocket.Chat/pull/6575)) + - UTC offset missing UTC text when positive ([#6562](https://github.com/RocketChat/Rocket.Chat/pull/6562) by [@alexbrazier](https://github.com/alexbrazier)) + - can not get access_token when using custom oauth ([#6531](https://github.com/RocketChat/Rocket.Chat/pull/6531) by [@fengt](https://github.com/fengt)) + - Outgoing webhooks which have an error and they're retrying would still retry even if the integration was disabled` ([#6478](https://github.com/RocketChat/Rocket.Chat/pull/6478)) + - Incorrect curl command being generated on incoming integrations ([#6620](https://github.com/RocketChat/Rocket.Chat/pull/6620)) + - arguments logger ([#6617](https://github.com/RocketChat/Rocket.Chat/pull/6617)) + - Improve markdown code ([#6650](https://github.com/RocketChat/Rocket.Chat/pull/6650)) + - Encode avatar url to prevent CSS injection ([#6651](https://github.com/RocketChat/Rocket.Chat/pull/6651)) + - Do not escaping markdown on message attachments ([#6648](https://github.com/RocketChat/Rocket.Chat/pull/6648)) + - Revert unwanted UI changes ([#6658](https://github.com/RocketChat/Rocket.Chat/pull/6658)) + - Fix Logger stdout publication ([#6682](https://github.com/RocketChat/Rocket.Chat/pull/6682)) + - Downgrade email package to from 1.2.0 to 1.1.18 ([#6680](https://github.com/RocketChat/Rocket.Chat/pull/6680)) + - Administrators being rate limited when editing users data ([#6659](https://github.com/RocketChat/Rocket.Chat/pull/6659)) + - Make sure username exists in findByActiveUsersExcept ([#6674](https://github.com/RocketChat/Rocket.Chat/pull/6674)) + - Update server cache indexes on record updates ([#6686](https://github.com/RocketChat/Rocket.Chat/pull/6686)) + - Allow question on OAuth token path ([#6684](https://github.com/RocketChat/Rocket.Chat/pull/6684)) + - Error when returning undefined from incoming intergationโ€™s script ([#6683](https://github.com/RocketChat/Rocket.Chat/pull/6683)) + - Fix message types ([#6704](https://github.com/RocketChat/Rocket.Chat/pull/6704))
๐Ÿ” Minor changes + - Add candidate snap channel ([#6614](https://github.com/RocketChat/Rocket.Chat/pull/6614)) + - Add `fname` to subscriptions in memory ([#6597](https://github.com/RocketChat/Rocket.Chat/pull/6597)) + - [New] Switch Snaps to use oplog ([#6608](https://github.com/RocketChat/Rocket.Chat/pull/6608)) + - Convert Message Pin Package to JS ([#6576](https://github.com/RocketChat/Rocket.Chat/pull/6576)) + - Move room display name logic to roomType definition ([#6585](https://github.com/RocketChat/Rocket.Chat/pull/6585)) + - Only configure LoggerManager on server ([#6596](https://github.com/RocketChat/Rocket.Chat/pull/6596)) + - POC Google Natural Language integration ([#6298](https://github.com/RocketChat/Rocket.Chat/pull/6298)) + - Fix recently introduced bug: OnePassword not defined ([#6591](https://github.com/RocketChat/Rocket.Chat/pull/6591)) + - rocketchat-lib part1 ([#6553](https://github.com/RocketChat/Rocket.Chat/pull/6553)) + - dependencies upgrade ([#6584](https://github.com/RocketChat/Rocket.Chat/pull/6584)) + - fixed typo in readme.md ([#6580](https://github.com/RocketChat/Rocket.Chat/pull/6580) by [@sezinkarli](https://github.com/sezinkarli)) + - Use real name instead of username for messages and direct messages list ([#3851](https://github.com/RocketChat/Rocket.Chat/pull/3851) by [@alexbrazier](https://github.com/alexbrazier)) + - Convert Ui-Login Package to Js ([#6561](https://github.com/RocketChat/Rocket.Chat/pull/6561)) + - rocketchat-channel-settings coffee to js ([#6551](https://github.com/RocketChat/Rocket.Chat/pull/6551)) + - Move wordpress packages client files to client folder ([#6571](https://github.com/RocketChat/Rocket.Chat/pull/6571)) + - convert rocketchat-ui part 2 ([#6539](https://github.com/RocketChat/Rocket.Chat/pull/6539)) + - rocketchat-channel-settings-mail-messages coffee to js ([#6541](https://github.com/RocketChat/Rocket.Chat/pull/6541)) + - LingoHub based on develop ([#6574](https://github.com/RocketChat/Rocket.Chat/pull/6574)) + - LingoHub based on develop ([#6567](https://github.com/RocketChat/Rocket.Chat/pull/6567)) + - [New] Added oauth2 userinfo endpoint ([#6554](https://github.com/RocketChat/Rocket.Chat/pull/6554)) + - Remove Deprecated Shared Secret Package ([#6540](https://github.com/RocketChat/Rocket.Chat/pull/6540)) + - Remove coffeescript package from ui-sidenav ([#6542](https://github.com/RocketChat/Rocket.Chat/pull/6542) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - Remove coffeescript package from ui-flextab ([#6543](https://github.com/RocketChat/Rocket.Chat/pull/6543) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - Convert Theme Package to JS ([#6491](https://github.com/RocketChat/Rocket.Chat/pull/6491)) + - Fix typo of the safari pinned tab label ([#6487](https://github.com/RocketChat/Rocket.Chat/pull/6487) by [@qge](https://github.com/qge)) + - fix channel merge option of user preferences ([#6493](https://github.com/RocketChat/Rocket.Chat/pull/6493) by [@billtt](https://github.com/billtt)) + - converted Rocketchat logger coffee to js ([#6495](https://github.com/RocketChat/Rocket.Chat/pull/6495)) + - converted rocketchat-integrations coffee to js ([#6502](https://github.com/RocketChat/Rocket.Chat/pull/6502)) + - 'allow reacting' should be a toggle option.otherwise, the style will display an error ([#6522](https://github.com/RocketChat/Rocket.Chat/pull/6522) by [@szluohua](https://github.com/szluohua)) + - Clipboard [Firefox version < 50] ([#6280](https://github.com/RocketChat/Rocket.Chat/pull/6280)) + - Convert ui-vrecord Package to JS ([#6473](https://github.com/RocketChat/Rocket.Chat/pull/6473)) + - converted slashcommands-mute coffee to js ([#6474](https://github.com/RocketChat/Rocket.Chat/pull/6474)) + - Convert Version Package to JS ([#6494](https://github.com/RocketChat/Rocket.Chat/pull/6494)) + - Convert Ui-Master Package to Js ([#6498](https://github.com/RocketChat/Rocket.Chat/pull/6498)) + - converted messageAttachment coffee to js ([#6500](https://github.com/RocketChat/Rocket.Chat/pull/6500)) + - Convert File Package to js ([#6503](https://github.com/RocketChat/Rocket.Chat/pull/6503)) + - Create groups.addAll endpoint and add activeUsersOnly param. ([#6505](https://github.com/RocketChat/Rocket.Chat/pull/6505) by [@nathanmarcos](https://github.com/nathanmarcos)) + - New feature: Room announcement ([#6351](https://github.com/RocketChat/Rocket.Chat/pull/6351) by [@billtt](https://github.com/billtt)) + - converted slashcommand-me coffee to js ([#6468](https://github.com/RocketChat/Rocket.Chat/pull/6468)) + - converted slashcommand-join coffee to js ([#6469](https://github.com/RocketChat/Rocket.Chat/pull/6469)) + - converted slashcommand-leave coffee to js ([#6470](https://github.com/RocketChat/Rocket.Chat/pull/6470)) + - convert mapview package to js ([#6471](https://github.com/RocketChat/Rocket.Chat/pull/6471)) + - converted getAvatarUrlFromUsername ([#6496](https://github.com/RocketChat/Rocket.Chat/pull/6496)) + - converted slashcommand-invite coffee to js ([#6497](https://github.com/RocketChat/Rocket.Chat/pull/6497)) + - Convert Wordpress Package to js ([#6499](https://github.com/RocketChat/Rocket.Chat/pull/6499)) + - converted slashcommand-msg coffee to js ([#6501](https://github.com/RocketChat/Rocket.Chat/pull/6501)) + - rocketchat-ui coffee to js part1 ([#6504](https://github.com/RocketChat/Rocket.Chat/pull/6504)) + - converted rocketchat-mentions coffee to js ([#6467](https://github.com/RocketChat/Rocket.Chat/pull/6467)) + - ESLint add rule `no-void` ([#6479](https://github.com/RocketChat/Rocket.Chat/pull/6479)) + - Add ESLint rules `prefer-template` and `template-curly-spacing` ([#6456](https://github.com/RocketChat/Rocket.Chat/pull/6456)) + - Fix livechat permissions ([#6466](https://github.com/RocketChat/Rocket.Chat/pull/6466)) + - Add ESLint rule `object-shorthand` ([#6457](https://github.com/RocketChat/Rocket.Chat/pull/6457)) + - Add ESLint rules `one-var` and `no-var` ([#6459](https://github.com/RocketChat/Rocket.Chat/pull/6459)) + - Add ESLint rule `one-var` ([#6458](https://github.com/RocketChat/Rocket.Chat/pull/6458)) + - Side-nav CoffeeScript to JavaScript III ([#6274](https://github.com/RocketChat/Rocket.Chat/pull/6274)) + - Flex-Tab CoffeeScript to JavaScript II ([#6277](https://github.com/RocketChat/Rocket.Chat/pull/6277)) + - Side-nav CoffeeScript to JavaScript II ([#6266](https://github.com/RocketChat/Rocket.Chat/pull/6266)) + - Allow Livechat visitors to switch the department ([#6035](https://github.com/RocketChat/Rocket.Chat/pull/6035) by [@drallgood](https://github.com/drallgood)) + - fix livechat widget on small screens ([#6122](https://github.com/RocketChat/Rocket.Chat/pull/6122) by [@karlprieb](https://github.com/karlprieb)) + - Allow livechat managers to transfer chats ([#6180](https://github.com/RocketChat/Rocket.Chat/pull/6180) by [@drallgood](https://github.com/drallgood)) + - focus first textbox element ([#6257](https://github.com/RocketChat/Rocket.Chat/pull/6257) by [@a5his](https://github.com/a5his)) + - Join command ([#6268](https://github.com/RocketChat/Rocket.Chat/pull/6268)) + - Fix visitor ending livechat if multiples still open ([#6419](https://github.com/RocketChat/Rocket.Chat/pull/6419)) + - Password reset Cleaner text ([#6319](https://github.com/RocketChat/Rocket.Chat/pull/6319)) + - Add permission check to the import methods and not just the UI ([#6400](https://github.com/RocketChat/Rocket.Chat/pull/6400)) + - Max textarea height ([#6409](https://github.com/RocketChat/Rocket.Chat/pull/6409)) + - Livechat fix office hours order ([#6413](https://github.com/RocketChat/Rocket.Chat/pull/6413)) + - Convert Spotify Package to JS ([#6449](https://github.com/RocketChat/Rocket.Chat/pull/6449)) + - Make favicon package easier to read. ([#6422](https://github.com/RocketChat/Rocket.Chat/pull/6422) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - Just admins can change a Default Channel to Private (the channel will be a non default channel) ([#6426](https://github.com/RocketChat/Rocket.Chat/pull/6426)) + - Hide email settings on Sandstorm ([#6429](https://github.com/RocketChat/Rocket.Chat/pull/6429)) + - Do not show reset button for hidden settings ([#6432](https://github.com/RocketChat/Rocket.Chat/pull/6432)) + - Convert Dolphin Package to JavaScript ([#6427](https://github.com/RocketChat/Rocket.Chat/pull/6427)) + - converted rocketchat-message-mark-as-unread coffee/js ([#6445](https://github.com/RocketChat/Rocket.Chat/pull/6445)) + - converted rocketchat-slashcommands-kick coffee to js ([#6453](https://github.com/RocketChat/Rocket.Chat/pull/6453)) + - converted meteor-accounts-saml coffee to js ([#6450](https://github.com/RocketChat/Rocket.Chat/pull/6450)) + - Convert Statistics Package to JS ([#6447](https://github.com/RocketChat/Rocket.Chat/pull/6447)) + - Convert ChatOps Package to JavaScript ([#6425](https://github.com/RocketChat/Rocket.Chat/pull/6425)) + - Change all instances of Meteor.Collection for Mongo.Collection ([#6410](https://github.com/RocketChat/Rocket.Chat/pull/6410)) + - Flex-Tab CoffeeScript to JavaScript III ([#6278](https://github.com/RocketChat/Rocket.Chat/pull/6278)) + - Flex-Tab CoffeeScript to JavaScript I ([#6276](https://github.com/RocketChat/Rocket.Chat/pull/6276)) + - Side-nav CoffeeScript to JavaScript ([#6264](https://github.com/RocketChat/Rocket.Chat/pull/6264)) + - Convert Tutum Package to JS ([#6446](https://github.com/RocketChat/Rocket.Chat/pull/6446)) + - Added Deploy method and platform to stats ([#6649](https://github.com/RocketChat/Rocket.Chat/pull/6649)) + - LingoHub based on develop ([#6647](https://github.com/RocketChat/Rocket.Chat/pull/6647)) + - meteor update ([#6631](https://github.com/RocketChat/Rocket.Chat/pull/6631)) + - Env override initial setting ([#6163](https://github.com/RocketChat/Rocket.Chat/pull/6163) by [@mrsimpson](https://github.com/mrsimpson))
diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index 89e93e701d59..c96c3f78b851 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.1.0-rc.0" + "version": "3.1.0-rc.1" } diff --git a/package.json b/package.json index f24426c8b27c..739da825bd08 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Rocket.Chat", "description": "The Ultimate Open Source WebChat Platform", - "version": "3.1.0-rc.0", + "version": "3.1.0-rc.1", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From 81888bfe1d1fcda6563de8eba004f39b97cf1cd2 Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Fri, 27 Mar 2020 17:02:25 -0300 Subject: [PATCH 084/223] Regression: omnichannel manual queued sidebarlist (#17048) --- app/ui-sidenav/client/chatRoomItem.js | 2 +- app/ui-utils/client/lib/openRoom.js | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/app/ui-sidenav/client/chatRoomItem.js b/app/ui-sidenav/client/chatRoomItem.js index d3c050e2e243..1d29d75c58c9 100644 --- a/app/ui-sidenav/client/chatRoomItem.js +++ b/app/ui-sidenav/client/chatRoomItem.js @@ -23,7 +23,7 @@ Template.chatRoomItem.helpers({ const roomData = { ...this, icon: icon !== 'at' && icon, - avatar: roomTypes.getConfig(this.t).getAvatarPath(room, this), + avatar: roomTypes.getConfig(this.t).getAvatarPath(room || this), username: this.name, route: roomTypes.getRouteLink(this.t, this), name: roomType.roomName(this), diff --git a/app/ui-utils/client/lib/openRoom.js b/app/ui-utils/client/lib/openRoom.js index 18d644323c83..7528398b0acb 100644 --- a/app/ui-utils/client/lib/openRoom.js +++ b/app/ui-utils/client/lib/openRoom.js @@ -61,6 +61,7 @@ export const openRoom = async function(type, name) { try { const room = roomTypes.findRoom(type, name, user) || await callMethod('getRoomByTypeAndName', type, name); + Rooms.upsert({ _id: room._id }, _.omit(room, '_id')); if (RoomManager.open(type + name).ready() !== true) { if (settings.get('Accounts_AllowAnonymousRead')) { @@ -72,8 +73,6 @@ export const openRoom = async function(type, name) { c.stop(); - Rooms.upsert({ _id: room._id }, _.omit(room, '_id')); - if (window.currentTracker) { window.currentTracker = undefined; } From 421d2a893c705b3156740c2b561ab47787e08bdc Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Sat, 28 Mar 2020 01:26:32 -0300 Subject: [PATCH 085/223] Regression: Fix removing user not removing his 1-on-1 DMs (#17057) --- app/lib/server/functions/deleteUser.js | 29 +++++++++++++++-------- app/models/server/models/Messages.js | 4 ++++ app/models/server/models/Rooms.js | 16 +++++++------ app/models/server/models/Subscriptions.js | 4 ++++ 4 files changed, 36 insertions(+), 17 deletions(-) diff --git a/app/lib/server/functions/deleteUser.js b/app/lib/server/functions/deleteUser.js index f5b59b8c7e24..1038c6783d46 100644 --- a/app/lib/server/functions/deleteUser.js +++ b/app/lib/server/functions/deleteUser.js @@ -1,13 +1,24 @@ import { Meteor } from 'meteor/meteor'; import { TAPi18n } from 'meteor/rocketchat:tap-i18n'; -import { FileUpload } from '../../../file-upload'; +import { FileUpload } from '../../../file-upload/server'; import { Users, Subscriptions, Messages, Rooms, Integrations, FederationServers } from '../../../models/server'; import { hasRole, getUsersInRole } from '../../../authorization/server'; import { settings } from '../../../settings/server'; import { Notifications } from '../../../notifications/server'; import { updateGroupDMsName } from './updateGroupDMsName'; +const bulkRoomCleanUp = (rids) => { + // no bulk deletion for files + rids.forEach((rid) => FileUpload.removeFilesByRoomId(rid)); + + return Promise.await(Promise.all([ + Subscriptions.removeByRoomIds(rids), + Messages.removeByRoomIds(rids), + Rooms.removeByIds(rids), + ])); +}; + export const deleteUser = function(userId) { const user = Users.findOneById(userId, { fields: { username: 1, avatarOrigin: 1, federation: 1 }, @@ -83,21 +94,19 @@ export const deleteUser = function(userId) { break; } - roomCache.forEach((roomData) => { + const roomIds = roomCache.filter((roomData) => { if (roomData.subscribers === null && roomData.t !== 'd' && roomData.t !== 'c') { roomData.subscribers = Subscriptions.findByRoomId(roomData.rid).count(); } // Remove non-channel rooms with only 1 user (the one being deleted) - if (roomData.t !== 'c' && roomData.subscribers === 1) { - Subscriptions.removeByRoomId(roomData.rid); - FileUpload.removeFilesByRoomId(roomData.rid); - Messages.removeByRoomId(roomData.rid); - Rooms.removeById(roomData.rid); - } - }); + return roomData.t !== 'c' && roomData.subscribers === 1; + }).map(({ _id }) => _id); + + Rooms.find1On1ByUserId(user._id, { fields: { _id: 1 } }).forEach(({ _id }) => roomIds.push(_id)); + + bulkRoomCleanUp(roomIds); - // TODO: do not remove group DMs Rooms.updateGroupDMsRemovingUsernamesByUsername(user.username); // Remove direct rooms with the user Rooms.removeDirectRoomContainingUsername(user.username); // Remove direct rooms with the user diff --git a/app/models/server/models/Messages.js b/app/models/server/models/Messages.js index d9e686002da6..ca29fe391eaa 100644 --- a/app/models/server/models/Messages.js +++ b/app/models/server/models/Messages.js @@ -896,6 +896,10 @@ export class Messages extends Base { return this.remove(query); } + removeByRoomIds(rids) { + return this.remove({ rid: { $in: rids } }); + } + removeByIdPinnedTimestampLimitAndUsers(rid, pinned, ignoreDiscussion = true, ts, limit, users = []) { const query = { rid, diff --git a/app/models/server/models/Rooms.js b/app/models/server/models/Rooms.js index 50b2568d735c..2ed0cd76c83b 100644 --- a/app/models/server/models/Rooms.js +++ b/app/models/server/models/Rooms.js @@ -550,6 +550,13 @@ export class Rooms extends Base { }, options); } + find1On1ByUserId(userId, options) { + return this.find({ + uids: userId, + usersCount: 2, + }, options); + } + // UPDATE addImportIds(_id, importIds) { importIds = [].concat(importIds); @@ -1025,13 +1032,8 @@ export class Rooms extends Base { return this.remove(query); } - remove1on1ById(_id) { - const query = { - _id, - usersCount: { $lte: 2 }, - }; - - return this.remove(query); + removeByIds(ids) { + return this.remove({ _id: { $in: ids } }); } removeDirectRoomContainingUsername(username) { diff --git a/app/models/server/models/Subscriptions.js b/app/models/server/models/Subscriptions.js index 50396a886367..3442cfcd5a46 100644 --- a/app/models/server/models/Subscriptions.js +++ b/app/models/server/models/Subscriptions.js @@ -1331,6 +1331,10 @@ export class Subscriptions extends Base { return result; } + removeByRoomIds(rids) { + return this.remove({ rid: { $in: rids } }); + } + // ////////////////////////////////////////////////////////////////// // threads From 0e3883e4cca8e6c76e5e3c7aa4ae855a9fff4776 Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Sat, 28 Mar 2020 01:55:15 -0300 Subject: [PATCH 086/223] Regression: Do not refresh statistics when opening the info panel (#17060) --- client/components/admin/info/InformationRoute.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/client/components/admin/info/InformationRoute.js b/client/components/admin/info/InformationRoute.js index 10c51e94ab0a..455b7c1fd826 100644 --- a/client/components/admin/info/InformationRoute.js +++ b/client/components/admin/info/InformationRoute.js @@ -21,7 +21,7 @@ export function InformationRoute() { useEffect(() => { let didCancel = false; - const fetchStatistics = async () => { + const fetchStatistics = async ({ refresh = false } = {}) => { if (!canViewStatistics) { setStatistics(null); setInstances(null); @@ -32,7 +32,7 @@ export function InformationRoute() { try { const [statistics, instances] = await Promise.all([ - getStatistics({ refresh: true }), + getStatistics({ refresh }), getInstances(), ]); @@ -62,7 +62,7 @@ export function InformationRoute() { return; } - fetchStatistics(); + fetchStatistics({ refresh: true }); }; const handleClickDownloadInfo = () => { From ba602bcabb1478a61bdefd868666f8120a156cb3 Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Sat, 28 Mar 2020 03:11:11 -0300 Subject: [PATCH 087/223] Regression: Invite links working for group DMs (#17056) * Regression: Invite links working for group DMs * Protect invite link creation Co-authored-by: Diego Sampaio --- app/invites/server/functions/findOrCreateInvite.js | 8 +++++++- app/invites/server/functions/useInviteToken.js | 5 +++++ app/lib/server/functions/addUserToRoom.js | 6 ++++++ app/ui-flextab/client/tabs/membersList.html | 6 +++--- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/app/invites/server/functions/findOrCreateInvite.js b/app/invites/server/functions/findOrCreateInvite.js index cd01c0cc06e9..379a934804a1 100644 --- a/app/invites/server/functions/findOrCreateInvite.js +++ b/app/invites/server/functions/findOrCreateInvite.js @@ -3,9 +3,10 @@ import { Random } from 'meteor/random'; import { hasPermission } from '../../../authorization'; import { Notifications } from '../../../notifications'; -import { Invites, Subscriptions } from '../../../models'; +import { Invites, Subscriptions, Rooms } from '../../../models/server'; import { settings } from '../../../settings'; import { getURL } from '../../../utils/lib/getURL'; +import { roomTypes, RoomMemberActions } from '../../../utils/server'; function getInviteUrl(invite) { const { _id } = invite; @@ -40,6 +41,11 @@ export const findOrCreateInvite = (userId, invite) => { throw new Meteor.Error('error-invalid-room', 'The rid field is invalid', { method: 'findOrCreateInvite', field: 'rid' }); } + const room = Rooms.findOneById(invite.rid); + if (!roomTypes.getConfig(room.t).allowMemberAction(room, RoomMemberActions.INVITE)) { + throw new Meteor.Error('error-room-type-not-allowed', 'Cannot create invite links for this room type', { method: 'findOrCreateInvite' }); + } + let { days, maxUses } = invite; if (!possibleDays.includes(days)) { diff --git a/app/invites/server/functions/useInviteToken.js b/app/invites/server/functions/useInviteToken.js index d14554795928..3cf638fd3e94 100644 --- a/app/invites/server/functions/useInviteToken.js +++ b/app/invites/server/functions/useInviteToken.js @@ -3,6 +3,7 @@ import { Meteor } from 'meteor/meteor'; import { Invites, Users, Subscriptions } from '../../../models/server'; import { validateInviteToken } from './validateInviteToken'; import { addUserToRoom } from '../../../lib/server/functions/addUserToRoom'; +import { roomTypes, RoomMemberActions } from '../../../utils/server'; export const useInviteToken = (userId, token) => { if (!userId) { @@ -15,6 +16,10 @@ export const useInviteToken = (userId, token) => { const { inviteData, room } = validateInviteToken(token); + if (!roomTypes.getConfig(room.t).allowMemberAction(room, RoomMemberActions.INVITE)) { + throw new Meteor.Error('error-room-type-not-allowed', 'Can\'t join room of this type via invite', { method: 'useInviteToken', field: 'token' }); + } + const user = Users.findOneById(userId); Users.updateInviteToken(user._id, token); diff --git a/app/lib/server/functions/addUserToRoom.js b/app/lib/server/functions/addUserToRoom.js index 39db45fb4143..1e9878aadcd6 100644 --- a/app/lib/server/functions/addUserToRoom.js +++ b/app/lib/server/functions/addUserToRoom.js @@ -2,11 +2,17 @@ import { Meteor } from 'meteor/meteor'; import { Rooms, Subscriptions, Messages } from '../../../models'; import { callbacks } from '../../../callbacks'; +import { roomTypes, RoomMemberActions } from '../../../utils/server'; export const addUserToRoom = function(rid, user, inviter, silenced) { const now = new Date(); const room = Rooms.findOneById(rid); + const roomConfig = roomTypes.getConfig(room.t); + if (!roomConfig.allowMemberAction(room, RoomMemberActions.JOIN) && !roomConfig.allowMemberAction(room, RoomMemberActions.INVITE)) { + return; + } + // Check if user is already in room const subscription = Subscriptions.findOneByRoomIdAndUserId(rid, user._id); if (subscription) { diff --git a/app/ui-flextab/client/tabs/membersList.html b/app/ui-flextab/client/tabs/membersList.html index ad92bc15ff59..69c75e11214e 100644 --- a/app/ui-flextab/client/tabs/membersList.html +++ b/app/ui-flextab/client/tabs/membersList.html @@ -51,10 +51,10 @@
{{#if canAddUser}} - {{/if}} - {{#if canInviteUser}} - + {{#if canInviteUser}} + + {{/if}} {{/if}}
From 4127a3c6a10c2bcf059da4733cc235fc560063e1 Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Sat, 28 Mar 2020 03:15:33 -0300 Subject: [PATCH 088/223] Fix: Last message of Group DMs not showing the sender (#17059) --- app/ui-sidenav/client/chatRoomItem.js | 1 + app/ui-sidenav/client/sidebarItem.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/ui-sidenav/client/chatRoomItem.js b/app/ui-sidenav/client/chatRoomItem.js index 1d29d75c58c9..45d7a5c8555c 100644 --- a/app/ui-sidenav/client/chatRoomItem.js +++ b/app/ui-sidenav/client/chatRoomItem.js @@ -31,6 +31,7 @@ Template.chatRoomItem.helpers({ active: false, archivedClass, status: this.t === 'd' || this.t === 'l', + isGroupChat: roomType.isGroupChat(room), }; roomData.username = roomData.username || roomData.name; diff --git a/app/ui-sidenav/client/sidebarItem.js b/app/ui-sidenav/client/sidebarItem.js index 1021b70a8674..46e5427589ea 100644 --- a/app/ui-sidenav/client/sidebarItem.js +++ b/app/ui-sidenav/client/sidebarItem.js @@ -98,7 +98,7 @@ Template.sidebarItem.onCreated(function() { const renderedMessage = renderMessageBody(currentData.lastMessage).replace(//g, ' '); const sender = this.user && this.user._id === currentData.lastMessage.u._id ? t('You') : otherUser; - if (currentData.t === 'd' && Meteor.userId() !== currentData.lastMessage.u._id) { + if (!currentData.isGroupChat && Meteor.userId() !== currentData.lastMessage.u._id) { this.renderedMessage = currentData.lastMessage.msg === '' ? t('Sent_an_attachment') : renderedMessage; } else { this.renderedMessage = currentData.lastMessage.msg === '' ? t('user_sent_an_attachment', { user: sender }) : `${ sender }: ${ renderedMessage }`; From 7f7a5512f8361c348b0a098a5cc642cf9327e3c3 Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Sat, 28 Mar 2020 03:40:24 -0300 Subject: [PATCH 089/223] Fix: Notifications of Group DM were not showing the room name (#17058) * Fix: Notifications of Group DM were not showing the room name * Use isGroupChat method * Add sender to notification text Co-authored-by: Diego Sampaio --- app/lib/lib/roomTypes/direct.js | 13 ++++++++++--- app/lib/server/functions/notifications/email.js | 8 +++++--- app/lib/server/functions/notifications/mobile.js | 2 +- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/app/lib/lib/roomTypes/direct.js b/app/lib/lib/roomTypes/direct.js index b564d3e3e012..487c21d63891 100644 --- a/app/lib/lib/roomTypes/direct.js +++ b/app/lib/lib/roomTypes/direct.js @@ -167,10 +167,17 @@ export class DirectMessageRoomType extends RoomTypeConfig { return {}; } - const title = settings.get('UI_Use_Real_Name') ? user.name : `@${ user.username }`; - const text = notificationMessage; + if (this.isGroupChat(room)) { + return { + title: this.roomName(room), + text: `${ (settings.get('UI_Use_Real_Name') && user.name) || user.username }: ${ notificationMessage }`, + }; + } - return { title, text }; + return { + title: (settings.get('UI_Use_Real_Name') && user.name) || user.username, + text: notificationMessage, + }; } getAvatarPath(roomData, subData) { diff --git a/app/lib/server/functions/notifications/email.js b/app/lib/server/functions/notifications/email.js index 0b22255842ec..13a4652072d3 100644 --- a/app/lib/server/functions/notifications/email.js +++ b/app/lib/server/functions/notifications/email.js @@ -26,7 +26,9 @@ function getEmailContent({ message, user, room }) { const roomName = s.escapeHTML(`#${ roomTypes.getRoomName(room.t, room) }`); const userName = s.escapeHTML(settings.get('UI_Use_Real_Name') ? message.u.name || message.u.username : message.u.username); - const header = TAPi18n.__(room.t === 'd' ? 'User_sent_a_message_to_you' : 'User_sent_a_message_on_channel', { + const roomType = roomTypes.getConfig(room.t); + + const header = TAPi18n.__(!roomType.isGroupChat(room) ? 'User_sent_a_message_to_you' : 'User_sent_a_message_on_channel', { username: userName, channel: roomName, lng, @@ -54,7 +56,7 @@ function getEmailContent({ message, user, room }) { } if (message.file) { - const fileHeader = TAPi18n.__(room.t === 'd' ? 'User_uploaded_a_file_to_you' : 'User_uploaded_a_file_on_channel', { + const fileHeader = TAPi18n.__(!roomType.isGroupChat(room) ? 'User_uploaded_a_file_to_you' : 'User_uploaded_a_file_on_channel', { username: userName, channel: roomName, lng, @@ -112,7 +114,7 @@ export function sendEmail({ message, user, subscription, room, emailAddress, has const username = settings.get('UI_Use_Real_Name') ? message.u.name || message.u.username : message.u.username; let subjectKey = 'Offline_Mention_All_Email'; - if (room.t === 'd') { + if (!roomTypes.getConfig(room.t).isGroupChat(room)) { subjectKey = 'Offline_DM_Email'; } else if (hasMentionToUser) { subjectKey = 'Offline_Mention_Email'; diff --git a/app/lib/server/functions/notifications/mobile.js b/app/lib/server/functions/notifications/mobile.js index fef2c83ba2b5..1e7a5d54849d 100644 --- a/app/lib/server/functions/notifications/mobile.js +++ b/app/lib/server/functions/notifications/mobile.js @@ -63,7 +63,7 @@ export async function sendSinglePush({ room, message, userId, receiverUsername, messageType: message.t, messageId: message._id, }, - roomName: settings.get('Push_show_username_room') && room.t !== 'd' ? `#${ roomTypes.getRoomName(room.t, room) }` : '', + roomName: settings.get('Push_show_username_room') && roomTypes.getConfig(room.t).isGroupChat(room) ? `#${ roomTypes.getRoomName(room.t, room) }` : '', username, message: settings.get('Push_show_message') ? notificationMessage : ' ', badge: await getBadgeCount(userId), From f925e44852084083264aa381b4f81b03acc9e29e Mon Sep 17 00:00:00 2001 From: Renato Becker Date: Sat, 28 Mar 2020 16:56:15 -0300 Subject: [PATCH 090/223] Regression: Omnichannel notification on new conversations displaying incorrect information (#16346) --- app/livechat/server/lib/Livechat.js | 1 + app/livechat/server/lib/routing/ManualSelection.js | 11 +++++++---- app/livechat/server/roomType.js | 2 +- packages/rocketchat-i18n/i18n/en.i18n.json | 2 ++ packages/rocketchat-i18n/i18n/pt-BR.i18n.json | 2 ++ 5 files changed, 13 insertions(+), 5 deletions(-) diff --git a/app/livechat/server/lib/Livechat.js b/app/livechat/server/lib/Livechat.js index 36cf3352fb87..8a31d02e1c7d 100644 --- a/app/livechat/server/lib/Livechat.js +++ b/app/livechat/server/lib/Livechat.js @@ -72,6 +72,7 @@ export const Livechat = { getAgents(department) { if (department) { + // TODO: This and all others should get the user's info as well return LivechatDepartmentAgents.findByDepartmentId(department); } return Users.findAgents(); diff --git a/app/livechat/server/lib/routing/ManualSelection.js b/app/livechat/server/lib/routing/ManualSelection.js index e977d9a6f8e9..f217424cf062 100644 --- a/app/livechat/server/lib/routing/ManualSelection.js +++ b/app/livechat/server/lib/routing/ManualSelection.js @@ -4,7 +4,7 @@ import { TAPi18n } from 'meteor/rocketchat:tap-i18n'; import { Livechat } from '../Livechat'; import { RoutingManager } from '../RoutingManager'; import { sendNotification } from '../../../../lib/server'; -import { LivechatRooms, LivechatInquiry } from '../../../../models/server'; +import { LivechatRooms, LivechatInquiry, Users } from '../../../../models/server'; /* Manual Selection Queuing Method: * @@ -46,11 +46,14 @@ class ManualSelection { // Alert only the online agents of the queued request const onlineAgents = Livechat.getOnlineAgents(department); - const { message } = inquiry; const room = LivechatRooms.findOneById(rid); + const notificationUserName = v && (v.name || v.username); onlineAgents.forEach((agent) => { + if (agent.agentId) { + agent = Users.findOneById(agent.agentId); + } const { _id, active, emails, language, status, statusConnection, username } = agent; sendNotification({ // fake a subscription in order to make use of the function defined above @@ -73,8 +76,8 @@ class ManualSelection { hasMentionToAll: true, // consider all agents to be in the room hasMentionToHere: false, message: Object.assign({}, { u: v }), - notificationMessage: message.msg, - room: Object.assign(room, { name: TAPi18n.__('New_livechat_in_queue') }), + notificationMessage: TAPi18n.__('User_started_a_new_conversation', { username: notificationUserName }, language), + room: Object.assign(room, { name: TAPi18n.__('New_chat_in_queue', {}, language) }), mentionIds: [], }); }); diff --git a/app/livechat/server/roomType.js b/app/livechat/server/roomType.js index 31d62c609b68..9d8cb17af7b5 100644 --- a/app/livechat/server/roomType.js +++ b/app/livechat/server/roomType.js @@ -17,7 +17,7 @@ class LivechatRoomTypeServer extends LivechatRoomType { * @return {object} Notification details */ getNotificationDetails(room, user, notificationMessage) { - const title = `[livechat] ${ this.roomName(room) }`; + const title = `[Omnichannel] ${ this.roomName(room) }`; const text = notificationMessage; return { title, text }; diff --git a/packages/rocketchat-i18n/i18n/en.i18n.json b/packages/rocketchat-i18n/i18n/en.i18n.json index dd9a3327143c..110f01e9b262 100644 --- a/packages/rocketchat-i18n/i18n/en.i18n.json +++ b/packages/rocketchat-i18n/i18n/en.i18n.json @@ -2420,6 +2420,7 @@ "Navigation_History": "Navigation History", "New_users": "New users", "New_Application": "New Application", + "New_chat_in_queue": "New chat in queue", "New_chat_transfer": "New Chat Transfer: __transfer__", "New_Custom_Field": "New Custom Field", "New_Department": "New Department", @@ -3482,6 +3483,7 @@ "User_sent_a_message_to_you": "__username__ sent you a message", "user_sent_an_attachment": "__user__ sent an attachment", "User_Settings": "User Settings", + "User_started_a_new_conversation": "__username__ started a new conversation", "User_unmuted_by": "User __user_unmuted__ unmuted by __user_by__.", "User_unmuted_in_room": "User unmuted in room", "User_updated_successfully": "User updated successfully", diff --git a/packages/rocketchat-i18n/i18n/pt-BR.i18n.json b/packages/rocketchat-i18n/i18n/pt-BR.i18n.json index e26ed0ea5829..bc6301c49fc0 100644 --- a/packages/rocketchat-i18n/i18n/pt-BR.i18n.json +++ b/packages/rocketchat-i18n/i18n/pt-BR.i18n.json @@ -2178,6 +2178,7 @@ "Name_Placeholder": "Por favor, insira seu nome...", "Navigation_History": "Histรณrico de navegaรงรฃo", "New_Application": "Nova aplicaรงรฃo", + "New_chat_in_queue": "Novo chat na fila", "New_chat_transfer": "Nova Transferรชncia de conversa: __transfer__", "New_Custom_Field": "Novo Campo Personalizado", "New_Department": "Novo Departamento", @@ -3157,6 +3158,7 @@ "User_sent_a_message_to_you": "__username__ enviou uma mensagem para vocรช", "user_sent_an_attachment": "__user__ enviou um anexo", "User_Settings": "Configuraรงรตes do Usuรกrio", + "User_started_a_new_conversation": "__username__ iniciou um nova conversa", "User_unmuted_by": "__user_by__ permitiu que __user_unmuted__ fale na sala.", "User_unmuted_in_room": "Usuรกrio pode falar na sala", "User_updated_successfully": "Usuรกrio atualizado com sucesso", From af3d8883b83656fe3dabe6102b1a1aafb74635f5 Mon Sep 17 00:00:00 2001 From: Marcos Spessatto Defendi Date: Sat, 28 Mar 2020 17:06:15 -0300 Subject: [PATCH 091/223] Regression: users.setStatus throwing an error if message is empty (#17036) --- app/api/server/v1/users.js | 4 +- tests/data/users.helper.js | 10 ++ tests/end-to-end/api/01-users.js | 170 ++++++++++++++++++++----------- 3 files changed, 121 insertions(+), 63 deletions(-) diff --git a/app/api/server/v1/users.js b/app/api/server/v1/users.js index 5570517c9c7d..a3618a3caa2e 100644 --- a/app/api/server/v1/users.js +++ b/app/api/server/v1/users.js @@ -365,6 +365,7 @@ API.v1.addRoute('users.getStatus', { authRequired: true }, { if (this.isUserFromParams()) { const user = Users.findOneById(this.userId); return API.v1.success({ + _id: user._id, message: user.statusText, connectionStatus: user.statusConnection, status: user.status, @@ -374,6 +375,7 @@ API.v1.addRoute('users.getStatus', { authRequired: true }, { const user = this.getUserFromParams(); return API.v1.success({ + _id: user._id, message: user.statusText, status: user.status, }); @@ -403,7 +405,7 @@ API.v1.addRoute('users.setStatus', { authRequired: true }, { } Meteor.runAsUser(user._id, () => { - if (this.bodyParams.message || this.bodyParams.message.length === 0) { + if (this.bodyParams.message || this.bodyParams.message === '') { setStatusText(user._id, this.bodyParams.message); } if (this.bodyParams.status) { diff --git a/tests/data/users.helper.js b/tests/data/users.helper.js index ec2ae445b3b6..44ee4f73c749 100644 --- a/tests/data/users.helper.js +++ b/tests/data/users.helper.js @@ -40,3 +40,13 @@ export const getUserByUsername = (username) => new Promise((resolve) => { resolve(res.body.user); }); }); + +export const getUserStatus = (userId) => new Promise((resolve) => { + request.get(api(`users.getStatus?userId=${ userId }`)) + .set(credentials) + .expect('Content-Type', 'application/json') + .expect(200) + .end((end, res) => { + resolve(res.body); + }); +}); diff --git a/tests/end-to-end/api/01-users.js b/tests/end-to-end/api/01-users.js index 8c6411d0f80f..56de4a6a2db6 100644 --- a/tests/end-to-end/api/01-users.js +++ b/tests/end-to-end/api/01-users.js @@ -17,7 +17,7 @@ import { adminEmail, preferences, password, adminUsername } from '../../data/use import { imgURL } from '../../data/interactions.js'; import { customFieldText, clearCustomFields, setCustomFields } from '../../data/custom-fields.js'; import { updatePermission, updateSetting } from '../../data/permissions.helper'; -import { createUser, login, deleteUser } from '../../data/users.helper.js'; +import { createUser, login, deleteUser, getUserStatus } from '../../data/users.helper.js'; describe('[Users]', function() { this.retries(0); @@ -1738,84 +1738,130 @@ describe('[Users]', function() { }); }); - describe('[/users.setStatus]', () => { - let user; - before((done) => { - const username = `user.test.${ Date.now() }`; - const email = `${ username }@rocket.chat`; - request.post(api('users.create')) + describe('[/users.getStatus]', () => { + it('should return my own status', (done) => { + request.get(api('users.getStatus')) .set(credentials) - .send({ email, name: username, username, password }) - .end((err, res) => { - user = res.body.user; - done(); - }); - }); - let userCredentials; - before((done) => { - request.post(api('login')) - .send({ - user: user.username, - password, + .expect('Content-Type', 'application/json') + .expect(200) + .expect((res) => { + expect(res.body).to.have.property('success', true); + expect(res.body).to.have.property('status'); + expect(res.body._id).to.be.equal(credentials['X-User-Id']); }) + .end(done); + }); + it('should return other user status', (done) => { + request.get(api('users.getStatus?userId=rocket.cat')) + .set(credentials) .expect('Content-Type', 'application/json') .expect(200) .expect((res) => { - userCredentials = {}; - userCredentials['X-Auth-Token'] = res.body.data.authToken; - userCredentials['X-User-Id'] = res.body.data.userId; + expect(res.body).to.have.property('success', true); + expect(res.body).to.have.property('status'); + expect(res.body._id).to.be.equal('rocket.cat'); }) .end(done); }); + }); + + describe('[/users.setStatus]', () => { + let user; before((done) => { - updatePermission('edit-other-user-info', ['admin', 'user']).then(done); + createUser() + .then((createdUser) => { + user = createdUser; + done(); + }); }); - after((done) => { - request.post(api('users.delete')).set(credentials).send({ - userId: user._id, - }).end(() => updatePermission('edit-other-user-info', ['admin']).then(done)); - user = undefined; + it('should return an error when the setting "Accounts_AllowUserStatusMessageChange" is disabled', (done) => { + updateSetting('Accounts_AllowUserStatusMessageChange', false).then(() => { + request.post(api('users.setStatus')) + .set(credentials) + .send({ + status: 'busy', + message: '', + }) + .expect('Content-Type', 'application/json') + .expect(400) + .expect((res) => { + expect(res.body).to.have.property('success', false); + expect(res.body.errorType).to.be.equal('error-not-allowed'); + expect(res.body.error).to.be.equal('Change status is not allowed [error-not-allowed]'); + }) + .end(done); + }); }); - it('should set other user status to busy', (done) => { - const testUsername = `testuserdelete${ +new Date() }`; - let targetUser; - request.post(api('users.register')) + it('should update my own status', (done) => { + updateSetting('Accounts_AllowUserStatusMessageChange', true).then(() => { + request.post(api('users.setStatus')) + .set(credentials) + .send({ + status: 'busy', + message: 'test', + }) + .expect('Content-Type', 'application/json') + .expect(200) + .expect((res) => { + expect(res.body).to.have.property('success', true); + getUserStatus(credentials['X-User-Id']).then((status) => expect(status.status).to.be.equal('busy')); + }) + .end(done); + }); + }); + it('should return an error when trying to update other user status without the required permission', (done) => { + updatePermission('edit-other-user-info', []).then(() => { + request.post(api('users.setStatus')) + .set(credentials) + .send({ + status: 'busy', + message: 'test', + userId: user._id, + }) + .expect('Content-Type', 'application/json') + .expect(403) + .expect((res) => { + expect(res.body).to.have.property('success', false); + expect(res.body.error).to.be.equal('unauthorized'); + }) + .end(done); + }); + }); + it('should update another user status succesfully', (done) => { + updatePermission('edit-other-user-info', ['admin']).then(() => { + request.post(api('users.setStatus')) + .set(credentials) + .send({ + status: 'busy', + message: 'test', + userId: user._id, + }) + .expect('Content-Type', 'application/json') + .expect(200) + .expect((res) => { + expect(res.body).to.have.property('success', true); + getUserStatus(credentials['X-User-Id']).then((status) => { + expect(status.status).to.be.equal('busy'); + expect(status.message).to.be.equal('test'); + }); + }) + .end(done); + }); + }); + it('should return an error when the user try to update user status with an invalid status', (done) => { + request.post(api('users.setStatus')) .set(credentials) .send({ - email: `${ testUsername }.@teste.com`, - username: `${ testUsername }test`, - name: testUsername, - pass: password, + status: 'invalid', }) .expect('Content-Type', 'application/json') - .expect(200) + .expect(400) .expect((res) => { - targetUser = res.body.user; + expect(res.body).to.have.property('success', false); + expect(res.body.errorType).to.be.equal('error-invalid-status'); + expect(res.body.error).to.be.equal('Valid status types include online, away, offline, and busy. [error-invalid-status]'); }) - .end(() => { - request.post(api('users.setStatus')) - .set(userCredentials) - .send({ - status: 'busy', - message: '', - userId: targetUser._id, - }) - .expect('Content-Type', 'application/json') - .expect(200) - .expect((res) => { - expect(res.body).to.have.property('success', true); - }) - .end(() => { - request.get(api(`users.getStatus?userId=${ targetUser._id }`)) - .set(userCredentials) - .expect('Content-Type', 'application/json') - .expect(200) - .expect((res) => { - expect(res.body).to.have.property('status', 'busy'); - }) - .end(done); - }); - }); + .end(done); }); }); From 03cb0e1edd1ea228c8c099cffb8559abef383db1 Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Sat, 28 Mar 2020 23:07:40 -0300 Subject: [PATCH 092/223] Regression: Overwrite model functions on EE only when license applied (#17061) * Overwrite model function on EE only license applied * Convert to typescript Co-authored-by: Rodrigo Nascimento --- .../license/server/{bundles.js => bundles.ts} | 14 ++- .../license/server/{decrypt.js => decrypt.ts} | 4 +- ee/app/license/server/index.js | 6 - ee/app/license/server/index.ts | 5 + .../license/server/{license.js => license.ts} | 118 ++++++++++++------ .../license/server/{methods.js => methods.ts} | 5 +- .../livechat-enterprise/server/lib/units.js | 1 + .../server/models/LivechatDepartment.js | 79 +++++------- ee/app/models/server/models/LivechatRooms.js | 50 +++----- .../models/server/raw/LivechatDepartment.js | 35 ++---- ee/app/models/server/raw/LivechatRooms.js | 42 +++---- 11 files changed, 171 insertions(+), 188 deletions(-) rename ee/app/license/server/{bundles.js => bundles.ts} (61%) rename ee/app/license/server/{decrypt.js => decrypt.ts} (90%) delete mode 100644 ee/app/license/server/index.js create mode 100644 ee/app/license/server/index.ts rename ee/app/license/server/{license.js => license.ts} (61%) rename ee/app/license/server/{methods.js => methods.ts} (56%) diff --git a/ee/app/license/server/bundles.js b/ee/app/license/server/bundles.ts similarity index 61% rename from ee/app/license/server/bundles.js rename to ee/app/license/server/bundles.ts index f4cc45c2d348..5b92f305a1bd 100644 --- a/ee/app/license/server/bundles.js +++ b/ee/app/license/server/bundles.ts @@ -1,4 +1,8 @@ -const bundles = { +interface IBundle { + [key: string]: string[]; +} + +const bundles: IBundle = { enterprise: [ 'auditing', 'canned-responses', @@ -10,7 +14,7 @@ const bundles = { ], }; -const getBundleFromModule = (moduleName) => { +const getBundleFromModule = (moduleName: string): string|undefined => { const match = moduleName.match(/(.*):\*$/); if (!match) { return; @@ -19,7 +23,7 @@ const getBundleFromModule = (moduleName) => { return match[1]; }; -export function isBundle(moduleName) { +export function isBundle(moduleName: string): boolean { if (moduleName === '*') { return true; } @@ -32,10 +36,10 @@ export function isBundle(moduleName) { return true; } -export function getBundleModules(moduleName) { +export function getBundleModules(moduleName: string): string[] { if (moduleName === '*') { return Object.keys(bundles) - .reduce((modules, bundle) => modules.concat(bundles[bundle]), []); + .reduce((modules, bundle) => modules.concat(bundles[bundle]), []); } const bundle = getBundleFromModule(moduleName); diff --git a/ee/app/license/server/decrypt.js b/ee/app/license/server/decrypt.ts similarity index 90% rename from ee/app/license/server/decrypt.js rename to ee/app/license/server/decrypt.ts index 889f60e66fb5..ef06dcc03310 100644 --- a/ee/app/license/server/decrypt.js +++ b/ee/app/license/server/decrypt.ts @@ -2,8 +2,8 @@ import crypto from 'crypto'; const publicKey = 'LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFxV1Nza2Q5LzZ6Ung4a3lQY2ljcwpiMzJ3Mnd4VnV3N3lCVDk2clEvOEQreU1lQ01POXdTU3BIYS85bkZ5d293RXRpZ3B0L3dyb1BOK1ZHU3didHdQCkZYQmVxRWxCbmRHRkFsODZlNStFbGlIOEt6L2hHbkNtSk5tWHB4RUsyUkUwM1g0SXhzWVg3RERCN010eC9pcXMKY2pCL091dlNCa2ppU2xlUzdibE5JVC9kQTdLNC9DSjNvaXUwMmJMNEV4Y2xDSGVwenFOTWVQM3dVWmdweE9uZgpOT3VkOElYWUs3M3pTY3VFOEUxNTdZd3B6Q0twVmFIWDdaSmY4UXVOc09PNVcvYUlqS2wzTDYyNjkrZUlPRXJHCndPTm1hSG56Zmc5RkxwSmh6Z3BPMzhhVm43NnZENUtLakJhaldza1krNGEyZ1NRbUtOZUZxYXFPb3p5RUZNMGUKY0ZXWlZWWjNMZWg0dkVNb1lWUHlJeng5Nng4ZjIveW1QbmhJdXZRdjV3TjRmeWVwYTdFWTVVQ2NwNzF6OGtmUAo0RmNVelBBMElEV3lNaWhYUi9HNlhnUVFaNEdiL3FCQmh2cnZpSkNGemZZRGNKZ0w3RmVnRllIUDNQR0wwN1FnCnZMZXZNSytpUVpQcnhyYnh5U3FkUE9rZ3VyS2pWclhUVXI0QTlUZ2lMeUlYNVVsSnEzRS9SVjdtZk9xWm5MVGEKU0NWWEhCaHVQbG5DR1pSMDFUb1RDZktoTUcxdTBDRm5MMisxNWhDOWZxT21XdjlRa2U0M3FsSjBQZ0YzVkovWAp1eC9tVHBuazlnbmJHOUpIK21mSDM5Um9GdlROaW5Zd1NNdll6dXRWT242OXNPemR3aERsYTkwbDNBQ2g0eENWCks3Sk9YK3VIa29OdTNnMmlWeGlaVU0wQ0F3RUFBUT09Ci0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQo='; -export default function decrypt(encrypted) { - const decrypted = crypto.publicDecrypt(Buffer.from(publicKey, 'base64'), Buffer.from(encrypted, 'base64')); +export default function decrypt(encrypted: string): string { + const decrypted = crypto.publicDecrypt(Buffer.from(publicKey, 'base64').toString('utf-8'), Buffer.from(encrypted, 'base64')); return decrypted.toString('utf-8'); } diff --git a/ee/app/license/server/index.js b/ee/app/license/server/index.js deleted file mode 100644 index 1d19328f9b76..000000000000 --- a/ee/app/license/server/index.js +++ /dev/null @@ -1,6 +0,0 @@ -import { onLicense } from './license'; -import './settings'; -import './methods'; -import './startup'; - -export { onLicense }; diff --git a/ee/app/license/server/index.ts b/ee/app/license/server/index.ts new file mode 100644 index 000000000000..5d718ee36c21 --- /dev/null +++ b/ee/app/license/server/index.ts @@ -0,0 +1,5 @@ +import './settings'; +import './methods'; +import './startup'; + +export { onLicense, overwriteClassOnLicense } from './license'; diff --git a/ee/app/license/server/license.js b/ee/app/license/server/license.ts similarity index 61% rename from ee/app/license/server/license.js rename to ee/app/license/server/license.ts index 77618e523224..845363bee97b 100644 --- a/ee/app/license/server/license.js +++ b/ee/app/license/server/license.ts @@ -1,30 +1,48 @@ -import EventEmiter from 'events'; +import EventEmitter from 'events'; import { Users } from '../../../../app/models/server'; import decrypt from './decrypt'; import { getBundleModules, isBundle } from './bundles'; -const EnterpriseLicenses = new EventEmiter(); +const EnterpriseLicenses = new EventEmitter(); -const License = { - url: null, - licenses: [], - modules: {}, +export interface IModules { + [key: string]: number; +} + +export interface ILicense { + url: string; + expiry: string; + maxActiveUsers: number; + modules: string[]; +} + +export interface IValidLicense { + valid?: boolean; + license: ILicense; +} + +class LicenseClass { + private url: string|null = null; + + private licenses: IValidLicense[] = []; - _validateExpiration(expiration) { + private modules: IModules = {}; + + _validateExpiration(expiration: string): boolean { return new Date() > new Date(expiration); - }, + } - _validateURL(licenseURL, url) { + _validateURL(licenseURL: string, url: string): boolean { licenseURL = licenseURL .replace(/\./g, '\\.') // convert dots to literal .replace(/\*/g, '.*'); // convert * to .* const regex = new RegExp(`^${ licenseURL }$`, 'i'); - return regex.exec(url); - }, + return !!regex.exec(url); + } - _validModules(licenseModules) { + _validModules(licenseModules: string[]): void { licenseModules.forEach((licenseModule) => { const modules = isBundle(licenseModule) ? getBundleModules(licenseModule) @@ -35,9 +53,9 @@ const License = { EnterpriseLicenses.emit(`valid:${ module }`); }); }); - }, + } - _invalidModules(licenseModules) { + _invalidModules(licenseModules: string[]): void { licenseModules.forEach((licenseModule) => { const modules = isBundle(licenseModule) ? getBundleModules(licenseModule) @@ -45,32 +63,32 @@ const License = { modules.forEach((module) => EnterpriseLicenses.emit(`invalid:${ module }`)); }); - }, + } - _hasValidNumberOfActiveUsers(maxActiveUsers) { + _hasValidNumberOfActiveUsers(maxActiveUsers: number): boolean { return Users.getActiveLocalUserCount() <= maxActiveUsers; - }, + } - addLicense(license) { + addLicense(license: ILicense): void { this.licenses.push({ - valid: null, + valid: undefined, license, }); this.validate(); - }, + } - hasModule(module) { + hasModule(module: string): boolean { return typeof this.modules[module] !== 'undefined'; - }, + } - setURL(url) { + setURL(url: string): void { this.url = url.replace(/\/$/, '').replace(/^https?:\/\/(.*)$/, '$1'); this.validate(); - }, + } - validate() { + validate(): void { this.licenses = this.licenses.map((item) => { const { license } = item; @@ -79,20 +97,20 @@ const License = { return item; } if (!this._validateURL(license.url, this.url)) { - license.valid = false; + item.valid = false; this._invalidModules(license.modules); return item; } } if (license.expiry && this._validateExpiration(license.expiry)) { - license.valid = false; + item.valid = false; this._invalidModules(license.modules); return item; } - if (license.maxActiveUsers && !this._hasValidNumberOfActiveUsers(parseInt(license.maxActiveUsers))) { - license.valid = false; + if (license.maxActiveUsers && !this._hasValidNumberOfActiveUsers(license.maxActiveUsers)) { + item.valid = false; this._invalidModules(license.modules); return item; } @@ -106,9 +124,9 @@ const License = { }); this.showLicenses(); - }, + } - showLicenses() { + showLicenses(): void { if (!process.env.LICENSE_DEBUG || process.env.LICENSE_DEBUG === 'false') { return; } @@ -125,20 +143,22 @@ const License = { console.log(' modules ->', license.modules.join(', ')); console.log('-------------------------'); }); - }, -}; + } +} + +const License = new LicenseClass(); -export function addLicense(encryptedLicense) { +export function addLicense(encryptedLicense: string): boolean { if (!encryptedLicense || String(encryptedLicense).trim() === '') { - return; + return false; } - console.log('### New Enteprise License'); + console.log('### New Enterprise License'); try { const decrypted = decrypt(encryptedLicense); if (!decrypted) { - return; + return false; } if (process.env.LICENSE_DEBUG && process.env.LICENSE_DEBUG !== 'false') { @@ -153,21 +173,39 @@ export function addLicense(encryptedLicense) { if (process.env.LICENSE_DEBUG && process.env.LICENSE_DEBUG !== 'false') { console.error('##### Invalid raw license ->', encryptedLicense, e); } + return false; } } -export function setURL(url) { +export function setURL(url: string): void { License.setURL(url); } -export function hasLicense(feature) { +export function hasLicense(feature: string): boolean { return License.hasModule(feature); } -export function onLicense(feature, cb) { +export function onLicense(feature: string, cb: (...args: any[]) => void): void { if (hasLicense(feature)) { return cb(); } EnterpriseLicenses.once(`valid:${ feature }`, cb); } + +export interface IOverrideClassProperties { + [key: string]: (...args: any[]) => any; +} + +type Class = { new(...args: any[]): any }; + +export function overwriteClassOnLicense(license: string, original: Class, overwrite: IOverrideClassProperties): void { + onLicense(license, () => { + Object.entries(overwrite).forEach(([key, value]) => { + const originalFn = original.prototype[key]; + original.prototype[key] = function(...args: any[]): any { + return value.call(this, originalFn, ...args); + }; + }); + }); +} diff --git a/ee/app/license/server/methods.js b/ee/app/license/server/methods.ts similarity index 56% rename from ee/app/license/server/methods.js rename to ee/app/license/server/methods.ts index ed1e5eca4638..d7ae53ea6c88 100644 --- a/ee/app/license/server/methods.js +++ b/ee/app/license/server/methods.ts @@ -1,9 +1,12 @@ import { Meteor } from 'meteor/meteor'; +import { check } from 'meteor/check'; import { hasLicense } from './license'; Meteor.methods({ - 'license:hasLicense'(feature) { + 'license:hasLicense'(feature: string) { + check(feature, String); + return hasLicense(feature); }, }); diff --git a/ee/app/livechat-enterprise/server/lib/units.js b/ee/app/livechat-enterprise/server/lib/units.js index 27ce27a880ce..c06e24813d4e 100644 --- a/ee/app/livechat-enterprise/server/lib/units.js +++ b/ee/app/livechat-enterprise/server/lib/units.js @@ -11,5 +11,6 @@ export function getUnitsFromUser() { return; } + // TODO remove this Meteor.call as this is used undirectly by models return Meteor.call('livechat:getUnitsFromUserRoles'); } diff --git a/ee/app/models/server/models/LivechatDepartment.js b/ee/app/models/server/models/LivechatDepartment.js index 0cb7a9206a65..d54c0db5d65f 100644 --- a/ee/app/models/server/models/LivechatDepartment.js +++ b/ee/app/models/server/models/LivechatDepartment.js @@ -1,64 +1,41 @@ import { LivechatDepartment } from '../../../../../app/models/server/models/LivechatDepartment'; import { logger } from '../../../livechat-enterprise/server/lib/logger'; import { addQueryRestrictionsToDepartmentsModel } from '../../../livechat-enterprise/server/lib/query.helper'; -import { onLicense } from '../../../license/server'; +import { overwriteClassOnLicense } from '../../../license/server'; -const _find = LivechatDepartment.prototype.find; -const _findOne = LivechatDepartment.prototype.findOne; -const _update = LivechatDepartment.prototype.update; -const _remove = LivechatDepartment.prototype.remove; -const _createOrUpdateDepartment = LivechatDepartment.prototype.createOrUpdateDepartment; +const { find, findOne, update, remove } = LivechatDepartment.prototype; -LivechatDepartment.prototype.unfilteredFind = function(...args) { - return _find.call(this, ...args); +const applyRestrictions = (method) => function(originalFn, originalQuery, ...args) { + const query = addQueryRestrictionsToDepartmentsModel(originalQuery); + logger.queries.debug(() => `LivechatDepartment.${ method } - ${ JSON.stringify(query) }`); + return originalFn.call(this, query, ...args); }; -LivechatDepartment.prototype.unfilteredFindOne = function(...args) { - return _findOne.call(this, ...args); -}; - -LivechatDepartment.prototype.unfilteredUpdate = function(...args) { - return _update.call(this, ...args); -}; - -LivechatDepartment.prototype.unfilteredRemove = function(...args) { - return _remove.call(this, ...args); -}; - -onLicense('livechat-enterprise', () => { - LivechatDepartment.prototype.find = function(originalQuery, ...args) { - const query = addQueryRestrictionsToDepartmentsModel(originalQuery); - logger.queries.debug('LivechatDepartment.find', JSON.stringify(query)); - return _find.call(this, query, ...args); - }; - - LivechatDepartment.prototype.findOne = function(originalQuery, ...args) { - const query = addQueryRestrictionsToDepartmentsModel(originalQuery); - logger.queries.debug('LivechatDepartment.findOne', JSON.stringify(query)); - return _findOne.call(this, query, ...args); - }; - - LivechatDepartment.prototype.update = function(originalQuery, ...args) { - const query = addQueryRestrictionsToDepartmentsModel(originalQuery); - logger.queries.debug('LivechatDepartment.update', JSON.stringify(query)); - return _update.call(this, query, ...args); - }; - - LivechatDepartment.prototype.remove = function(originalQuery, ...args) { - const query = addQueryRestrictionsToDepartmentsModel(originalQuery); - logger.queries.debug('LivechatDepartment.remove', JSON.stringify(query)); - return _remove.call(this, query, ...args); - }; - - LivechatDepartment.prototype.createOrUpdateDepartment = function(...args) { +overwriteClassOnLicense('livechat-enterprise', LivechatDepartment, { + find: applyRestrictions('find'), + findOne: applyRestrictions('findOne'), + update: applyRestrictions('update'), + remove: applyRestrictions('remove'), + unfilteredFind(originalFn, ...args) { + return find.apply(this, args); + }, + unfilteredFindOne(originalFn, ...args) { + return findOne.apply(this, args); + }, + unfilteredUpdate(originalFn, ...args) { + return update.apply(this, args); + }, + unfilteredRemove(originalFn, ...args) { + return remove.apply(this, args); + }, + createOrUpdateDepartment(originalFn, ...args) { if (args.length > 2 && !args[1].type) { args[1].type = 'd'; } - return _createOrUpdateDepartment.apply(this, args); - }; - - LivechatDepartment.prototype.removeParentAndAncestorById = function(parentId) { + return originalFn.apply(this, args); + }, + removeParentAndAncestorById(originalFn, parentId) { const query = { parentId, }; @@ -69,7 +46,7 @@ onLicense('livechat-enterprise', () => { }; return this.update(query, update, { multi: true }); - }; + }, }); export default LivechatDepartment; diff --git a/ee/app/models/server/models/LivechatRooms.js b/ee/app/models/server/models/LivechatRooms.js index 005b68ee619b..8fa684baf4b6 100644 --- a/ee/app/models/server/models/LivechatRooms.js +++ b/ee/app/models/server/models/LivechatRooms.js @@ -1,42 +1,26 @@ import { LivechatRooms } from '../../../../../app/models/server/models/LivechatRooms'; import { logger } from '../../../livechat-enterprise/server/lib/logger'; import { addQueryRestrictionsToRoomsModel } from '../../../livechat-enterprise/server/lib/query.helper'; +import { overwriteClassOnLicense } from '../../../license/server'; -const _find = LivechatRooms.prototype.find; -const _findOne = LivechatRooms.prototype.findOne; -const _update = LivechatRooms.prototype.update; -const _remove = LivechatRooms.prototype.remove; - -LivechatRooms.prototype.find = function(originalQuery, ...args) { - const query = addQueryRestrictionsToRoomsModel(originalQuery); - logger.queries.debug('LivechatRooms.find', JSON.stringify(query)); - return _find.call(this, query, ...args); -}; - -LivechatRooms.prototype.findOne = function(originalQuery, ...args) { +const applyRestrictions = (method) => function(originalFn, originalQuery, ...args) { const query = addQueryRestrictionsToRoomsModel(originalQuery); - logger.queries.debug('LivechatRooms.findOne', JSON.stringify(query)); - return _findOne.call(this, query, ...args); + logger.queries.debug(() => `LivechatRooms.${ method } - ${ JSON.stringify(query) }`); + return originalFn.call(this, query, ...args); }; -LivechatRooms.prototype.update = function(originalQuery, ...args) { - const query = addQueryRestrictionsToRoomsModel(originalQuery); - logger.queries.debug('LivechatRooms.update', JSON.stringify(query)); - return _update.call(this, query, ...args); -}; - -LivechatRooms.prototype.remove = function(originalQuery, ...args) { - const query = addQueryRestrictionsToRoomsModel(originalQuery); - logger.queries.debug('LivechatRooms.remove', JSON.stringify(query)); - return _remove.call(this, query, ...args); -}; - -LivechatRooms.prototype.updateDepartmentAncestorsById = function(_id, departmentAncestors) { - const query = { - _id, - }; - const update = departmentAncestors ? { $set: { departmentAncestors } } : { $unset: { departmentAncestors: 1 } }; - return this.update(query, update); -}; +overwriteClassOnLicense('livechat-enterprise', LivechatRooms, { + find: applyRestrictions('find'), + findOne: applyRestrictions('findOne'), + update: applyRestrictions('update'), + remove: applyRestrictions('remove'), + updateDepartmentAncestorsById(originalFn, _id, departmentAncestors) { + const query = { + _id, + }; + const update = departmentAncestors ? { $set: { departmentAncestors } } : { $unset: { departmentAncestors: 1 } }; + return this.update(query, update); + }, +}); export default LivechatRooms; diff --git a/ee/app/models/server/raw/LivechatDepartment.js b/ee/app/models/server/raw/LivechatDepartment.js index 7e27673f92dc..54c565c40d08 100644 --- a/ee/app/models/server/raw/LivechatDepartment.js +++ b/ee/app/models/server/raw/LivechatDepartment.js @@ -1,32 +1,17 @@ import { LivechatDepartmentRaw } from '../../../../../app/models/server/raw/LivechatDepartment'; import { logger } from '../../../livechat-enterprise/server/lib/logger'; import { addQueryRestrictionsToDepartmentsModel } from '../../../livechat-enterprise/server/lib/query.helper'; +import { overwriteClassOnLicense } from '../../../license/server'; -const _find = LivechatDepartmentRaw.prototype.find; -const _findOne = LivechatDepartmentRaw.prototype.findOne; -const _update = LivechatDepartmentRaw.prototype.update; -const _remove = LivechatDepartmentRaw.prototype.remove; - -LivechatDepartmentRaw.prototype.find = function(originalQuery, ...args) { +const applyRestrictions = (method) => function(originalFn, originalQuery, ...args) { const query = addQueryRestrictionsToDepartmentsModel(originalQuery); - logger.queries.debug('LivechatDepartmentRaw.find', JSON.stringify(query)); - return _find.call(this, query, ...args); + logger.queries.debug(() => `LivechatDepartmentRaw.${ method } - ${ JSON.stringify(query) }`); + return originalFn.call(this, query, ...args); }; -LivechatDepartmentRaw.prototype.findOne = function(originalQuery, ...args) { - const query = addQueryRestrictionsToDepartmentsModel(originalQuery); - logger.queries.debug('LivechatDepartmentRaw.findOne', JSON.stringify(query)); - return _findOne.call(this, query, ...args); -}; - -LivechatDepartmentRaw.prototype.update = function(originalQuery, ...args) { - const query = addQueryRestrictionsToDepartmentsModel(originalQuery); - logger.queries.debug('LivechatDepartmentRaw.update', JSON.stringify(query)); - return _update.call(this, query, ...args); -}; - -LivechatDepartmentRaw.prototype.remove = function(originalQuery, ...args) { - const query = addQueryRestrictionsToDepartmentsModel(originalQuery); - logger.queries.debug('LivechatDepartmentRaw.remove', JSON.stringify(query)); - return _remove.call(this, query, ...args); -}; +overwriteClassOnLicense('livechat-enterprise', LivechatDepartmentRaw, { + find: applyRestrictions('find'), + findOne: applyRestrictions('findOne'), + update: applyRestrictions('update'), + remove: applyRestrictions('remove'), +}); diff --git a/ee/app/models/server/raw/LivechatRooms.js b/ee/app/models/server/raw/LivechatRooms.js index 3b02434b450e..7bb8e1191e9e 100644 --- a/ee/app/models/server/raw/LivechatRooms.js +++ b/ee/app/models/server/raw/LivechatRooms.js @@ -1,32 +1,24 @@ import { LivechatRoomsRaw } from '../../../../../app/models/server/raw/LivechatRooms'; import { logger } from '../../../livechat-enterprise/server/lib/logger'; import { addQueryRestrictionsToRoomsModel } from '../../../livechat-enterprise/server/lib/query.helper'; +import { overwriteClassOnLicense } from '../../../license/server'; -const _find = LivechatRoomsRaw.prototype.find; -const _findOne = LivechatRoomsRaw.prototype.findOne; -const _update = LivechatRoomsRaw.prototype.update; -const _remove = LivechatRoomsRaw.prototype.remove; - -LivechatRoomsRaw.prototype.find = function(originalQuery, ...args) { +const applyRestrictions = (method) => function(originalFn, originalQuery, ...args) { const query = addQueryRestrictionsToRoomsModel(originalQuery); - logger.queries.debug('LivechatRoomsRaw.find', JSON.stringify(query)); - return _find.call(this, query, ...args); + logger.queries.debug(() => `LivechatRoomsRaw.${ method } - ${ JSON.stringify(query) }`); + return originalFn.call(this, query, ...args); }; -LivechatRoomsRaw.prototype.findOne = function(originalQuery, ...args) { - const query = addQueryRestrictionsToRoomsModel(originalQuery); - logger.queries.debug('LivechatRoomsRaw.findOne', JSON.stringify(query)); - return _findOne.call(this, query, ...args); -}; - -LivechatRoomsRaw.prototype.update = function(originalQuery, ...args) { - const query = addQueryRestrictionsToRoomsModel(originalQuery); - logger.queries.debug('LivechatRoomsRaw.update', JSON.stringify(query)); - return _update.call(this, query, ...args); -}; - -LivechatRoomsRaw.prototype.remove = function(originalQuery, ...args) { - const query = addQueryRestrictionsToRoomsModel(originalQuery); - logger.queries.debug('LivechatRoomsRaw.remove', JSON.stringify(query)); - return _remove.call(this, query, ...args); -}; +overwriteClassOnLicense('livechat-enterprise', LivechatRoomsRaw, { + find: applyRestrictions('find'), + findOne: applyRestrictions('findOne'), + update: applyRestrictions('update'), + remove: applyRestrictions('remove'), + updateDepartmentAncestorsById(originalFn, _id, departmentAncestors) { + const query = { + _id, + }; + const update = departmentAncestors ? { $set: { departmentAncestors } } : { $unset: { departmentAncestors: 1 } }; + return this.update(query, update); + }, +}); From 98bd8c9cc17a0439c8fa7a82da57aaafe9adf174 Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Sun, 29 Mar 2020 00:24:11 -0300 Subject: [PATCH 093/223] Bump version to 3.1.0-rc.2 --- .docker/Dockerfile.rhel | 2 +- .github/history.json | 101 ++++++++++++++++++++++++++++++++++++++ HISTORY.md | 35 +++++++++++++ app/utils/rocketchat.info | 2 +- package.json | 2 +- 5 files changed, 139 insertions(+), 3 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index db7f8b82184b..d745754463e2 100644 --- a/.docker/Dockerfile.rhel +++ b/.docker/Dockerfile.rhel @@ -1,6 +1,6 @@ FROM registry.access.redhat.com/rhscl/nodejs-8-rhel7 -ENV RC_VERSION 3.1.0-rc.1 +ENV RC_VERSION 3.1.0-rc.2 MAINTAINER buildmaster@rocket.chat diff --git a/.github/history.json b/.github/history.json index f436ce550743..e9d5e2eb343b 100644 --- a/.github/history.json +++ b/.github/history.json @@ -41323,6 +41323,107 @@ ] } ] + }, + "3.1.0-rc.2": { + "node_version": "12.16.1", + "npm_version": "6.13.4", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "17061", + "title": "Regression: Overwrite model functions on EE only when license applied", + "userLogin": "sampaiodiego", + "milestone": "3.1.0", + "contributors": [ + "sampaiodiego", + "rodrigok" + ] + }, + { + "pr": "17036", + "title": "Regression: `users.setStatus` throwing an error if message is empty", + "userLogin": "MarcosSpessatto", + "milestone": "3.1.0", + "contributors": [ + "MarcosSpessatto", + "web-flow" + ] + }, + { + "pr": "16346", + "title": "Regression: Omnichannel notification on new conversations displaying incorrect information", + "userLogin": "renatobecker", + "milestone": "3.1.0", + "contributors": [ + "renatobecker", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "17058", + "title": "Fix: Notifications of Group DM were not showing the room name", + "userLogin": "rodrigok", + "milestone": "3.1.0", + "contributors": [ + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "17059", + "title": "Fix: Last message of Group DMs not showing the sender", + "userLogin": "rodrigok", + "milestone": "3.1.0", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "17056", + "title": "Regression: Invite links working for group DMs", + "userLogin": "rodrigok", + "milestone": "3.1.0", + "contributors": [ + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "17060", + "title": "Regression: Do not refresh statistics when opening the info panel", + "userLogin": "rodrigok", + "milestone": "3.1.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "17057", + "title": "Regression: Fix removing user not removing his 1-on-1 DMs", + "userLogin": "sampaiodiego", + "milestone": "3.1.0", + "contributors": [ + "sampaiodiego", + "rodrigok" + ] + }, + { + "pr": "17048", + "title": "Regression: omnichannel manual queued sidebarlist", + "userLogin": "ggazzo", + "milestone": "3.1.0", + "contributors": [ + "ggazzo", + "rodrigok" + ] + } + ] } } } \ No newline at end of file diff --git a/HISTORY.md b/HISTORY.md index f6fb51cc4c84..c6d6ba155b57 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,6 +1,41 @@ # 3.1.0 (Under Release Candidate Process) +## 3.1.0-rc.2 +`2020-03-29 ยท 9 ๐Ÿ” ยท 5 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` + +
+๐Ÿ” Minor changes + + +- Regression: Overwrite model functions on EE only when license applied ([#17061](https://github.com/RocketChat/Rocket.Chat/pull/17061)) + +- Regression: `users.setStatus` throwing an error if message is empty ([#17036](https://github.com/RocketChat/Rocket.Chat/pull/17036)) + +- Regression: Omnichannel notification on new conversations displaying incorrect information ([#16346](https://github.com/RocketChat/Rocket.Chat/pull/16346)) + +- Fix: Notifications of Group DM were not showing the room name ([#17058](https://github.com/RocketChat/Rocket.Chat/pull/17058)) + +- Fix: Last message of Group DMs not showing the sender ([#17059](https://github.com/RocketChat/Rocket.Chat/pull/17059)) + +- Regression: Invite links working for group DMs ([#17056](https://github.com/RocketChat/Rocket.Chat/pull/17056)) + +- Regression: Do not refresh statistics when opening the info panel ([#17060](https://github.com/RocketChat/Rocket.Chat/pull/17060)) + +- Regression: Fix removing user not removing his 1-on-1 DMs ([#17057](https://github.com/RocketChat/Rocket.Chat/pull/17057)) + +- Regression: omnichannel manual queued sidebarlist ([#17048](https://github.com/RocketChat/Rocket.Chat/pull/17048)) + +
+ +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@MarcosSpessatto](https://github.com/MarcosSpessatto) +- [@ggazzo](https://github.com/ggazzo) +- [@renatobecker](https://github.com/renatobecker) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + ## 3.1.0-rc.1 `2020-03-26 ยท 2 ๐Ÿ” ยท 2 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index c96c3f78b851..ce1762217111 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.1.0-rc.1" + "version": "3.1.0-rc.2" } diff --git a/package.json b/package.json index 739da825bd08..10fef9ddd81a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Rocket.Chat", "description": "The Ultimate Open Source WebChat Platform", - "version": "3.1.0-rc.1", + "version": "3.1.0-rc.2", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From 8f6fdff36af6b5a4cf391962045359271022d655 Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Sun, 29 Mar 2020 17:02:01 -0300 Subject: [PATCH 094/223] [IMPROVE] Tab Bar actions reorder (#17072) --- .../client/lib/startup.js | 2 +- app/channel-settings/client/startup/tabBar.js | 2 +- app/discussion/client/tabBar.js | 2 +- app/e2e/client/tabbar.js | 2 +- app/lib/client/defaultTabBars.js | 37 +++++-------------- app/livechat/client/ui.js | 2 +- app/mentions-flextab/client/tabBar.js | 2 +- app/message-pin/client/tabBar.js | 2 +- app/message-star/client/tabBar.js | 2 +- app/otr/client/tabBar.js | 2 +- app/push-notifications/client/tabBar.js | 2 +- app/threads/client/flextab/threadlist.js | 2 +- app/ui-admin/client/rooms/adminRooms.js | 2 +- app/ui-admin/client/users/adminUsers.js | 16 -------- app/ui-flextab/client/tabs/membersList.js | 2 +- app/ui-master/public/icons.svg | 9 +++++ app/ui-master/public/icons/phone.svg | 3 ++ app/ui-utils/client/lib/TabBar.js | 2 +- app/videobridge/client/tabBar.js | 12 +++--- packages/rocketchat-i18n/i18n/en.i18n.json | 4 +- packages/rocketchat-i18n/i18n/pt-BR.i18n.json | 3 +- private/public/icons.svg | 11 +++++- 22 files changed, 55 insertions(+), 68 deletions(-) create mode 100644 app/ui-master/public/icons/phone.svg diff --git a/app/channel-settings-mail-messages/client/lib/startup.js b/app/channel-settings-mail-messages/client/lib/startup.js index 60986fc628be..50d119741391 100644 --- a/app/channel-settings-mail-messages/client/lib/startup.js +++ b/app/channel-settings-mail-messages/client/lib/startup.js @@ -12,7 +12,7 @@ Meteor.startup(() => { i18nTitle: 'Mail_Messages', icon: 'mail', template: 'mailMessagesInstructions', - order: 10, + order: 12, condition: () => hasAllPermission('mail-messages'), }); diff --git a/app/channel-settings/client/startup/tabBar.js b/app/channel-settings/client/startup/tabBar.js index 2a3d794c4046..2ef4c61a1d4f 100644 --- a/app/channel-settings/client/startup/tabBar.js +++ b/app/channel-settings/client/startup/tabBar.js @@ -10,6 +10,6 @@ Meteor.startup(() => { i18nTitle: 'Room_Info', icon: 'info-circled', template: 'channelSettings', - order: 1, + order: 7, }); }); diff --git a/app/discussion/client/tabBar.js b/app/discussion/client/tabBar.js index e10e1143eeb5..661c9a8ddebf 100644 --- a/app/discussion/client/tabBar.js +++ b/app/discussion/client/tabBar.js @@ -10,7 +10,7 @@ Meteor.startup(function() { i18nTitle: 'Discussions', icon: 'discussion', template: 'discussionsTabbar', - order: 10, + order: 1, condition: () => settings.get('Discussion_enabled'), }); }); diff --git a/app/e2e/client/tabbar.js b/app/e2e/client/tabbar.js index 656285620096..4f7ef3cb0b8e 100644 --- a/app/e2e/client/tabbar.js +++ b/app/e2e/client/tabbar.js @@ -20,7 +20,7 @@ Meteor.startup(() => { const room = ChatRoom.findOne(Session.get('openedRoom')); call('saveRoomSettings', room._id, 'encrypted', !room.encrypted); }, - order: 10, + order: 13, condition: () => hasAllPermission('edit-room', Session.get('openedRoom')), }); } else { diff --git a/app/lib/client/defaultTabBars.js b/app/lib/client/defaultTabBars.js index 25938ee9db4c..31bb8f8a04b3 100644 --- a/app/lib/client/defaultTabBars.js +++ b/app/lib/client/defaultTabBars.js @@ -11,7 +11,7 @@ TabBar.addButton({ i18nTitle: 'Search_Messages', icon: 'magnifier', template: 'RocketSearch', - order: 2, + order: 4, }); TabBar.addButton({ @@ -20,7 +20,7 @@ TabBar.addButton({ i18nTitle: 'User_Info', icon: 'user', template: 'membersList', - order: 2, + order: 5, condition() { const rid = Session.get('openedRoom'); const room = Rooms.findOne({ @@ -34,10 +34,10 @@ TabBar.addButton({ TabBar.addButton({ groups: ['direct'], id: 'user-info-group', - i18nTitle: 'Members_List', + i18nTitle: 'Members', icon: 'team', template: 'membersList', - order: 2, + order: 5, condition() { const rid = Session.get('openedRoom'); const room = Rooms.findOne({ @@ -51,10 +51,10 @@ TabBar.addButton({ TabBar.addButton({ groups: ['channel', 'group'], id: 'members-list', - i18nTitle: 'Members_List', + i18nTitle: 'Members', icon: 'team', template: 'membersList', - order: 2, + order: 5, condition() { const rid = Session.get('openedRoom'); const room = Rooms.findOne({ @@ -69,32 +69,13 @@ TabBar.addButton({ }, }); -TabBar.addButton({ - groups: ['channel', 'group'], - id: 'addUsers', - i18nTitle: 'Add_users', - icon: 'user-plus', - template: 'inviteUsers', - order: 2, -}); - -TabBar.addButton({ - groups: ['channel', 'group'], - id: 'createInviteLink', - i18nTitle: 'Invite_Users', - icon: 'user-plus', - template: 'createInviteLink', - order: 2, -}); - - TabBar.addButton({ groups: ['channel', 'group', 'direct'], id: 'uploaded-files-list', - i18nTitle: 'Room_uploaded_file_list', + i18nTitle: 'Files', icon: 'clip', template: 'uploadedFilesList', - order: 3, + order: 6, }); TabBar.addButton({ @@ -103,5 +84,5 @@ TabBar.addButton({ i18nTitle: 'Keyboard_Shortcuts_Title', icon: 'keyboard', template: 'keyboardShortcuts', - order: 4, + order: 99, }); diff --git a/app/livechat/client/ui.js b/app/livechat/client/ui.js index d1dd6f9212e0..3a4d3fb73f2b 100644 --- a/app/livechat/client/ui.js +++ b/app/livechat/client/ui.js @@ -34,7 +34,7 @@ TabBar.addButton({ groups: ['live'], id: 'visitor-history', i18nTitle: 'Past_Chats', - icon: 'chat', + icon: 'clock', template: 'visitorHistory', order: 11, }); diff --git a/app/mentions-flextab/client/tabBar.js b/app/mentions-flextab/client/tabBar.js index afad4b9d86e2..2b2a219c6709 100644 --- a/app/mentions-flextab/client/tabBar.js +++ b/app/mentions-flextab/client/tabBar.js @@ -9,6 +9,6 @@ Meteor.startup(function() { i18nTitle: 'Mentions', icon: 'at', template: 'mentionsFlexTab', - order: 3, + order: 9, }); }); diff --git a/app/message-pin/client/tabBar.js b/app/message-pin/client/tabBar.js index 2830549a1fe0..b1fd452707df 100644 --- a/app/message-pin/client/tabBar.js +++ b/app/message-pin/client/tabBar.js @@ -13,7 +13,7 @@ Meteor.startup(function() { i18nTitle: 'Pinned_Messages', icon: 'pin', template: 'pinnedMessages', - order: 10, + order: 11, }); } else { TabBar.removeButton('pinned-messages'); diff --git a/app/message-star/client/tabBar.js b/app/message-star/client/tabBar.js index dbf6af6c4b89..cff05f61cc0a 100644 --- a/app/message-star/client/tabBar.js +++ b/app/message-star/client/tabBar.js @@ -9,6 +9,6 @@ Meteor.startup(function() { i18nTitle: 'Starred_Messages', icon: 'star', template: 'starredMessages', - order: 3, + order: 10, }); }); diff --git a/app/otr/client/tabBar.js b/app/otr/client/tabBar.js index 9df91860dd98..2d26df948327 100644 --- a/app/otr/client/tabBar.js +++ b/app/otr/client/tabBar.js @@ -16,7 +16,7 @@ Meteor.startup(function() { i18nTitle: 'OTR', icon: 'key', template: 'otrFlexTab', - order: 11, + order: 13, }); } else { OTR.enabled.set(false); diff --git a/app/push-notifications/client/tabBar.js b/app/push-notifications/client/tabBar.js index ed742ddb6857..98c0edec0317 100644 --- a/app/push-notifications/client/tabBar.js +++ b/app/push-notifications/client/tabBar.js @@ -9,6 +9,6 @@ Meteor.startup(function() { i18nTitle: 'Notifications_Preferences', icon: 'bell', template: 'pushNotificationsFlexTab', - order: 100, + order: 8, }); }); diff --git a/app/threads/client/flextab/threadlist.js b/app/threads/client/flextab/threadlist.js index 64c0dc28d1a4..d639e25df042 100644 --- a/app/threads/client/flextab/threadlist.js +++ b/app/threads/client/flextab/threadlist.js @@ -17,6 +17,6 @@ Meteor.startup(function() { return subscription.tunread && subscription.tunread.length && { body: subscription.tunread.length > 99 ? '99+' : subscription.tunread.length }; } }, - order: 0, + order: 2, }); }); diff --git a/app/ui-admin/client/rooms/adminRooms.js b/app/ui-admin/client/rooms/adminRooms.js index 4a7133850330..96a7c4c562fd 100644 --- a/app/ui-admin/client/rooms/adminRooms.js +++ b/app/ui-admin/client/rooms/adminRooms.js @@ -100,7 +100,7 @@ Template.adminRooms.onCreated(function() { i18nTitle: 'Room_Info', icon: 'info-circled', template: 'adminRoomInfo', - order: 1, + order: 7, }); ChannelSettings.addOption({ group: ['admin-room'], diff --git a/app/ui-admin/client/users/adminUsers.js b/app/ui-admin/client/users/adminUsers.js index 6a656839bf48..090b27a2f627 100644 --- a/app/ui-admin/client/users/adminUsers.js +++ b/app/ui-admin/client/users/adminUsers.js @@ -75,22 +75,6 @@ Template.adminUsers.onCreated(function() { this.tabBarData = new ReactiveVar(); this.users = new ReactiveVar([]); - TabBar.addButton({ - groups: ['admin-users'], - id: 'invite-user', - i18nTitle: 'Invite_Users', - icon: 'send', - template: 'adminInviteUser', - order: 1, - }); - TabBar.addButton({ - groups: ['admin-users'], - id: 'add-user', - i18nTitle: 'Add_User', - icon: 'plus', - template: 'adminUserEdit', - order: 2, - }); TabBar.addButton({ groups: ['admin-users'], id: 'admin-user-info', diff --git a/app/ui-flextab/client/tabs/membersList.js b/app/ui-flextab/client/tabs/membersList.js index 07f286909e79..ac77958a13c6 100644 --- a/app/ui-flextab/client/tabs/membersList.js +++ b/app/ui-flextab/client/tabs/membersList.js @@ -298,7 +298,7 @@ Template.membersList.onCreated(function() { this.clearUserDetail = () => { this.showDetail.set(false); this.tabBar.setData({ - label: 'Members_List', + label: 'Members', icon: 'team', }); setTimeout(() => this.clearRoomUserDetail(), 100); diff --git a/app/ui-master/public/icons.svg b/app/ui-master/public/icons.svg index 0d2fbfeae599..1895d7c09d23 100644 --- a/app/ui-master/public/icons.svg +++ b/app/ui-master/public/icons.svg @@ -158,6 +158,12 @@ + + + + + + @@ -245,6 +251,9 @@ + + + diff --git a/app/ui-master/public/icons/phone.svg b/app/ui-master/public/icons/phone.svg new file mode 100644 index 000000000000..b970b8bec4f6 --- /dev/null +++ b/app/ui-master/public/icons/phone.svg @@ -0,0 +1,3 @@ + + + diff --git a/app/ui-utils/client/lib/TabBar.js b/app/ui-utils/client/lib/TabBar.js index 15568d7be4e9..5117af3ad6b1 100644 --- a/app/ui-utils/client/lib/TabBar.js +++ b/app/ui-utils/client/lib/TabBar.js @@ -2,7 +2,7 @@ import _ from 'underscore'; import { ReactiveVar } from 'meteor/reactive-var'; import { Tracker } from 'meteor/tracker'; -export const TABBAR_DEFAULT_VISIBLE_ICON_COUNT = 4; +export const TABBAR_DEFAULT_VISIBLE_ICON_COUNT = 6; export const TabBar = new class TabBar { get size() { diff --git a/app/videobridge/client/tabBar.js b/app/videobridge/client/tabBar.js index a6617d8b8a58..99f9ef9f75ed 100644 --- a/app/videobridge/client/tabBar.js +++ b/app/videobridge/client/tabBar.js @@ -28,12 +28,12 @@ Meteor.startup(function() { TabBar.addButton({ groups, id: 'bbb_video', - i18nTitle: 'BBB Video Chat', - icon: 'video', + i18nTitle: 'BBB Video Call', + icon: 'phone', iconColor: 'red', template: 'videoFlexTabBbb', width: 600, - order: live ? -1 : 15, + order: live ? -1 : 0, class: () => live && 'live', }); }); @@ -43,12 +43,12 @@ Meteor.startup(function() { TabBar.addButton({ groups: ['direct', 'group'], id: 'video', - i18nTitle: 'Video Chat', - icon: 'video', + i18nTitle: 'Call', + icon: 'phone', iconColor: 'red', template: 'videoFlexTab', width: 600, - order: 12, + order: 0, }); } else { TabBar.removeButton('video'); diff --git a/packages/rocketchat-i18n/i18n/en.i18n.json b/packages/rocketchat-i18n/i18n/en.i18n.json index 110f01e9b262..48460e2dab0f 100644 --- a/packages/rocketchat-i18n/i18n/en.i18n.json +++ b/packages/rocketchat-i18n/i18n/en.i18n.json @@ -575,6 +575,7 @@ "CAS_trust_username_description": "When enabled, Rocket.Chat will trust that any username from CAS belongs to the same user on Rocket.Chat.
This may be needed if an user is renamed on CAS, but may also allow people to take control of Rocket.Chat accounts by renaming their own CAS users.", "CAS_version": "CAS Version", "CAS_version_Description": "Only use a supported CAS version supported by your CAS SSO service.", + "Call": "Call", "Categories": "Categories", "CDN_PREFIX": "CDN Prefix", "CDN_PREFIX_ALL": "Use CDN Prefix for all assets", @@ -2258,7 +2259,7 @@ "Maximum": "Maximum", "Media": "Media", "Medium": "Medium", - "Members_List": "Members List", + "Members": "Members", "mention-all": "Mention All", "mention-all_description": "Permission to use the @all mention", "mention-here": "Mention Here", @@ -2879,7 +2880,6 @@ "Room_type_changed_successfully": "Room type changed successfully", "Room_type_of_default_rooms_cant_be_changed": "This is a default room and the type can not be changed, please consult with your administrator.", "Room_unarchived": "Room unarchived", - "Room_uploaded_file_list": "Files List", "Room_uploaded_file_list_empty": "No files available.", "Rooms": "Rooms", "Routing": "Routing", diff --git a/packages/rocketchat-i18n/i18n/pt-BR.i18n.json b/packages/rocketchat-i18n/i18n/pt-BR.i18n.json index bc6301c49fc0..6381e33e89d4 100644 --- a/packages/rocketchat-i18n/i18n/pt-BR.i18n.json +++ b/packages/rocketchat-i18n/i18n/pt-BR.i18n.json @@ -526,6 +526,7 @@ "CAS_Sync_User_Data_FieldMap_Description": "Use esta entrada JSON para criar atributos internos (chave) de atributos externos (valor). Os nomes de atributo externos incluรญdos com '%' serรฃo interpolados em cadeias de valores.
Exemplo, `{\"email\":\"%email%\", \"nome\":\"%firstname%, %lastname%\"}`

O mapa de atributos sempre รฉ interpolado. No CAS 1.0, apenas o atributo `username` estรก disponรญvel. Os atributos internos disponรญveis sรฃo: nome de usuรกrio, nome, email, salas; as salas sรฃo uma lista de salas separadas por vรญrgulas ร s quais o usuรกrio serรก automaticamente incluso ao se registrar na plataforma, por exemplo: {\"rooms\": \"% team%,%department%\"} acompanhariam os usuรกrios do CAS ao criar sua conta seu time e departamento.", "CAS_version": "Versรฃo CAS", "CAS_version_Description": "Use apenas uma versรฃo suportada do CAS suportada pelo seu serviรงo CAS SSO.", + "Call": "Ligaรงรฃo", "Categories": "Categorias", "CDN_PREFIX": "Prefixo CDN", "CDN_PREFIX_ALL": "Use o prefixo da CDN para todos os recursos", @@ -2036,7 +2037,7 @@ "Max_number_of_uses": "Nรบmero mรกximo de usos", "Media": "meios de comunicaรงรฃo", "Medium": "Mรฉdio", - "Members_List": "Lista de Membros", + "Members": "Membros", "mention-all": "Mencionar tudo", "mention-all_description": "Permissรฃo para usar a menรงรฃo @all", "mention-here": "Mencionar aqui", diff --git a/private/public/icons.svg b/private/public/icons.svg index aacb59953fa6..1895d7c09d23 100644 --- a/private/public/icons.svg +++ b/private/public/icons.svg @@ -158,6 +158,12 @@ + + + + + + @@ -245,6 +251,9 @@ + + + @@ -374,4 +383,4 @@ - + \ No newline at end of file From d83d6cae64004d5d6c9b8e280f3ddebf3bee920e Mon Sep 17 00:00:00 2001 From: Tasso Evangelista Date: Sun, 29 Mar 2020 17:19:04 -0300 Subject: [PATCH 095/223] Make DirectMessageRoomType.isGroupChat() accept null roomData (#17074) --- app/lib/lib/roomTypes/direct.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/lib/lib/roomTypes/direct.js b/app/lib/lib/roomTypes/direct.js index 487c21d63891..01b6f962f444 100644 --- a/app/lib/lib/roomTypes/direct.js +++ b/app/lib/lib/roomTypes/direct.js @@ -181,9 +181,14 @@ export class DirectMessageRoomType extends RoomTypeConfig { } getAvatarPath(roomData, subData) { - if (roomData && this.isGroupChat(roomData)) { + if (this.isGroupChat(roomData)) { return getAvatarURL({ username: roomData.uids.length + roomData.usernames.join() }); } + + if (roomData) { + return getUserAvatarURL(roomData.name || this.roomName(roomData)); + } + const sub = subData || Subscriptions.findOne({ rid: roomData._id }, { fields: { name: 1 } }); return getUserAvatarURL(sub.name || this.roomName(roomData)); } @@ -193,6 +198,6 @@ export class DirectMessageRoomType extends RoomTypeConfig { } isGroupChat(room) { - return room.uids && room.uids.length > 2; + return room && room.uids && room.uids.length > 2; } } From c213684abcd5a1016a6f5d8e1191198340edfade Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Sun, 29 Mar 2020 17:29:11 -0300 Subject: [PATCH 096/223] =?UTF-8?q?[IMPROVE]=20Repeat=20=E2=80=9CReply=20I?= =?UTF-8?q?n=20Thread=E2=80=9D=20and=20=E2=80=9CAdd=20Reaction=E2=80=9D=20?= =?UTF-8?q?inside=20the=20message=20actions=20menu=20(#17073)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/discussion/client/createDiscussionMessageAction.js | 2 +- app/reactions/client/init.js | 6 +++--- app/threads/client/messageAction/follow.js | 2 +- app/threads/client/messageAction/replyInThread.js | 4 ++-- app/threads/client/messageAction/unfollow.js | 2 +- app/ui-utils/client/lib/MessageAction.js | 4 ++-- packages/rocketchat-i18n/i18n/en.i18n.json | 9 +++++---- packages/rocketchat-i18n/i18n/pt-BR.i18n.json | 7 ++++--- 8 files changed, 19 insertions(+), 17 deletions(-) diff --git a/app/discussion/client/createDiscussionMessageAction.js b/app/discussion/client/createDiscussionMessageAction.js index 79995fdbd49a..7d621bcfab50 100644 --- a/app/discussion/client/createDiscussionMessageAction.js +++ b/app/discussion/client/createDiscussionMessageAction.js @@ -45,7 +45,7 @@ Meteor.startup(function() { return uid !== u._id ? hasPermission('start-discussion-other-user') : hasPermission('start-discussion'); }, - order: 0, + order: 1, group: 'menu', }); }); diff --git a/app/reactions/client/init.js b/app/reactions/client/init.js index e6c9acaf7d62..81d3c44ecb9f 100644 --- a/app/reactions/client/init.js +++ b/app/reactions/client/init.js @@ -57,7 +57,7 @@ Meteor.startup(function() { MessageAction.addButton({ id: 'reaction-message', icon: 'add-reaction', - label: 'Reactions', + label: 'Add_Reaction', context: [ 'message', 'message-mobile', @@ -93,7 +93,7 @@ Meteor.startup(function() { return true; }, - order: 22, - group: 'message', + order: -2, + group: ['message', 'menu'], }); }); diff --git a/app/threads/client/messageAction/follow.js b/app/threads/client/messageAction/follow.js index b8cb361b4a30..9efd65b4421e 100644 --- a/app/threads/client/messageAction/follow.js +++ b/app/threads/client/messageAction/follow.js @@ -29,7 +29,7 @@ Meteor.startup(function() { } return !replies.includes(u._id); }, - order: 0, + order: 2, group: 'menu', }); }); diff --git a/app/threads/client/messageAction/replyInThread.js b/app/threads/client/messageAction/replyInThread.js index 7c6f605bca41..6682bfce983a 100644 --- a/app/threads/client/messageAction/replyInThread.js +++ b/app/threads/client/messageAction/replyInThread.js @@ -33,8 +33,8 @@ Meteor.startup(function() { condition({ subscription }) { return Boolean(subscription); }, - order: 1, - group: 'message', + order: -1, + group: ['message', 'menu'], }); }); }); diff --git a/app/threads/client/messageAction/unfollow.js b/app/threads/client/messageAction/unfollow.js index f02e4a6f9225..d209f1bf3e86 100644 --- a/app/threads/client/messageAction/unfollow.js +++ b/app/threads/client/messageAction/unfollow.js @@ -29,7 +29,7 @@ Meteor.startup(function() { } return replies.includes(u._id); }, - order: 0, + order: 2, group: 'menu', }); }); diff --git a/app/ui-utils/client/lib/MessageAction.js b/app/ui-utils/client/lib/MessageAction.js index 5f201aa73e07..0aa6c7ed8d3b 100644 --- a/app/ui-utils/client/lib/MessageAction.js +++ b/app/ui-utils/client/lib/MessageAction.js @@ -99,7 +99,7 @@ export const MessageAction = new class { }) _getButtonsByGroup = mem(function(group) { - return this._getButtons().filter((button) => button.group === group); + return this._getButtons().filter((button) => (Array.isArray(button.group) ? button.group.includes(group) : button.group === group)); }) getButtons(message, context, group) { @@ -181,7 +181,7 @@ Meteor.startup(async function() { } return true; }, - order: 2, + order: 0, group: 'menu', }); diff --git a/packages/rocketchat-i18n/i18n/en.i18n.json b/packages/rocketchat-i18n/i18n/en.i18n.json index 48460e2dab0f..3da1beeaa3f7 100644 --- a/packages/rocketchat-i18n/i18n/en.i18n.json +++ b/packages/rocketchat-i18n/i18n/en.i18n.json @@ -252,6 +252,7 @@ "Add_user": "Add user", "Add_User": "Add User", "Add_users": "Add users", + "Add_Reaction": "Add Reaction", "Adding_OAuth_Services": "Adding OAuth Services", "Adding_permission": "Adding permission", "Adding_user": "Adding user", @@ -1184,7 +1185,7 @@ "Discussion_name": "Discussion name", "Discussion": "Discussion", "Discussions": "Discussions", - "Discussion_start": "Start a discussion", + "Discussion_start": "Start a Discussion", "Discussion_target_channel_description": "Select a channel which is related to what you want to ask", "Discussion_target_channel_prefix": "You are creating a discussion in", "Discussion_target_channel": "Parent channel or group", @@ -1583,7 +1584,7 @@ "First_Channel_After_Login": "First Channel After Login", "First_response_time": "First Response Time", "Flags": "Flags", - "Follow_message": "Follow message", + "Follow_message": "Follow Message", "Following": "Following", "Follow_social_profiles": "Follow our social profiles, fork us on github and share your thoughts about the rocket.chat app on our trello board.", "Fonts": "Fonts", @@ -1938,7 +1939,7 @@ "Joined": "Joined", "Jump": "Jump", "Jump_to_first_unread": "Jump to first unread", - "Jump_to_message": "Jump to message", + "Jump_to_message": "Jump to Message", "Jump_to_recent_messages": "Jump to recent messages", "Just_invited_people_can_access_this_channel": "Just invited people can access this channel.", "Katex_Dollar_Syntax": "Allow Dollar Syntax", @@ -3381,7 +3382,7 @@ "Unblock_User": "Unblock User", "Undefined": "Undefined", "Unfavorite": "Unfavorite", - "Unfollow_message": "Unfollow message", + "Unfollow_message": "Unfollow Message", "Unignore": "Unignore", "Uninstall": "Uninstall", "Unknown_Import_State": "Unknown Import State", diff --git a/packages/rocketchat-i18n/i18n/pt-BR.i18n.json b/packages/rocketchat-i18n/i18n/pt-BR.i18n.json index 6381e33e89d4..251d03e647bd 100644 --- a/packages/rocketchat-i18n/i18n/pt-BR.i18n.json +++ b/packages/rocketchat-i18n/i18n/pt-BR.i18n.json @@ -235,6 +235,7 @@ "Add_user": "Adicionar usuรกrio", "Add_User": "Adicionar Usuรกrio", "Add_users": "Adicionar usuรกrios", + "Add_Reaction": "Adicionar reaรงรฃo", "Adding_OAuth_Services": "Adicionando Serviรงos OAuth", "Adding_permission": "Adicionando permissรฃo", "Adding_user": "Adicionando usuรกrio", @@ -1090,7 +1091,7 @@ "Displays_action_text": "Exibe texto da aรงรฃo", "Discussion_name": "Nome da discussรฃo", "Discussions": "Conversas", - "Discussion_start": "Iniciar uma discussรฃo", + "Discussion_start": "Iniciar uma Discussรฃo", "Discussion_target_channel_description": "Selecione um canal relacionado com o que deseja perguntar", "Discussion_target_channel_prefix": "Criando uma discussรฃo em", "Discussion_target_channel": "Canal ou grupo pai", @@ -1764,7 +1765,7 @@ "Joined": "Entrou", "Jump": "Saltar", "Jump_to_first_unread": "Ir para primeira mensagem nรฃo lida", - "Jump_to_message": "Ir para mensagem", + "Jump_to_message": "Ir para Mensagem", "Jump_to_recent_messages": "Ir para mensagens recentes", "Just_invited_people_can_access_this_channel": "Apenas as pessoas convidadas podem acessar este canal.", "Katex_Dollar_Syntax": "Permitir sintaxe dรณlar", @@ -3059,7 +3060,7 @@ "Unblock_User": "Desbloquear Usuรกrio", "Undefined": "Nรฃo definido", "Unfavorite": "Remover dos Favoritos", - "Unfollow_message": "Deixar de seguir mensagem", + "Unfollow_message": "Deixar de seguir Mensagem", "Unignore": "Unignore", "Uninstall": "Desinstalar", "Unlimited": "Ilimitado", From c7623476cee6cd8480c4b600c30279548f2dd68d Mon Sep 17 00:00:00 2001 From: gabriellsh <40830821+gabriellsh@users.noreply.github.com> Date: Sun, 29 Mar 2020 19:37:08 -0300 Subject: [PATCH 097/223] [NEW] Home button on sidebar (#17052) --- app/lib/server/startup/settings.js | 4 ++++ app/ui-master/public/icons.svg | 7 +++++-- app/ui-master/public/icons/game.svg | 4 ++-- app/ui-master/public/icons/group.svg | 6 ------ app/ui-master/public/icons/home.svg | 3 +++ app/ui-sidenav/client/sidebarHeader.js | 8 ++++++++ packages/rocketchat-i18n/i18n/en.i18n.json | 1 + private/public/icons.svg | 7 +++++-- 8 files changed, 28 insertions(+), 12 deletions(-) delete mode 100644 app/ui-master/public/icons/group.svg create mode 100644 app/ui-master/public/icons/home.svg diff --git a/app/lib/server/startup/settings.js b/app/lib/server/startup/settings.js index 2e87a40b2eb6..ede7feccac60 100644 --- a/app/lib/server/startup/settings.js +++ b/app/lib/server/startup/settings.js @@ -1295,6 +1295,10 @@ settings.addGroup('Layout', function() { type: 'string', public: true, }); + this.add('Layout_Show_Home_Button', true, { + type: 'boolean', + public: true, + }); this.add('Layout_Home_Body', '

Welcome to Rocket.Chat!

\n

The Rocket.Chat desktops apps for Windows, macOS and Linux are available to download here.

The native mobile app, Rocket.Chat,\n for Android and iOS is available from Google Play and the App Store.

\n

For further help, please consult the documentation.

\n

If you\'re an admin, feel free to change this content via AdministrationLayoutHome Body. Or clicking here.

', { type: 'code', code: 'text/html', diff --git a/app/ui-master/public/icons.svg b/app/ui-master/public/icons.svg index 1895d7c09d23..a72e44e9f668 100644 --- a/app/ui-master/public/icons.svg +++ b/app/ui-master/public/icons.svg @@ -146,8 +146,8 @@ - - + + @@ -173,6 +173,9 @@ + + + diff --git a/app/ui-master/public/icons/game.svg b/app/ui-master/public/icons/game.svg index 2fd484da958a..04826bc5919d 100644 --- a/app/ui-master/public/icons/game.svg +++ b/app/ui-master/public/icons/game.svg @@ -1,3 +1,3 @@ - - + + diff --git a/app/ui-master/public/icons/group.svg b/app/ui-master/public/icons/group.svg deleted file mode 100644 index 987955ea978b..000000000000 --- a/app/ui-master/public/icons/group.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/app/ui-master/public/icons/home.svg b/app/ui-master/public/icons/home.svg new file mode 100644 index 000000000000..3fbaf3e165cd --- /dev/null +++ b/app/ui-master/public/icons/home.svg @@ -0,0 +1,3 @@ + + + diff --git a/app/ui-sidenav/client/sidebarHeader.js b/app/ui-sidenav/client/sidebarHeader.js index 1117e6460b5b..ef4139876f3f 100644 --- a/app/ui-sidenav/client/sidebarHeader.js +++ b/app/ui-sidenav/client/sidebarHeader.js @@ -58,6 +58,14 @@ export const toolbarSearch = { }; const toolbarButtons = (user) => [{ + name: t('Home'), + icon: 'home', + condition: () => settings.get('Layout_Show_Home_Button'), + action: () => { + FlowRouter.go('home'); + }, +}, +{ name: t('Search'), icon: 'magnifier', action: () => { diff --git a/packages/rocketchat-i18n/i18n/en.i18n.json b/packages/rocketchat-i18n/i18n/en.i18n.json index 3da1beeaa3f7..cf6c235a422a 100644 --- a/packages/rocketchat-i18n/i18n/en.i18n.json +++ b/packages/rocketchat-i18n/i18n/en.i18n.json @@ -3029,6 +3029,7 @@ "Should_exists_a_user_with_this_username": "The user must already exist.", "Show_Setup_Wizard": "Show Setup Wizard", "UI_Show_top_navbar_embedded_layout": "Show top navbar in embedded layout", + "Layout_Show_Home_Button": "Show \"Home Button\"", "Show_agent_email": "Show agent email", "Show_agent_info": "Show agent information", "Show_all": "Show All", diff --git a/private/public/icons.svg b/private/public/icons.svg index 1895d7c09d23..a72e44e9f668 100644 --- a/private/public/icons.svg +++ b/private/public/icons.svg @@ -146,8 +146,8 @@ - - + + @@ -173,6 +173,9 @@ + + + From be480b92581dc157c323a8f3d93e1cc225356940 Mon Sep 17 00:00:00 2001 From: Marcos Spessatto Defendi Date: Mon, 30 Mar 2020 01:14:21 -0300 Subject: [PATCH 098/223] Fix omnichannel agent activity monitor (#16979) --- .../server/statistics/LivechatAgentActivityMonitor.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/livechat/server/statistics/LivechatAgentActivityMonitor.js b/app/livechat/server/statistics/LivechatAgentActivityMonitor.js index 2f0dd987bfbd..413a36014cb0 100644 --- a/app/livechat/server/statistics/LivechatAgentActivityMonitor.js +++ b/app/livechat/server/statistics/LivechatAgentActivityMonitor.js @@ -52,11 +52,11 @@ export class LivechatAgentActivityMonitor { return; } const today = moment(new Date()); - const yesterday = today.clone().subtract(1, 'days'); - const stoppedAt = new Date(yesterday.year(), yesterday.month(), yesterday.date(), 23, 59, 59); const startedAt = new Date(today.year(), today.month(), today.date()); for (const session of openLivechatAgentSessions) { - const data = { ...formatDate(yesterday), agentId: session.agentId }; + const startDate = moment(session.lastStartedAt); + const stoppedAt = new Date(startDate.year(), startDate.month(), startDate.date(), 23, 59, 59); + const data = { ...formatDate(startDate.toDate()), agentId: session.agentId }; const availableTime = moment(stoppedAt).diff(moment(new Date(session.lastStartedAt)), 'seconds'); LivechatAgentActivity.updateLastStoppedAt({ ...data, availableTime, lastStoppedAt: stoppedAt }); LivechatAgentActivity.updateServiceHistory({ ...data, serviceHistory: { startedAt: session.lastStartedAt, stoppedAt } }); From 43c78e40bbcc6dbf5c647d45673b56b07ae0d067 Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Mon, 30 Mar 2020 01:17:36 -0300 Subject: [PATCH 099/223] =?UTF-8?q?Add=20User=E2=80=99s=20index=20for=20fi?= =?UTF-8?q?eld=20`appId`=20(#17075)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/server/models/Users.js | 1 + 1 file changed, 1 insertion(+) diff --git a/app/models/server/models/Users.js b/app/models/server/models/Users.js index c0bbea891b17..b7c59bc91666 100644 --- a/app/models/server/models/Users.js +++ b/app/models/server/models/Users.js @@ -36,6 +36,7 @@ export class Users extends Base { this.tryEnsureIndex({ statusText: 1 }); this.tryEnsureIndex({ active: 1 }, { sparse: 1 }); this.tryEnsureIndex({ statusConnection: 1 }, { sparse: 1 }); + this.tryEnsureIndex({ appId: 1 }, { sparse: 1 }); this.tryEnsureIndex({ type: 1 }); this.tryEnsureIndex({ 'visitorEmails.address': 1 }); this.tryEnsureIndex({ federation: 1 }, { sparse: true }); From 6935e49ff6efd6660a638cb1661fd8fb8aeb3dd4 Mon Sep 17 00:00:00 2001 From: Govind Dixit Date: Mon, 30 Mar 2020 10:18:18 +0530 Subject: [PATCH 100/223] [FIX] Verification email body (#17062) * fix: verification email description * update verification email body * Update en.i18n.json Co-authored-by: Gabriel Engel --- packages/rocketchat-i18n/i18n/en.i18n.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/rocketchat-i18n/i18n/en.i18n.json b/packages/rocketchat-i18n/i18n/en.i18n.json index cf6c235a422a..684b93902460 100644 --- a/packages/rocketchat-i18n/i18n/en.i18n.json +++ b/packages/rocketchat-i18n/i18n/en.i18n.json @@ -3427,7 +3427,7 @@ "Use_initials_avatar": "Use your username initials", "Use_minor_colors": "Use minor color palette (defaults inherit major colors)", "Use_service_avatar": "Use %s avatar", - "Verification_Email": "Click here to verify your account.", + "Verification_Email": "Click here to verify your email address.", "Use_this_username": "Use this username", "Use_uploaded_avatar": "Use uploaded avatar", "Use_url_for_avatar": "Use URL for avatar", @@ -3535,11 +3535,11 @@ "Value_messages": "__value__ messages", "Value_users": "__value__ users", "Validate_email_address": "Validate Email Address", - "Verification_email_body": "You have succesfully created an account on [Site_Name]. Please, click on the button below to confirm your email address and finish registration.", + "Verification_email_body": "Please, click on the button below to confirm your email address.", "Verification": "Verification", "Verification_Description": "You may use the following placeholders:
  • [Verification_Url] for the verification URL.
  • [name], [fname], [lname] for the user's full name, first name or last name, respectively.
  • [email] for the user's email.
  • [Site_Name] and [Site_URL] for the Application Name and URL respectively.
", "Verification_email_sent": "Verification email sent", - "Verification_Email_Subject": "[Site_Name] - Verify your account", + "Verification_Email_Subject": "[Site_Name] - Email address verification", "Verified": "Verified", "Verify": "Verify", "Verify_your_email": "Verify your email", From bd8c31926ffc001e8b98cb7617303af1f1eda39f Mon Sep 17 00:00:00 2001 From: Douglas Gubert Date: Mon, 30 Mar 2020 09:47:36 -0300 Subject: [PATCH 101/223] [NEW] Add update method for user bridge (#17077) --- app/apps/server/bridges/users.js | 24 +- app/lib/server/functions/index.js | 2 +- app/lib/server/functions/setStatusText.js | 24 ++ app/models/server/raw/Users.js | 10 + package-lock.json | 254 +++++++++++----------- package.json | 2 +- tests/data/apps/apps-data.js | 2 +- 7 files changed, 187 insertions(+), 131 deletions(-) diff --git a/app/apps/server/bridges/users.js b/app/apps/server/bridges/users.js index a35a9502eb63..5aac0567bed6 100644 --- a/app/apps/server/bridges/users.js +++ b/app/apps/server/bridges/users.js @@ -1,7 +1,8 @@ import { Random } from 'meteor/random'; -import { setUserAvatar, checkUsernameAvailability, deleteUser } from '../../../lib/server/functions'; +import { setUserAvatar, checkUsernameAvailability, deleteUser, _setStatusTextPromise } from '../../../lib/server/functions'; import { Users } from '../../../models'; +import { Users as UsersRaw } from '../../../models/server/raw'; export class AppUserBridge { @@ -79,6 +80,27 @@ export class AppUserBridge { return true; } + async update(user, fields, appId) { + this.orch.debugLog(`The App ${ appId } is updating a user`); + + if (!user) { + throw new Error('User not provided'); + } + + if (typeof fields.statusText === 'string') { + await _setStatusTextPromise(user.id, fields.statusText); + delete fields.statusText; + } + + if (!Object.keys(fields).length) { + return true; + } + + await UsersRaw.update({ _id: user.id }, { $set: fields }); + + return true; + } + async getActiveUserCount() { return Users.getActiveLocalUserCount(); } diff --git a/app/lib/server/functions/index.js b/app/lib/server/functions/index.js index f318ad2ccbb1..768573671648 100644 --- a/app/lib/server/functions/index.js +++ b/app/lib/server/functions/index.js @@ -24,7 +24,7 @@ export { saveUser } from './saveUser'; export { sendMessage } from './sendMessage'; export { setEmail } from './setEmail'; export { setRealName, _setRealName } from './setRealName'; -export { setStatusText, _setStatusText } from './setStatusText'; +export { setStatusText, _setStatusText, _setStatusTextPromise } from './setStatusText'; export { getStatusText } from './getStatusText'; export { setUserAvatar } from './setUserAvatar'; export { _setUsername, setUsername } from './setUsername'; diff --git a/app/lib/server/functions/setStatusText.js b/app/lib/server/functions/setStatusText.js index 3b06c36ab28d..1db1020bc18e 100644 --- a/app/lib/server/functions/setStatusText.js +++ b/app/lib/server/functions/setStatusText.js @@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor'; import s from 'underscore.string'; import { Users } from '../../../models'; +import { Users as UsersRaw } from '../../../models/server/raw'; import { Notifications } from '../../../notifications'; import { hasPermission } from '../../../authorization'; import { RateLimiter } from '../lib'; @@ -14,6 +15,29 @@ const STATUS_MAP = { busy: 3, }; +export const _setStatusTextPromise = async function(userId, statusText) { + if (!userId) { return false; } + + statusText = s.trim(statusText).substr(0, 120); + + const user = await UsersRaw.findOneById(userId); + + if (!user) { return false; } + + if (user.statusText === statusText) { return true; } + + await UsersRaw.updateStatusText(user._id, statusText); + + Notifications.notifyLogged('user-status', [ + user._id, + user.username, + STATUS_MAP[user.status], + statusText, + ]); + + return true; +}; + export const _setStatusText = function(userId, statusText) { statusText = s.trim(statusText); if (statusText.length > 120) { diff --git a/app/models/server/raw/Users.js b/app/models/server/raw/Users.js index 1984357c52db..30f45692d77e 100644 --- a/app/models/server/raw/Users.js +++ b/app/models/server/raw/Users.js @@ -214,4 +214,14 @@ export class UsersRaw extends BaseRaw { params.push(group); return this.col.aggregate(params).toArray(); } + + updateStatusText(_id, statusText) { + const update = { + $set: { + statusText, + }, + }; + + return this.update({ _id }, update); + } } diff --git a/package-lock.json b/package-lock.json index f9284e1d890b..53f7a877b7d5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2844,9 +2844,9 @@ } }, "@rocket.chat/apps-engine": { - "version": "1.13.0-beta.2931", - "resolved": "https://registry.npmjs.org/@rocket.chat/apps-engine/-/apps-engine-1.13.0-beta.2931.tgz", - "integrity": "sha512-+0imJAd/vb0Yfqg+FUTCZ9e0+wZyh9ZCwtCakOmuJN5hp40NtouiVnTqwzHwUHwfHd8NYmxQ8Vb35zLsvUiYbg==", + "version": "1.13.0-beta.3003", + "resolved": "https://registry.npmjs.org/@rocket.chat/apps-engine/-/apps-engine-1.13.0-beta.3003.tgz", + "integrity": "sha512-RGegax9zaDzQta7U1v05JYUgJUhrGlYBYioMdCJRvKs6NrmJNbpdeJ6A0Bu6pNKF9ppMkG17hfxI6xT0MoSd0w==", "requires": { "adm-zip": "^0.4.9", "cryptiles": "^4.1.3", @@ -15343,28 +15343,28 @@ "dependencies": { "abbrev": { "version": "1.1.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true, "optional": true }, "ansi-regex": { "version": "2.1.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true, "optional": true }, "aproba": { "version": "1.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.5", - "resolved": false, + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "dev": true, "optional": true, @@ -15375,14 +15375,14 @@ }, "balanced-match": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true, "optional": true }, "brace-expansion": { "version": "1.1.11", - "resolved": false, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "optional": true, @@ -15400,28 +15400,28 @@ }, "code-point-at": { "version": "1.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true, "optional": true }, "concat-map": { "version": "0.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true, "optional": true }, "console-control-strings": { "version": "1.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "dev": true, "optional": true }, "core-util-is": { "version": "1.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true, "optional": true @@ -15438,21 +15438,21 @@ }, "deep-extend": { "version": "0.6.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true, "optional": true }, "delegates": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "dev": true, "optional": true }, "detect-libc": { "version": "1.0.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", "dev": true, "optional": true @@ -15469,14 +15469,14 @@ }, "fs.realpath": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true, "optional": true }, "gauge": { "version": "2.7.4", - "resolved": false, + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "optional": true, @@ -15508,14 +15508,14 @@ }, "has-unicode": { "version": "2.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", "dev": true, "optional": true }, "iconv-lite": { "version": "0.4.24", - "resolved": false, + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "optional": true, @@ -15535,7 +15535,7 @@ }, "inflight": { "version": "1.0.6", - "resolved": false, + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "optional": true, @@ -15553,14 +15553,14 @@ }, "ini": { "version": "1.3.5", - "resolved": false, + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "optional": true, @@ -15570,14 +15570,14 @@ }, "isarray": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true, "optional": true }, "minimatch": { "version": "3.0.4", - "resolved": false, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "optional": true, @@ -15587,7 +15587,7 @@ }, "minimist": { "version": "0.0.8", - "resolved": false, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true, "optional": true @@ -15615,7 +15615,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "optional": true, @@ -15670,7 +15670,7 @@ }, "nopt": { "version": "4.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "dev": true, "optional": true, @@ -15699,7 +15699,7 @@ }, "npmlog": { "version": "4.1.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "optional": true, @@ -15712,21 +15712,21 @@ }, "number-is-nan": { "version": "1.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true, "optional": true }, "object-assign": { "version": "4.1.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true, "optional": true }, "once": { "version": "1.4.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "optional": true, @@ -15736,21 +15736,21 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true, "optional": true }, "osenv": { "version": "0.1.5", - "resolved": false, + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "optional": true, @@ -15761,7 +15761,7 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true, "optional": true @@ -15775,7 +15775,7 @@ }, "rc": { "version": "1.2.8", - "resolved": false, + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "optional": true, @@ -15788,7 +15788,7 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true, "optional": true @@ -15797,7 +15797,7 @@ }, "readable-stream": { "version": "2.3.6", - "resolved": false, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "optional": true, @@ -15823,21 +15823,21 @@ }, "safe-buffer": { "version": "5.1.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true, "optional": true }, "safer-buffer": { "version": "2.1.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true, "optional": true }, "sax": { "version": "1.2.4", - "resolved": false, + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true, "optional": true @@ -15851,21 +15851,21 @@ }, "set-blocking": { "version": "2.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true, "optional": true }, "string-width": { "version": "1.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "optional": true, @@ -15877,7 +15877,7 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "optional": true, @@ -15887,7 +15887,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "optional": true, @@ -15897,7 +15897,7 @@ }, "strip-json-comments": { "version": "2.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true, "optional": true @@ -15920,14 +15920,14 @@ }, "util-deprecate": { "version": "1.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true, "optional": true }, "wide-align": { "version": "1.1.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, "optional": true, @@ -15937,7 +15937,7 @@ }, "wrappy": { "version": "1.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true, "optional": true @@ -20399,7 +20399,7 @@ "dependencies": { "asn1.js": { "version": "4.10.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "requires": { "bn.js": "^4.0.0", @@ -20409,7 +20409,7 @@ }, "assert": { "version": "1.4.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", "requires": { "util": "0.10.3" @@ -20417,7 +20417,7 @@ "dependencies": { "util": { "version": "0.10.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", "requires": { "inherits": "2.0.1" @@ -20427,22 +20427,22 @@ }, "base64-js": { "version": "1.3.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" }, "bn.js": { "version": "4.11.8", - "resolved": false, + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" }, "brorand": { "version": "1.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" }, "browserify-aes": { "version": "1.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "requires": { "buffer-xor": "^1.0.3", @@ -20455,7 +20455,7 @@ }, "browserify-cipher": { "version": "1.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "requires": { "browserify-aes": "^1.0.4", @@ -20465,7 +20465,7 @@ }, "browserify-des": { "version": "1.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "requires": { "cipher-base": "^1.0.1", @@ -20476,7 +20476,7 @@ }, "browserify-rsa": { "version": "4.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "requires": { "bn.js": "^4.1.0", @@ -20485,7 +20485,7 @@ }, "browserify-sign": { "version": "4.0.4", - "resolved": false, + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", "requires": { "bn.js": "^4.1.1", @@ -20499,7 +20499,7 @@ }, "browserify-zlib": { "version": "0.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "requires": { "pako": "~1.0.5" @@ -20507,7 +20507,7 @@ }, "buffer": { "version": "5.2.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", "requires": { "base64-js": "^1.0.2", @@ -20516,17 +20516,17 @@ }, "buffer-xor": { "version": "1.0.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" }, "builtin-status-codes": { "version": "3.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" }, "cipher-base": { "version": "1.0.4", - "resolved": false, + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "requires": { "inherits": "^2.0.1", @@ -20535,7 +20535,7 @@ }, "console-browserify": { "version": "1.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", "requires": { "date-now": "^0.1.4" @@ -20543,17 +20543,17 @@ }, "constants-browserify": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" }, "core-util-is": { "version": "1.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "create-ecdh": { "version": "4.0.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", "requires": { "bn.js": "^4.1.0", @@ -20562,7 +20562,7 @@ }, "create-hash": { "version": "1.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "requires": { "cipher-base": "^1.0.1", @@ -20574,7 +20574,7 @@ }, "create-hmac": { "version": "1.1.7", - "resolved": false, + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "requires": { "cipher-base": "^1.0.3", @@ -20587,7 +20587,7 @@ }, "crypto-browserify": { "version": "3.12.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "requires": { "browserify-cipher": "^1.0.0", @@ -20605,12 +20605,12 @@ }, "date-now": { "version": "0.1.4", - "resolved": false, + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" }, "des.js": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", "requires": { "inherits": "^2.0.1", @@ -20619,7 +20619,7 @@ }, "diffie-hellman": { "version": "5.0.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "requires": { "bn.js": "^4.1.0", @@ -20629,12 +20629,12 @@ }, "domain-browser": { "version": "1.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" }, "elliptic": { "version": "6.4.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", "requires": { "bn.js": "^4.4.0", @@ -20648,12 +20648,12 @@ }, "events": { "version": "3.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==" }, "evp_bytestokey": { "version": "1.0.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "requires": { "md5.js": "^1.3.4", @@ -20662,7 +20662,7 @@ }, "hash-base": { "version": "3.0.4", - "resolved": false, + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", "requires": { "inherits": "^2.0.1", @@ -20671,7 +20671,7 @@ }, "hash.js": { "version": "1.1.7", - "resolved": false, + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "requires": { "inherits": "^2.0.3", @@ -20680,14 +20680,14 @@ "dependencies": { "inherits": { "version": "2.0.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" } } }, "hmac-drbg": { "version": "1.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "requires": { "hash.js": "^1.0.3", @@ -20697,27 +20697,27 @@ }, "https-browserify": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" }, "ieee754": { "version": "1.1.13", - "resolved": false, + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" }, "inherits": { "version": "2.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" }, "isarray": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "md5.js": { "version": "1.3.5", - "resolved": false, + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "requires": { "hash-base": "^3.0.0", @@ -20727,7 +20727,7 @@ }, "miller-rabin": { "version": "4.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "requires": { "bn.js": "^4.0.0", @@ -20736,27 +20736,27 @@ }, "minimalistic-assert": { "version": "1.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" }, "minimalistic-crypto-utils": { "version": "1.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" }, "os-browserify": { "version": "0.3.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" }, "pako": { "version": "1.0.10", - "resolved": false, + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==" }, "parse-asn1": { "version": "5.1.4", - "resolved": false, + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", "requires": { "asn1.js": "^4.0.0", @@ -20769,12 +20769,12 @@ }, "path-browserify": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.0.tgz", "integrity": "sha512-Hkavx/nY4/plImrZPHRk2CL9vpOymZLgEbMNX1U0bjcBL7QN9wODxyx0yaMZURSQaUtSEvDrfAvxa9oPb0at9g==" }, "pbkdf2": { "version": "3.0.17", - "resolved": false, + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", "requires": { "create-hash": "^1.1.2", @@ -20786,17 +20786,17 @@ }, "process": { "version": "0.11.10", - "resolved": false, + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" }, "process-nextick-args": { "version": "2.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, "public-encrypt": { "version": "4.0.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "requires": { "bn.js": "^4.1.0", @@ -20809,22 +20809,22 @@ }, "punycode": { "version": "2.1.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "querystring": { "version": "0.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" }, "querystring-es3": { "version": "0.2.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" }, "randombytes": { "version": "2.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "requires": { "safe-buffer": "^5.1.0" @@ -20832,7 +20832,7 @@ }, "randomfill": { "version": "1.0.4", - "resolved": false, + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "requires": { "randombytes": "^2.0.5", @@ -20841,7 +20841,7 @@ }, "readable-stream": { "version": "3.3.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.3.0.tgz", "integrity": "sha512-EsI+s3k3XsW+fU8fQACLN59ky34AZ14LoeVZpYwmZvldCFo0r0gnelwF2TcMjLor/BTL5aDJVBMkss0dthToPw==", "requires": { "inherits": "^2.0.3", @@ -20851,14 +20851,14 @@ "dependencies": { "inherits": { "version": "2.0.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" } } }, "ripemd160": { "version": "2.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "requires": { "hash-base": "^3.0.0", @@ -20867,17 +20867,17 @@ }, "safe-buffer": { "version": "5.1.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "setimmediate": { "version": "1.0.5", - "resolved": false, + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" }, "sha.js": { "version": "2.4.11", - "resolved": false, + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "requires": { "inherits": "^2.0.1", @@ -20886,7 +20886,7 @@ }, "stream-browserify": { "version": "2.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "requires": { "inherits": "~2.0.1", @@ -20895,7 +20895,7 @@ "dependencies": { "readable-stream": { "version": "2.3.6", - "resolved": false, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "~1.0.0", @@ -20909,14 +20909,14 @@ "dependencies": { "inherits": { "version": "2.0.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" } } }, "string_decoder": { "version": "1.1.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" @@ -20926,7 +20926,7 @@ }, "stream-http": { "version": "3.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.0.0.tgz", "integrity": "sha512-JELJfd+btL9GHtxU3+XXhg9NLYrKFnhybfvRuDghtyVkOFydz3PKNT1df07AMr88qW03WHF+FSV0PySpXignCA==", "requires": { "builtin-status-codes": "^3.0.0", @@ -20937,7 +20937,7 @@ }, "string_decoder": { "version": "1.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", "requires": { "safe-buffer": "~5.1.0" @@ -20945,7 +20945,7 @@ }, "timers-browserify": { "version": "2.0.10", - "resolved": false, + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", "requires": { "setimmediate": "^1.0.4" @@ -20953,12 +20953,12 @@ }, "tty-browserify": { "version": "0.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==" }, "url": { "version": "0.11.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", "requires": { "punycode": "1.3.2", @@ -20967,14 +20967,14 @@ "dependencies": { "punycode": { "version": "1.3.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" } } }, "util": { "version": "0.11.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", "requires": { "inherits": "2.0.3" @@ -20982,24 +20982,24 @@ "dependencies": { "inherits": { "version": "2.0.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" } } }, "util-deprecate": { "version": "1.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "vm-browserify": { "version": "1.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==" }, "xtend": { "version": "4.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" } } diff --git a/package.json b/package.json index 44a87bc90d54..4cef01785a23 100644 --- a/package.json +++ b/package.json @@ -128,7 +128,7 @@ "@nivo/heatmap": "^0.61.0", "@nivo/line": "^0.61.1", "@nivo/pie": "^0.61.1", - "@rocket.chat/apps-engine": "^1.13.0-beta.2931", + "@rocket.chat/apps-engine": "^1.13.0-beta.3003", "@rocket.chat/fuselage": "^0.6.1", "@rocket.chat/fuselage-hooks": "^0.6.1", "@rocket.chat/fuselage-ui-kit": "^0.6.1", diff --git a/tests/data/apps/apps-data.js b/tests/data/apps/apps-data.js index 1602396ed790..26b6137c79e8 100644 --- a/tests/data/apps/apps-data.js +++ b/tests/data/apps/apps-data.js @@ -1,4 +1,4 @@ export const APP_URL = 'https://github.com/RocketChat/Apps.RocketChat.Tester/blob/master/dist/appsrocketchattester_0.0.1.zip?raw=true'; export const APP_NAME = 'Apps.RocketChat.Tester'; -export const APP_USERNAME = 'app.appsrocketchattester'; +export const APP_USERNAME = 'appsrocketchattester.bot'; export const apps = (path = '') => `/api/apps${ path }`; From 8f9a85552cbf94f04a100cf0da049eb7ef8ca031 Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Mon, 30 Mar 2020 09:59:26 -0300 Subject: [PATCH 102/223] Bump version to 3.1.0-rc.3 --- .docker/Dockerfile.rhel | 2 +- .github/history.json | 89 +++++++++++++++++++++++++++++++++++++++ HISTORY.md | 47 +++++++++++++++++++++ app/utils/rocketchat.info | 2 +- package.json | 2 +- 5 files changed, 139 insertions(+), 3 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index d745754463e2..aeff4306f56c 100644 --- a/.docker/Dockerfile.rhel +++ b/.docker/Dockerfile.rhel @@ -1,6 +1,6 @@ FROM registry.access.redhat.com/rhscl/nodejs-8-rhel7 -ENV RC_VERSION 3.1.0-rc.2 +ENV RC_VERSION 3.1.0-rc.3 MAINTAINER buildmaster@rocket.chat diff --git a/.github/history.json b/.github/history.json index e9d5e2eb343b..834d6a29aaa5 100644 --- a/.github/history.json +++ b/.github/history.json @@ -41424,6 +41424,95 @@ ] } ] + }, + "3.1.0-rc.3": { + "node_version": "12.16.1", + "npm_version": "6.13.4", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "17077", + "title": "[NEW] Add update method for user bridge", + "userLogin": "d-gubert", + "milestone": "3.1.0", + "contributors": [ + "d-gubert", + "web-flow" + ] + }, + { + "pr": "17062", + "title": "[FIX] Verification email body", + "userLogin": "GOVINDDIXIT", + "milestone": "3.1.0", + "contributors": [ + "GOVINDDIXIT", + "web-flow", + "engelgabriel" + ] + }, + { + "pr": "17075", + "title": "Add Userโ€™s index for field `appId`", + "userLogin": "rodrigok", + "milestone": "3.1.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "16979", + "title": "Regression: OmniChannel agent activity monitor was counting time wrongly", + "userLogin": "MarcosSpessatto", + "milestone": "3.1.0", + "contributors": [ + "MarcosSpessatto", + "web-flow" + ] + }, + { + "pr": "17052", + "title": "[NEW] Home button on sidebar", + "userLogin": "gabriellsh", + "milestone": "3.2.0", + "contributors": [ + "gabriellsh", + "web-flow" + ] + }, + { + "pr": "17073", + "title": "[IMPROVE] Repeat โ€œReply In Threadโ€ and โ€œAdd Reactionโ€ inside the message actions menu", + "userLogin": "rodrigok", + "milestone": "3.1.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "17074", + "title": "Regression: Broken Search if users without DM subscriptions are listed", + "userLogin": "tassoevan", + "milestone": "3.1.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "17072", + "title": "[IMPROVE] Tab Bar actions reorder", + "userLogin": "rodrigok", + "milestone": "3.1.0", + "contributors": [ + "rodrigok", + "tassoevan" + ] + } + ] } } } \ No newline at end of file diff --git a/HISTORY.md b/HISTORY.md index c6d6ba155b57..377a86f4b3f2 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,6 +1,53 @@ # 3.1.0 (Under Release Candidate Process) +## 3.1.0-rc.3 +`2020-03-30 ยท 2 ๐ŸŽ‰ ยท 2 ๐Ÿš€ ยท 1 ๐Ÿ› ยท 3 ๐Ÿ” ยท 7 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` + +### ๐ŸŽ‰ New features + + +- Add update method for user bridge ([#17077](https://github.com/RocketChat/Rocket.Chat/pull/17077)) + +- Home button on sidebar ([#17052](https://github.com/RocketChat/Rocket.Chat/pull/17052)) + +### ๐Ÿš€ Improvements + + +- Repeat โ€œReply In Threadโ€ and โ€œAdd Reactionโ€ inside the message actions menu ([#17073](https://github.com/RocketChat/Rocket.Chat/pull/17073)) + +- Tab Bar actions reorder ([#17072](https://github.com/RocketChat/Rocket.Chat/pull/17072)) + +### ๐Ÿ› Bug fixes + + +- Verification email body ([#17062](https://github.com/RocketChat/Rocket.Chat/pull/17062) by [@GOVINDDIXIT](https://github.com/GOVINDDIXIT)) + +
+๐Ÿ” Minor changes + + +- Add Userโ€™s index for field `appId` ([#17075](https://github.com/RocketChat/Rocket.Chat/pull/17075)) + +- Regression: OmniChannel agent activity monitor was counting time wrongly ([#16979](https://github.com/RocketChat/Rocket.Chat/pull/16979)) + +- Regression: Broken Search if users without DM subscriptions are listed ([#17074](https://github.com/RocketChat/Rocket.Chat/pull/17074)) + +
+ +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜ + +- [@GOVINDDIXIT](https://github.com/GOVINDDIXIT) + +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@MarcosSpessatto](https://github.com/MarcosSpessatto) +- [@d-gubert](https://github.com/d-gubert) +- [@engelgabriel](https://github.com/engelgabriel) +- [@gabriellsh](https://github.com/gabriellsh) +- [@rodrigok](https://github.com/rodrigok) +- [@tassoevan](https://github.com/tassoevan) + ## 3.1.0-rc.2 `2020-03-29 ยท 9 ๐Ÿ” ยท 5 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index ce1762217111..04d13e2d8e18 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.1.0-rc.2" + "version": "3.1.0-rc.3" } diff --git a/package.json b/package.json index 5ab41575b5a5..6b623ada5fc2 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Rocket.Chat", "description": "The Ultimate Open Source WebChat Platform", - "version": "3.1.0-rc.2", + "version": "3.1.0-rc.3", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From cbad300a5a2c9212ae5b6cbd56b0f6563b559b27 Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Mon, 30 Mar 2020 14:12:53 -0300 Subject: [PATCH 103/223] [FIX] Emit livechat events to instace only (#17086) --- app/livechat/server/lib/stream/queueManager.js | 2 +- server/stream/rooms/index.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/livechat/server/lib/stream/queueManager.js b/app/livechat/server/lib/stream/queueManager.js index dd1a088fec57..ea40e9ed30d1 100644 --- a/app/livechat/server/lib/stream/queueManager.js +++ b/app/livechat/server/lib/stream/queueManager.js @@ -10,7 +10,7 @@ queueDataStreamer.allowRead(function() { return this.userId ? hasPermission(this.userId, 'view-l-room') : false; }); -const emitQueueDataEvent = (event, data) => queueDataStreamer.emit(event, data); +const emitQueueDataEvent = (event, data) => queueDataStreamer.emitWithoutBroadcast(event, data); const mountDataToEmit = (type, data) => ({ type, ...data }); LivechatInquiry.on('change', ({ clientAction, id: _id, data: record }) => { diff --git a/server/stream/rooms/index.js b/server/stream/rooms/index.js index c65df05ea631..5b33c403111c 100644 --- a/server/stream/rooms/index.js +++ b/server/stream/rooms/index.js @@ -35,5 +35,5 @@ export function emitRoomDataEvent(id, data) { return; } - roomDataStream.emit(id, data); + roomDataStream.emitWithoutBroadcast(id, data); } From 41eaec221604f982267c0dc63aa273b7e8ba8980 Mon Sep 17 00:00:00 2001 From: Renato Becker Date: Mon, 30 Mar 2020 14:57:28 -0300 Subject: [PATCH 104/223] Regression: Check Omnichannel routing system before emitting queue changes (#17087) --- app/livechat/client/lib/stream/queueManager.js | 7 +++++++ app/livechat/server/lib/stream/queueManager.js | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/app/livechat/client/lib/stream/queueManager.js b/app/livechat/client/lib/stream/queueManager.js index efe6727d2756..08bde581c577 100644 --- a/app/livechat/client/lib/stream/queueManager.js +++ b/app/livechat/client/lib/stream/queueManager.js @@ -2,6 +2,7 @@ import { APIClient } from '../../../../utils/client'; import { LivechatInquiry } from '../../collections/LivechatInquiry'; import { inquiryDataStream } from './inquiry'; import { hasRole } from '../../../../authorization/client'; +import { call } from '../../../../ui-utils/client'; let agentDepartments = []; @@ -59,6 +60,12 @@ export const initializeLivechatInquiryStream = async (userId) => { removeDepartmentsListeners(agentDepartments); } removeGlobalListener(); + + const config = await call('livechat:getRoutingConfig'); + if (config && config.autoAssignAgent) { + return; + } + await updateInquiries(await getInquiriesFromAPI('livechat/inquiries.queued?sort={"ts": 1}')); agentDepartments = (await getAgentsDepartments(userId)).map((department) => department.departmentId); diff --git a/app/livechat/server/lib/stream/queueManager.js b/app/livechat/server/lib/stream/queueManager.js index ea40e9ed30d1..bf30b8397ff8 100644 --- a/app/livechat/server/lib/stream/queueManager.js +++ b/app/livechat/server/lib/stream/queueManager.js @@ -3,6 +3,7 @@ import { Meteor } from 'meteor/meteor'; import { hasPermission } from '../../../../authorization/server'; import { LivechatInquiry } from '../../../../models/server'; import { LIVECHAT_INQUIRY_QUEUE_STREAM_OBSERVER } from '../../../lib/stream/constants'; +import { RoutingManager } from '../RoutingManager'; const queueDataStreamer = new Meteor.Streamer(LIVECHAT_INQUIRY_QUEUE_STREAM_OBSERVER); queueDataStreamer.allowWrite('none'); @@ -14,6 +15,10 @@ const emitQueueDataEvent = (event, data) => queueDataStreamer.emitWithoutBroadca const mountDataToEmit = (type, data) => ({ type, ...data }); LivechatInquiry.on('change', ({ clientAction, id: _id, data: record }) => { + if (RoutingManager.getConfig().autoAssignAgent) { + return; + } + switch (clientAction) { case 'inserted': emitQueueDataEvent(_id, { ...record, clientAction }); From 9b4cfd708e0c1dbf67ad232d5ba14c56ca238f31 Mon Sep 17 00:00:00 2001 From: Renato Becker Date: Mon, 30 Mar 2020 15:28:25 -0300 Subject: [PATCH 105/223] Regression: Remove model observe that was used to control the status of the Omnichannel agents (#17078) --- app/livechat/server/index.js | 2 +- app/livechat/server/lib/stream/agentStatus.ts | 105 ++++++++++++++++++ app/livechat/server/methods/takeInquiry.js | 4 + app/livechat/server/unclosedLivechats.js | 95 ---------------- app/models/server/models/Users.js | 9 ++ app/settings/server/functions/settings.d.ts | 2 +- packages/rocketchat-i18n/i18n/en.i18n.json | 1 + packages/rocketchat-i18n/i18n/pt-BR.i18n.json | 1 + 8 files changed, 122 insertions(+), 97 deletions(-) create mode 100644 app/livechat/server/lib/stream/agentStatus.ts delete mode 100644 app/livechat/server/unclosedLivechats.js diff --git a/app/livechat/server/index.js b/app/livechat/server/index.js index 541cfb16ab4c..cc3c0b8fb927 100644 --- a/app/livechat/server/index.js +++ b/app/livechat/server/index.js @@ -75,10 +75,10 @@ import './lib/RoutingManager'; import './lib/routing/External'; import './lib/routing/ManualSelection'; import './lib/routing/AutoSelection'; +import './lib/stream/agentStatus'; import './lib/stream/departmentAgents'; import './lib/stream/queueManager'; import './sendMessageBySMS'; -import './unclosedLivechats'; import './api'; import './api/rest'; diff --git a/app/livechat/server/lib/stream/agentStatus.ts b/app/livechat/server/lib/stream/agentStatus.ts new file mode 100644 index 000000000000..00ae13968d3b --- /dev/null +++ b/app/livechat/server/lib/stream/agentStatus.ts @@ -0,0 +1,105 @@ +import { Meteor } from 'meteor/meteor'; + +import { Livechat } from '../Livechat'; +import { settings } from '../../../../settings/server'; +import { Users } from '../../../../models/server'; + +let monitorAgents = false; +let actionTimeout = 60000; +let action = 'none'; +let comment = ''; + +settings.get('Livechat_agent_leave_action_timeout', function(_key: string, value: number) { + actionTimeout = value * 1000; +}); + +settings.get('Livechat_agent_leave_action', function(_key: string, value: boolean) { + monitorAgents = value; +}); + +settings.get('Livechat_agent_leave_action', function(_key: string, value: string) { + action = value; +}); + +settings.get('Livechat_agent_leave_comment', function(_key: string, value: string) { + comment = value; +}); + +const onlineAgents = { + users: new Set(), + queue: new Map(), + + add(userId: string): void { + if (this.exists(userId)) { + return; + } + + if (this.queue.has(userId)) { + clearTimeout(this.queue.get(userId)); + this.queue.delete(userId); + } + this.users.add(userId); + }, + + remove(userId: string): void { + if (!this.exists(userId)) { + return; + } + + if (this.queue.has(userId)) { + clearTimeout(this.queue.get(userId)); + } + + this.queue.set(userId, setTimeout(this.runAgentLeaveAction, actionTimeout, userId)); + }, + + exists(userId: string): boolean { + return this.users.has(userId); + }, + + runAgentLeaveAction: Meteor.bindEnvironment((userId: string) => { + onlineAgents.users.delete(userId); + onlineAgents.queue.delete(userId); + + if (action === 'close') { + return Livechat.closeOpenChats(userId, comment); + } + + if (action === 'forward') { + return Livechat.forwardOpenChats(userId); + } + }), +}; + +Users.on('change', ({ clientAction, id, diff }) => { + if (!monitorAgents) { + return; + } + + if (clientAction !== 'removed' && diff && !diff.status && !diff.statusLivechat) { + return; + } + + switch (clientAction) { + case 'updated': + case 'inserted': + const agent = Users.findOneAgentById(id, { + fields: { + status: 1, + statusLivechat: 1, + }, + }); + const serviceOnline = agent && agent.status !== 'offline' && agent.statusLivechat === 'available'; + + if (serviceOnline) { + return onlineAgents.add(id); + } + + onlineAgents.remove(id); + + break; + case 'removed': + onlineAgents.remove(id); + break; + } +}); diff --git a/app/livechat/server/methods/takeInquiry.js b/app/livechat/server/methods/takeInquiry.js index cfc52636b34f..e6a557eee011 100644 --- a/app/livechat/server/methods/takeInquiry.js +++ b/app/livechat/server/methods/takeInquiry.js @@ -17,6 +17,10 @@ Meteor.methods({ } const user = Users.findOneById(Meteor.userId()); + const { status, statusLivechat } = user; + if (status === 'offline' || statusLivechat !== 'available') { + throw new Meteor.Error('error-agent-offline', 'Agent offline', { method: 'livechat:takeInquiry' }); + } const agent = { agentId: user._id, diff --git a/app/livechat/server/unclosedLivechats.js b/app/livechat/server/unclosedLivechats.js deleted file mode 100644 index 29c96b68e1be..000000000000 --- a/app/livechat/server/unclosedLivechats.js +++ /dev/null @@ -1,95 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { UserPresenceMonitor } from 'meteor/konecty:user-presence'; - -import { Livechat } from './lib/Livechat'; -import { settings } from '../../settings'; -import { Users } from '../../models'; - -let agentsHandler; -let monitorAgents = false; -let actionTimeout = 60000; - -const onlineAgents = { - users: {}, - queue: {}, - - add(userId) { - if (this.queue[userId]) { - clearTimeout(this.queue[userId]); - delete this.queue[userId]; - } - this.users[userId] = 1; - }, - - remove(userId, callback) { - if (this.queue[userId]) { - clearTimeout(this.queue[userId]); - } - this.queue[userId] = setTimeout(Meteor.bindEnvironment(() => { - callback(); - - delete this.users[userId]; - delete this.queue[userId]; - }), actionTimeout); - }, - - exists(userId) { - return !!this.users[userId]; - }, -}; - -function runAgentLeaveAction(userId) { - const action = settings.get('Livechat_agent_leave_action'); - if (action === 'close') { - return Livechat.closeOpenChats(userId, settings.get('Livechat_agent_leave_comment')); - } if (action === 'forward') { - return Livechat.forwardOpenChats(userId); - } -} - -settings.get('Livechat_agent_leave_action_timeout', function(key, value) { - actionTimeout = value * 1000; -}); - -settings.get('Livechat_agent_leave_action', function(key, value) { - monitorAgents = value; - if (value !== 'none') { - if (!agentsHandler) { - agentsHandler = Users.findOnlineAgents().observeChanges({ - added(id) { - onlineAgents.add(id); - }, - changed(id, fields) { - if (fields.statusLivechat && fields.statusLivechat === 'not-available') { - onlineAgents.remove(id, () => { - runAgentLeaveAction(id); - }); - } else { - onlineAgents.add(id); - } - }, - removed(id) { - onlineAgents.remove(id, () => { - runAgentLeaveAction(id); - }); - }, - }); - } - } else if (agentsHandler) { - agentsHandler.stop(); - agentsHandler = null; - } -}); - -UserPresenceMonitor.onSetUserStatus((user, status/* , statusConnection*/) => { - if (!monitorAgents) { - return; - } - if (onlineAgents.exists(user._id)) { - if (status === 'offline' || user.statusLivechat === 'not-available') { - onlineAgents.remove(user._id, () => { - runAgentLeaveAction(user._id); - }); - } - } -}); diff --git a/app/models/server/models/Users.js b/app/models/server/models/Users.js index b7c59bc91666..6ace2d3a9c94 100644 --- a/app/models/server/models/Users.js +++ b/app/models/server/models/Users.js @@ -135,6 +135,15 @@ export class Users extends Base { return this.findOne(query); } + findOneAgentById(_id, options) { + const query = { + _id, + roles: 'livechat-agent', + }; + + return this.findOne(query, options); + } + findAgents() { const query = { roles: 'livechat-agent', diff --git a/app/settings/server/functions/settings.d.ts b/app/settings/server/functions/settings.d.ts index 8748685d0bb7..9576e32719a8 100644 --- a/app/settings/server/functions/settings.d.ts +++ b/app/settings/server/functions/settings.d.ts @@ -1,3 +1,3 @@ export namespace settings { - export function get(name: string): string; + export function get(name: string, callback: (key: string, value: any) => void): string; } diff --git a/packages/rocketchat-i18n/i18n/en.i18n.json b/packages/rocketchat-i18n/i18n/en.i18n.json index 684b93902460..6e1ec0c127c6 100644 --- a/packages/rocketchat-i18n/i18n/en.i18n.json +++ b/packages/rocketchat-i18n/i18n/en.i18n.json @@ -1322,6 +1322,7 @@ "Entertainment": "Entertainment", "Error": "Error", "error-action-not-allowed": "__action__ is not allowed", + "error-agent-offline": "Agent is offline", "error-application-not-found": "Application not found", "error-archived-duplicate-name": "There's an archived channel with name '__room_name__'", "error-avatar-invalid-url": "Invalid avatar URL: __url__", diff --git a/packages/rocketchat-i18n/i18n/pt-BR.i18n.json b/packages/rocketchat-i18n/i18n/pt-BR.i18n.json index 251d03e647bd..763b1c634ded 100644 --- a/packages/rocketchat-i18n/i18n/pt-BR.i18n.json +++ b/packages/rocketchat-i18n/i18n/pt-BR.i18n.json @@ -1213,6 +1213,7 @@ "Entertainment": "Diversรฃo", "Error": "Erro", "error-action-not-allowed": "__action__ nรฃo รฉ permitido", + "error-agent-offline": "Agente estรก offline", "error-application-not-found": "Aplicaรงรฃo nรฃo encontrada", "error-archived-duplicate-name": "Jรก hรก um canal arquivado com o nome '__room_name__'", "error-avatar-invalid-url": "URL invรกlida de avatar: __url__", From 6776b0e6aec535ab0a98df15dfc545d186c3c3c1 Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Mon, 30 Mar 2020 18:12:02 -0300 Subject: [PATCH 106/223] Reduce notifyUser propagation (#17088) --- app/lib/server/startup/userDataStream.js | 6 +++--- app/livechat/server/lib/stream/departmentAgents.js | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/lib/server/startup/userDataStream.js b/app/lib/server/startup/userDataStream.js index 09d3db52083c..8cdc95e4b66b 100644 --- a/app/lib/server/startup/userDataStream.js +++ b/app/lib/server/startup/userDataStream.js @@ -4,13 +4,13 @@ import { Notifications } from '../../../notifications/server'; Users.on('change', ({ clientAction, id, data, diff }) => { switch (clientAction) { case 'updated': - Notifications.notifyUser(id, 'userData', { diff, type: clientAction }); + Notifications.notifyUserInThisInstance(id, 'userData', { diff, type: clientAction }); break; case 'inserted': - Notifications.notifyUser(id, 'userData', { data, type: clientAction }); + Notifications.notifyUserInThisInstance(id, 'userData', { data, type: clientAction }); break; case 'removed': - Notifications.notifyUser(id, 'userData', { id, type: clientAction }); + Notifications.notifyUserInThisInstance(id, 'userData', { id, type: clientAction }); break; } }); diff --git a/app/livechat/server/lib/stream/departmentAgents.js b/app/livechat/server/lib/stream/departmentAgents.js index 24800d16461f..a6c6fab75122 100644 --- a/app/livechat/server/lib/stream/departmentAgents.js +++ b/app/livechat/server/lib/stream/departmentAgents.js @@ -9,7 +9,7 @@ const emitNotification = (action, payload = {}) => { return; } - Notifications.notifyUser(agentId, 'departmentAgentData', { + Notifications.notifyUserInThisInstance(agentId, 'departmentAgentData', { action, ...payload, }); From b0c2cbb2d8b13252b8a4cd29a5108092d92635cd Mon Sep 17 00:00:00 2001 From: Douglas Gubert Date: Mon, 30 Mar 2020 18:13:03 -0300 Subject: [PATCH 107/223] [FIX] Error when websocket received status update event (#17089) --- app/apps/server/communication/websockets.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/apps/server/communication/websockets.js b/app/apps/server/communication/websockets.js index 857158ddd3bb..ec3f54b662a9 100644 --- a/app/apps/server/communication/websockets.js +++ b/app/apps/server/communication/websockets.js @@ -41,7 +41,7 @@ export class AppServerListener { async onAppStatusUpdated({ appId, status }) { const app = this.orch.getManager().getOneById(appId); - if (app.getStatus() === status) { + if (!app || app.getStatus() === status) { return; } From 3e24ae26367ef1707dca4fc1e1566d4a2f013d6e Mon Sep 17 00:00:00 2001 From: Douglas Gubert Date: Mon, 30 Mar 2020 18:13:03 -0300 Subject: [PATCH 108/223] [FIX] Error when websocket received status update event (#17089) --- app/apps/server/communication/websockets.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/apps/server/communication/websockets.js b/app/apps/server/communication/websockets.js index 857158ddd3bb..ec3f54b662a9 100644 --- a/app/apps/server/communication/websockets.js +++ b/app/apps/server/communication/websockets.js @@ -41,7 +41,7 @@ export class AppServerListener { async onAppStatusUpdated({ appId, status }) { const app = this.orch.getManager().getOneById(appId); - if (app.getStatus() === status) { + if (!app || app.getStatus() === status) { return; } From fd7eb4b06fe53944f00831fcce1f52d7f5815880 Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Mon, 30 Mar 2020 18:12:02 -0300 Subject: [PATCH 109/223] Reduce notifyUser propagation (#17088) --- app/lib/server/startup/userDataStream.js | 6 +++--- app/livechat/server/lib/stream/departmentAgents.js | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/lib/server/startup/userDataStream.js b/app/lib/server/startup/userDataStream.js index 09d3db52083c..8cdc95e4b66b 100644 --- a/app/lib/server/startup/userDataStream.js +++ b/app/lib/server/startup/userDataStream.js @@ -4,13 +4,13 @@ import { Notifications } from '../../../notifications/server'; Users.on('change', ({ clientAction, id, data, diff }) => { switch (clientAction) { case 'updated': - Notifications.notifyUser(id, 'userData', { diff, type: clientAction }); + Notifications.notifyUserInThisInstance(id, 'userData', { diff, type: clientAction }); break; case 'inserted': - Notifications.notifyUser(id, 'userData', { data, type: clientAction }); + Notifications.notifyUserInThisInstance(id, 'userData', { data, type: clientAction }); break; case 'removed': - Notifications.notifyUser(id, 'userData', { id, type: clientAction }); + Notifications.notifyUserInThisInstance(id, 'userData', { id, type: clientAction }); break; } }); diff --git a/app/livechat/server/lib/stream/departmentAgents.js b/app/livechat/server/lib/stream/departmentAgents.js index 24800d16461f..a6c6fab75122 100644 --- a/app/livechat/server/lib/stream/departmentAgents.js +++ b/app/livechat/server/lib/stream/departmentAgents.js @@ -9,7 +9,7 @@ const emitNotification = (action, payload = {}) => { return; } - Notifications.notifyUser(agentId, 'departmentAgentData', { + Notifications.notifyUserInThisInstance(agentId, 'departmentAgentData', { action, ...payload, }); From a84edc77b07f4ca3db65b93333d7ca2f10affc48 Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Mon, 30 Mar 2020 14:12:53 -0300 Subject: [PATCH 110/223] [FIX] Emit livechat events to instace only (#17086) --- app/livechat/server/lib/stream/queueManager.js | 2 +- server/stream/rooms/index.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/livechat/server/lib/stream/queueManager.js b/app/livechat/server/lib/stream/queueManager.js index dd1a088fec57..ea40e9ed30d1 100644 --- a/app/livechat/server/lib/stream/queueManager.js +++ b/app/livechat/server/lib/stream/queueManager.js @@ -10,7 +10,7 @@ queueDataStreamer.allowRead(function() { return this.userId ? hasPermission(this.userId, 'view-l-room') : false; }); -const emitQueueDataEvent = (event, data) => queueDataStreamer.emit(event, data); +const emitQueueDataEvent = (event, data) => queueDataStreamer.emitWithoutBroadcast(event, data); const mountDataToEmit = (type, data) => ({ type, ...data }); LivechatInquiry.on('change', ({ clientAction, id: _id, data: record }) => { diff --git a/server/stream/rooms/index.js b/server/stream/rooms/index.js index c65df05ea631..5b33c403111c 100644 --- a/server/stream/rooms/index.js +++ b/server/stream/rooms/index.js @@ -35,5 +35,5 @@ export function emitRoomDataEvent(id, data) { return; } - roomDataStream.emit(id, data); + roomDataStream.emitWithoutBroadcast(id, data); } From 0758bb7ba395bd8a9e6a8da6d1d488b2192dedec Mon Sep 17 00:00:00 2001 From: Renato Becker Date: Mon, 30 Mar 2020 15:28:25 -0300 Subject: [PATCH 111/223] Regression: Remove model observe that was used to control the status of the Omnichannel agents (#17078) --- app/livechat/server/index.js | 2 +- app/livechat/server/lib/stream/agentStatus.ts | 105 ++++++++++++++++++ app/livechat/server/methods/takeInquiry.js | 4 + app/livechat/server/unclosedLivechats.js | 95 ---------------- app/models/server/models/Users.js | 9 ++ app/settings/server/functions/settings.d.ts | 3 + packages/rocketchat-i18n/i18n/en.i18n.json | 1 + packages/rocketchat-i18n/i18n/pt-BR.i18n.json | 1 + 8 files changed, 124 insertions(+), 96 deletions(-) create mode 100644 app/livechat/server/lib/stream/agentStatus.ts delete mode 100644 app/livechat/server/unclosedLivechats.js create mode 100644 app/settings/server/functions/settings.d.ts diff --git a/app/livechat/server/index.js b/app/livechat/server/index.js index 541cfb16ab4c..cc3c0b8fb927 100644 --- a/app/livechat/server/index.js +++ b/app/livechat/server/index.js @@ -75,10 +75,10 @@ import './lib/RoutingManager'; import './lib/routing/External'; import './lib/routing/ManualSelection'; import './lib/routing/AutoSelection'; +import './lib/stream/agentStatus'; import './lib/stream/departmentAgents'; import './lib/stream/queueManager'; import './sendMessageBySMS'; -import './unclosedLivechats'; import './api'; import './api/rest'; diff --git a/app/livechat/server/lib/stream/agentStatus.ts b/app/livechat/server/lib/stream/agentStatus.ts new file mode 100644 index 000000000000..00ae13968d3b --- /dev/null +++ b/app/livechat/server/lib/stream/agentStatus.ts @@ -0,0 +1,105 @@ +import { Meteor } from 'meteor/meteor'; + +import { Livechat } from '../Livechat'; +import { settings } from '../../../../settings/server'; +import { Users } from '../../../../models/server'; + +let monitorAgents = false; +let actionTimeout = 60000; +let action = 'none'; +let comment = ''; + +settings.get('Livechat_agent_leave_action_timeout', function(_key: string, value: number) { + actionTimeout = value * 1000; +}); + +settings.get('Livechat_agent_leave_action', function(_key: string, value: boolean) { + monitorAgents = value; +}); + +settings.get('Livechat_agent_leave_action', function(_key: string, value: string) { + action = value; +}); + +settings.get('Livechat_agent_leave_comment', function(_key: string, value: string) { + comment = value; +}); + +const onlineAgents = { + users: new Set(), + queue: new Map(), + + add(userId: string): void { + if (this.exists(userId)) { + return; + } + + if (this.queue.has(userId)) { + clearTimeout(this.queue.get(userId)); + this.queue.delete(userId); + } + this.users.add(userId); + }, + + remove(userId: string): void { + if (!this.exists(userId)) { + return; + } + + if (this.queue.has(userId)) { + clearTimeout(this.queue.get(userId)); + } + + this.queue.set(userId, setTimeout(this.runAgentLeaveAction, actionTimeout, userId)); + }, + + exists(userId: string): boolean { + return this.users.has(userId); + }, + + runAgentLeaveAction: Meteor.bindEnvironment((userId: string) => { + onlineAgents.users.delete(userId); + onlineAgents.queue.delete(userId); + + if (action === 'close') { + return Livechat.closeOpenChats(userId, comment); + } + + if (action === 'forward') { + return Livechat.forwardOpenChats(userId); + } + }), +}; + +Users.on('change', ({ clientAction, id, diff }) => { + if (!monitorAgents) { + return; + } + + if (clientAction !== 'removed' && diff && !diff.status && !diff.statusLivechat) { + return; + } + + switch (clientAction) { + case 'updated': + case 'inserted': + const agent = Users.findOneAgentById(id, { + fields: { + status: 1, + statusLivechat: 1, + }, + }); + const serviceOnline = agent && agent.status !== 'offline' && agent.statusLivechat === 'available'; + + if (serviceOnline) { + return onlineAgents.add(id); + } + + onlineAgents.remove(id); + + break; + case 'removed': + onlineAgents.remove(id); + break; + } +}); diff --git a/app/livechat/server/methods/takeInquiry.js b/app/livechat/server/methods/takeInquiry.js index cfc52636b34f..e6a557eee011 100644 --- a/app/livechat/server/methods/takeInquiry.js +++ b/app/livechat/server/methods/takeInquiry.js @@ -17,6 +17,10 @@ Meteor.methods({ } const user = Users.findOneById(Meteor.userId()); + const { status, statusLivechat } = user; + if (status === 'offline' || statusLivechat !== 'available') { + throw new Meteor.Error('error-agent-offline', 'Agent offline', { method: 'livechat:takeInquiry' }); + } const agent = { agentId: user._id, diff --git a/app/livechat/server/unclosedLivechats.js b/app/livechat/server/unclosedLivechats.js deleted file mode 100644 index 29c96b68e1be..000000000000 --- a/app/livechat/server/unclosedLivechats.js +++ /dev/null @@ -1,95 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { UserPresenceMonitor } from 'meteor/konecty:user-presence'; - -import { Livechat } from './lib/Livechat'; -import { settings } from '../../settings'; -import { Users } from '../../models'; - -let agentsHandler; -let monitorAgents = false; -let actionTimeout = 60000; - -const onlineAgents = { - users: {}, - queue: {}, - - add(userId) { - if (this.queue[userId]) { - clearTimeout(this.queue[userId]); - delete this.queue[userId]; - } - this.users[userId] = 1; - }, - - remove(userId, callback) { - if (this.queue[userId]) { - clearTimeout(this.queue[userId]); - } - this.queue[userId] = setTimeout(Meteor.bindEnvironment(() => { - callback(); - - delete this.users[userId]; - delete this.queue[userId]; - }), actionTimeout); - }, - - exists(userId) { - return !!this.users[userId]; - }, -}; - -function runAgentLeaveAction(userId) { - const action = settings.get('Livechat_agent_leave_action'); - if (action === 'close') { - return Livechat.closeOpenChats(userId, settings.get('Livechat_agent_leave_comment')); - } if (action === 'forward') { - return Livechat.forwardOpenChats(userId); - } -} - -settings.get('Livechat_agent_leave_action_timeout', function(key, value) { - actionTimeout = value * 1000; -}); - -settings.get('Livechat_agent_leave_action', function(key, value) { - monitorAgents = value; - if (value !== 'none') { - if (!agentsHandler) { - agentsHandler = Users.findOnlineAgents().observeChanges({ - added(id) { - onlineAgents.add(id); - }, - changed(id, fields) { - if (fields.statusLivechat && fields.statusLivechat === 'not-available') { - onlineAgents.remove(id, () => { - runAgentLeaveAction(id); - }); - } else { - onlineAgents.add(id); - } - }, - removed(id) { - onlineAgents.remove(id, () => { - runAgentLeaveAction(id); - }); - }, - }); - } - } else if (agentsHandler) { - agentsHandler.stop(); - agentsHandler = null; - } -}); - -UserPresenceMonitor.onSetUserStatus((user, status/* , statusConnection*/) => { - if (!monitorAgents) { - return; - } - if (onlineAgents.exists(user._id)) { - if (status === 'offline' || user.statusLivechat === 'not-available') { - onlineAgents.remove(user._id, () => { - runAgentLeaveAction(user._id); - }); - } - } -}); diff --git a/app/models/server/models/Users.js b/app/models/server/models/Users.js index 2e0fd8dc82c3..0724bb8b2c6b 100644 --- a/app/models/server/models/Users.js +++ b/app/models/server/models/Users.js @@ -134,6 +134,15 @@ export class Users extends Base { return this.findOne(query); } + findOneAgentById(_id, options) { + const query = { + _id, + roles: 'livechat-agent', + }; + + return this.findOne(query, options); + } + findAgents() { const query = { roles: 'livechat-agent', diff --git a/app/settings/server/functions/settings.d.ts b/app/settings/server/functions/settings.d.ts new file mode 100644 index 000000000000..9576e32719a8 --- /dev/null +++ b/app/settings/server/functions/settings.d.ts @@ -0,0 +1,3 @@ +export namespace settings { + export function get(name: string, callback: (key: string, value: any) => void): string; +} diff --git a/packages/rocketchat-i18n/i18n/en.i18n.json b/packages/rocketchat-i18n/i18n/en.i18n.json index 72312faa2831..5044a004a72e 100644 --- a/packages/rocketchat-i18n/i18n/en.i18n.json +++ b/packages/rocketchat-i18n/i18n/en.i18n.json @@ -1279,6 +1279,7 @@ "Entertainment": "Entertainment", "Error": "Error", "error-action-not-allowed": "__action__ is not allowed", + "error-agent-offline": "Agent is offline", "error-application-not-found": "Application not found", "error-archived-duplicate-name": "There's an archived channel with name '__room_name__'", "error-avatar-invalid-url": "Invalid avatar URL: __url__", diff --git a/packages/rocketchat-i18n/i18n/pt-BR.i18n.json b/packages/rocketchat-i18n/i18n/pt-BR.i18n.json index dc91ec7e3360..f2c53d5c23d2 100644 --- a/packages/rocketchat-i18n/i18n/pt-BR.i18n.json +++ b/packages/rocketchat-i18n/i18n/pt-BR.i18n.json @@ -1192,6 +1192,7 @@ "Entertainment": "Diversรฃo", "Error": "Erro", "error-action-not-allowed": "__action__ nรฃo รฉ permitido", + "error-agent-offline": "Agente estรก offline", "error-application-not-found": "Aplicaรงรฃo nรฃo encontrada", "error-archived-duplicate-name": "Jรก hรก um canal arquivado com o nome '__room_name__'", "error-avatar-invalid-url": "URL invรกlida de avatar: __url__", From 863ee740c1aa785876566d212753fddd38f371a9 Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Mon, 30 Mar 2020 18:18:20 -0300 Subject: [PATCH 112/223] Bump version to 3.0.8 --- .docker/Dockerfile.rhel | 2 +- .github/history.json | 49 + HISTORY.md | 3168 +++++++++++++++++++++++++++++++++++++ app/utils/rocketchat.info | 2 +- package.json | 2 +- 5 files changed, 3220 insertions(+), 3 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index 6da776c4700f..1c275a564352 100644 --- a/.docker/Dockerfile.rhel +++ b/.docker/Dockerfile.rhel @@ -1,6 +1,6 @@ FROM registry.access.redhat.com/rhscl/nodejs-8-rhel7 -ENV RC_VERSION 3.0.7 +ENV RC_VERSION 3.0.8 MAINTAINER buildmaster@rocket.chat diff --git a/.github/history.json b/.github/history.json index 8352e9effef3..8cfc9224330c 100644 --- a/.github/history.json +++ b/.github/history.json @@ -40067,6 +40067,55 @@ ] } ] + }, + "3.0.8": { + "node_version": "12.14.0", + "npm_version": "6.13.4", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "17078", + "title": "Regression: Remove model observe that was used to control the status of the Omnichannel agents", + "userLogin": "renatobecker", + "milestone": "3.0.8", + "contributors": [ + "renatobecker", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "17086", + "title": "[FIX] Emit livechat events to instace only", + "userLogin": "sampaiodiego", + "milestone": "3.0.8", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "17088", + "title": "Reduce notifyUser propagation", + "userLogin": "rodrigok", + "milestone": "3.0.8", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "17089", + "title": "[FIX] Error when websocket received status update event", + "userLogin": "d-gubert", + "milestone": "3.0.8", + "contributors": [ + "d-gubert" + ] + } + ] } } } \ No newline at end of file diff --git a/HISTORY.md b/HISTORY.md index e5eea1c8a5c0..b01aa11ac67d 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,4 +1,36 @@ +# 3.0.8 +`2020-03-30 ยท 2 ๐Ÿ› ยท 2 ๐Ÿ” ยท 4 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` + +### Engine versions +- Node: `12.14.0` +- NPM: `6.13.4` +- MongoDB: `3.4, 3.6, 4.0` + +### ๐Ÿ› Bug fixes + + +- Emit livechat events to instace only ([#17086](https://github.com/RocketChat/Rocket.Chat/pull/17086)) + +- Error when websocket received status update event ([#17089](https://github.com/RocketChat/Rocket.Chat/pull/17089)) + +
+๐Ÿ” Minor changes + + +- Regression: Remove model observe that was used to control the status of the Omnichannel agents ([#17078](https://github.com/RocketChat/Rocket.Chat/pull/17078)) + +- Reduce notifyUser propagation ([#17088](https://github.com/RocketChat/Rocket.Chat/pull/17088)) + +
+ +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@d-gubert](https://github.com/d-gubert) +- [@renatobecker](https://github.com/renatobecker) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + # 3.0.7 `2020-03-25 ยท 1 ๐Ÿ” ยท 1 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` @@ -10,6 +42,7 @@
๐Ÿ” Minor changes + - Regression: Remove deprecated Omnichannel setting used to fetch the queue data through subscription ([#17017](https://github.com/RocketChat/Rocket.Chat/pull/17017))
@@ -28,11 +61,13 @@ ### ๐Ÿ› Bug fixes + - Keeps the agent in the room after accepting a new Omnichannel request ([#16787](https://github.com/RocketChat/Rocket.Chat/pull/16787))
๐Ÿ” Minor changes + - Regression: Replace the Omnichannel queue model observe with Stream ([#16999](https://github.com/RocketChat/Rocket.Chat/pull/16999))
@@ -51,6 +86,7 @@ ### ๐Ÿ› Bug fixes + - Race conditions on/before login ([#16989](https://github.com/RocketChat/Rocket.Chat/pull/16989)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -67,11 +103,14 @@ ### ๐Ÿš€ Improvements + - Send files over REST API ([#16617](https://github.com/RocketChat/Rocket.Chat/pull/16617)) ### ๐Ÿ› Bug fixes + - Integrations page pagination ([#16838](https://github.com/RocketChat/Rocket.Chat/pull/16838)) + - TypeError when trying to load avatar of an invalid room. ([#16699](https://github.com/RocketChat/Rocket.Chat/pull/16699)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -90,10 +129,15 @@ ### ๐Ÿ› Bug fixes + - Language country has been ignored on translation load ([#16757](https://github.com/RocketChat/Rocket.Chat/pull/16757)) + - Manual Register use correct state for determining registered ([#16726](https://github.com/RocketChat/Rocket.Chat/pull/16726)) + - Rocket.Chat takes too long to set the username when it fails to send enrollment email ([#16723](https://github.com/RocketChat/Rocket.Chat/pull/16723)) + - LDAP sync admin action was not syncing existent users ([#16671](https://github.com/RocketChat/Rocket.Chat/pull/16671)) + - Check agent status when starting a new conversation with an agent assigned ([#16618](https://github.com/RocketChat/Rocket.Chat/pull/16618)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -114,8 +158,11 @@ ### ๐Ÿ› Bug fixes + - ie11 support ([#16682](https://github.com/RocketChat/Rocket.Chat/pull/16682)) + - Omnichannel Inquiry queues when removing chats ([#16603](https://github.com/RocketChat/Rocket.Chat/pull/16603)) + - Clear unread red line when the ESC key is pressed ([#16668](https://github.com/RocketChat/Rocket.Chat/pull/16668)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -134,12 +181,19 @@ ### ๐Ÿ› Bug fixes + - UiKit not updating new actionIds received as responses from actions ([#16624](https://github.com/RocketChat/Rocket.Chat/pull/16624)) + - Regression: Jitsi on external window infinite loop ([#16625](https://github.com/RocketChat/Rocket.Chat/pull/16625)) + - livechat/rooms endpoint not working with big amount of livechats ([#16623](https://github.com/RocketChat/Rocket.Chat/pull/16623)) + - Regression: New 'app' role with no permissions when updating to 3.0.0 ([#16637](https://github.com/RocketChat/Rocket.Chat/pull/16637)) + - Block user option inside admin view ([#16626](https://github.com/RocketChat/Rocket.Chat/pull/16626)) + - Data converters overriding fields added by apps ([#16639](https://github.com/RocketChat/Rocket.Chat/pull/16639)) + - Admin height if the blue banner is opened ([#16629](https://github.com/RocketChat/Rocket.Chat/pull/16629)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -159,121 +213,224 @@ ### โš ๏ธ BREAKING CHANGES + - Filter System messages per room ([#16369](https://github.com/RocketChat/Rocket.Chat/pull/16369)) + - Remove deprecated publications ([#16351](https://github.com/RocketChat/Rocket.Chat/pull/16351)) + - Hide system messages ([#16243](https://github.com/RocketChat/Rocket.Chat/pull/16243)) + - Upgrade to Meteor 1.9 and NodeJS 12 ([#16252](https://github.com/RocketChat/Rocket.Chat/pull/16252)) + - Removed room counter from sidebar ([#16036](https://github.com/RocketChat/Rocket.Chat/pull/16036)) + - Change apps/icon endpoint to return app's icon and use it to show on Ui Kit modal ([#16522](https://github.com/RocketChat/Rocket.Chat/pull/16522)) + - TLS v1.0 and TLS v1.1 were disabled by due to NodeJS update to v12. You can still enable them by using flags like `--tls-min-v1.0` and `--tls-min-v1.1` ### ๐ŸŽ‰ New features + - Button to download admin server info ([#16059](https://github.com/RocketChat/Rocket.Chat/pull/16059)) + - UiKit - Interactive UI elements for Rocket.Chat Apps ([#16048](https://github.com/RocketChat/Rocket.Chat/pull/16048)) + - Sort the Omnichannel Chat list according to the user preferences ([#16437](https://github.com/RocketChat/Rocket.Chat/pull/16437)) + - Setting to only send plain text emails ([#16065](https://github.com/RocketChat/Rocket.Chat/pull/16065)) + - Check the Omnichannel service status per Department ([#16425](https://github.com/RocketChat/Rocket.Chat/pull/16425)) + - Create a user for the Apps during installation ([#15896](https://github.com/RocketChat/Rocket.Chat/pull/15896) by [@Cool-fire](https://github.com/Cool-fire)) + - Add GUI for customFields in Omnichannel conversations ([#15840](https://github.com/RocketChat/Rocket.Chat/pull/15840) by [@antkaz](https://github.com/antkaz)) + - update on mongo, node and caddy on snap ([#16167](https://github.com/RocketChat/Rocket.Chat/pull/16167)) + - Enforce plain text emails converting from HTML when no text version supplied ([#16063](https://github.com/RocketChat/Rocket.Chat/pull/16063)) + - Setting Top navbar in embedded mode ([#16064](https://github.com/RocketChat/Rocket.Chat/pull/16064)) ### ๐Ÿš€ Improvements + - Request user presence on demand ([#16348](https://github.com/RocketChat/Rocket.Chat/pull/16348)) + - Major overhaul on data importers ([#16279](https://github.com/RocketChat/Rocket.Chat/pull/16279)) + - Changes App user's status when the app was enabled/disabled ([#16392](https://github.com/RocketChat/Rocket.Chat/pull/16392)) + - Log as info level when Method Rate Limiters are reached ([#16446](https://github.com/RocketChat/Rocket.Chat/pull/16446)) + - Show more information related to the Omnichannel room closing data ([#16414](https://github.com/RocketChat/Rocket.Chat/pull/16414)) + - Update katex version ([#16393](https://github.com/RocketChat/Rocket.Chat/pull/16393)) + - Prevent "App user" from being deleted by the admin ([#16373](https://github.com/RocketChat/Rocket.Chat/pull/16373)) + - Improve function to check if setting has changed ([#16181](https://github.com/RocketChat/Rocket.Chat/pull/16181)) + - Status Text form validation ([#16121](https://github.com/RocketChat/Rocket.Chat/pull/16121)) + - Set the color of the cancel button on modals to #bdbebf for enhanced visibiity ([#15913](https://github.com/RocketChat/Rocket.Chat/pull/15913) by [@ritwizsinha](https://github.com/ritwizsinha)) + - Remove NRR ([#16071](https://github.com/RocketChat/Rocket.Chat/pull/16071)) ### ๐Ÿ› Bug fixes + - Result of get avatar from url can be null ([#16123](https://github.com/RocketChat/Rocket.Chat/pull/16123)) + - Rooms not being marked as read sometimes ([#16397](https://github.com/RocketChat/Rocket.Chat/pull/16397)) + - Container heights ([#16388](https://github.com/RocketChat/Rocket.Chat/pull/16388)) + - Mail Msg Cancel button not closing the flexbar ([#16263](https://github.com/RocketChat/Rocket.Chat/pull/16263) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - Highlight freezing the UI ([#16378](https://github.com/RocketChat/Rocket.Chat/pull/16378)) + - Adding 'lang' tag ([#16375](https://github.com/RocketChat/Rocket.Chat/pull/16375)) + - Role tags missing - Description field explanation ([#16356](https://github.com/RocketChat/Rocket.Chat/pull/16356)) + - The "click to load" text is hard-coded and not translated. ([#16142](https://github.com/RocketChat/Rocket.Chat/pull/16142) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - FileUpload.getBuffer was not working through the Apps-Engine ([#16234](https://github.com/RocketChat/Rocket.Chat/pull/16234)) + - Integrations admin page ([#16183](https://github.com/RocketChat/Rocket.Chat/pull/16183)) + - Readme Help wanted section ([#16197](https://github.com/RocketChat/Rocket.Chat/pull/16197)) + - auto translate cache ([#15768](https://github.com/RocketChat/Rocket.Chat/pull/15768) by [@vickyokrm](https://github.com/vickyokrm)) + - Save password without confirmation ([#16060](https://github.com/RocketChat/Rocket.Chat/pull/16060) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - Break message-attachment text to the next line ([#16039](https://github.com/RocketChat/Rocket.Chat/pull/16039) by [@ritwizsinha](https://github.com/ritwizsinha)) + - SafePorts: Ports 80, 8080 & 443 linked to respective protocols (#16108) ([#16108](https://github.com/RocketChat/Rocket.Chat/pull/16108)) + - Drag and drop disabled when file upload is disabled ([#16049](https://github.com/RocketChat/Rocket.Chat/pull/16049)) + - Video message sent to wrong room ([#16113](https://github.com/RocketChat/Rocket.Chat/pull/16113)) + - "User not found" for direct messages ([#16047](https://github.com/RocketChat/Rocket.Chat/pull/16047)) + - Embedded style when using 'go' command ([#16051](https://github.com/RocketChat/Rocket.Chat/pull/16051)) + - Thread message icon overlapping text ([#16083](https://github.com/RocketChat/Rocket.Chat/pull/16083)) + - Login change language button ([#16085](https://github.com/RocketChat/Rocket.Chat/pull/16085)) + - api-bypass-rate-limiter permission was not working ([#16080](https://github.com/RocketChat/Rocket.Chat/pull/16080)) + - Missing edited icon in newly created messages ([#16484](https://github.com/RocketChat/Rocket.Chat/pull/16484)) + - Read Message after receive a message and the room is opened ([#16473](https://github.com/RocketChat/Rocket.Chat/pull/16473)) + - Send message with pending messages ([#16474](https://github.com/RocketChat/Rocket.Chat/pull/16474)) + - Do not stop on DM imports if one of users was not found ([#16547](https://github.com/RocketChat/Rocket.Chat/pull/16547)) + - Introduce AppLivechatBridge.isOnlineAsync method ([#16467](https://github.com/RocketChat/Rocket.Chat/pull/16467)) + - When copying invite links, multiple toastr messages ([#16578](https://github.com/RocketChat/Rocket.Chat/pull/16578)) + - Livechat Widget version 1.3.1 ([#16580](https://github.com/RocketChat/Rocket.Chat/pull/16580)) + - Error when successfully joining room by invite link ([#16571](https://github.com/RocketChat/Rocket.Chat/pull/16571)) + - Invite links proxy URLs not working when using CDN ([#16581](https://github.com/RocketChat/Rocket.Chat/pull/16581)) + - Bug on starting Jitsi video calls , multiple messages ([#16601](https://github.com/RocketChat/Rocket.Chat/pull/16601))
๐Ÿ” Minor changes + - Revert importer streamed uploads ([#16465](https://github.com/RocketChat/Rocket.Chat/pull/16465)) + - Regression: Fix app user status change for non-existing user ([#16458](https://github.com/RocketChat/Rocket.Chat/pull/16458)) + - Regression: Fix sending a message not scrolling to bottom ([#16451](https://github.com/RocketChat/Rocket.Chat/pull/16451)) + - LingoHub based on develop ([#16450](https://github.com/RocketChat/Rocket.Chat/pull/16450)) + - Regression: Fix sequential messages grouping ([#16386](https://github.com/RocketChat/Rocket.Chat/pull/16386)) + - Use GitHub Actions to store builds ([#16443](https://github.com/RocketChat/Rocket.Chat/pull/16443)) + - Regression: recent opened rooms being marked as read ([#16442](https://github.com/RocketChat/Rocket.Chat/pull/16442)) + - Regression: Fix status bar margins ([#16438](https://github.com/RocketChat/Rocket.Chat/pull/16438)) + - Update apps engine to 1.12.0-beta.2496 ([#16398](https://github.com/RocketChat/Rocket.Chat/pull/16398)) + - Regression: App deletion wasnโ€™t returning the correct information ([#16360](https://github.com/RocketChat/Rocket.Chat/pull/16360)) + - Lint: Resolve complexity warnings ([#16114](https://github.com/RocketChat/Rocket.Chat/pull/16114)) + - Fix Preview Docker image build ([#16379](https://github.com/RocketChat/Rocket.Chat/pull/16379)) + - Fix assets download on CI ([#16352](https://github.com/RocketChat/Rocket.Chat/pull/16352)) + - Send build artifacts to S3 ([#16237](https://github.com/RocketChat/Rocket.Chat/pull/16237)) + - Add missing translations ([#16150](https://github.com/RocketChat/Rocket.Chat/pull/16150) by [@ritwizsinha](https://github.com/ritwizsinha)) + - Disable PR Docker image build ([#16141](https://github.com/RocketChat/Rocket.Chat/pull/16141)) + - Add Cloud Info to translation dictionary ([#16122](https://github.com/RocketChat/Rocket.Chat/pull/16122) by [@aviral243](https://github.com/aviral243)) + - Merge master into develop & Set version to 2.5.0-develop ([#16107](https://github.com/RocketChat/Rocket.Chat/pull/16107)) + - Fix tests ([#16469](https://github.com/RocketChat/Rocket.Chat/pull/16469)) + - Regression: prevent submit modal ([#16488](https://github.com/RocketChat/Rocket.Chat/pull/16488)) + - Regression: allow private channels to hide system messages ([#16483](https://github.com/RocketChat/Rocket.Chat/pull/16483)) + - Regression: Fix uikit modal closing on click ([#16475](https://github.com/RocketChat/Rocket.Chat/pull/16475)) + - Regression: Fix undefined presence after reconnect ([#16477](https://github.com/RocketChat/Rocket.Chat/pull/16477)) + - Remove users.info being called without need ([#16504](https://github.com/RocketChat/Rocket.Chat/pull/16504)) + - Add Ui Kit container ([#16503](https://github.com/RocketChat/Rocket.Chat/pull/16503)) + - Catch zip errors on import file load ([#16494](https://github.com/RocketChat/Rocket.Chat/pull/16494)) + - Fix: License missing from manual register handler ([#16505](https://github.com/RocketChat/Rocket.Chat/pull/16505)) + - Exclude federated and app users from active user count ([#16489](https://github.com/RocketChat/Rocket.Chat/pull/16489)) + - Regression: Update Uikit ([#16515](https://github.com/RocketChat/Rocket.Chat/pull/16515)) + - Regression: UIKit - Send container info on block actions triggered on a message ([#16514](https://github.com/RocketChat/Rocket.Chat/pull/16514)) + - Use base64 for import files upload to prevent file corruption ([#16516](https://github.com/RocketChat/Rocket.Chat/pull/16516)) + - Regression: Send app info along with interaction payload to the UI ([#16511](https://github.com/RocketChat/Rocket.Chat/pull/16511)) + - Regression: Ui Kit messaging issues (#16513) ([#16513](https://github.com/RocketChat/Rocket.Chat/pull/16513)) + - Regression: update package-lock ([#16528](https://github.com/RocketChat/Rocket.Chat/pull/16528)) + - Regression: UIkit input states ([#16552](https://github.com/RocketChat/Rocket.Chat/pull/16552)) + - Regression: UIKit missing select states: error/disabled ([#16540](https://github.com/RocketChat/Rocket.Chat/pull/16540)) + - Regression: fix read unread messages ([#16562](https://github.com/RocketChat/Rocket.Chat/pull/16562)) + - Regression: UIKit update modal actions ([#16570](https://github.com/RocketChat/Rocket.Chat/pull/16570)) + - Update Apps-Engine version ([#16584](https://github.com/RocketChat/Rocket.Chat/pull/16584)) + - Add breaking notice regarding TLS ([#16575](https://github.com/RocketChat/Rocket.Chat/pull/16575)) + - Regression: Modal onSubmit ([#16556](https://github.com/RocketChat/Rocket.Chat/pull/16556)) + - Regression: send file modal not working via keyboard ([#16607](https://github.com/RocketChat/Rocket.Chat/pull/16607)) + - Fix github actions accessing the github registry ([#16521](https://github.com/RocketChat/Rocket.Chat/pull/16521) by [@mrsimpson](https://github.com/mrsimpson))
@@ -315,6 +472,7 @@ ### ๐Ÿ› Bug fixes + - users.info endpoint not handling the error if the user does not exist ([#16495](https://github.com/RocketChat/Rocket.Chat/pull/16495)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -332,11 +490,13 @@ ### ๐Ÿ› Bug fixes + - `stdout` streamer infinite loop ([#16452](https://github.com/RocketChat/Rocket.Chat/pull/16452))
๐Ÿ” Minor changes + - Release 2.4.9 ([#16544](https://github.com/RocketChat/Rocket.Chat/pull/16544))
@@ -356,7 +516,9 @@
๐Ÿ” Minor changes + - Release 2.4.8 ([#16506](https://github.com/RocketChat/Rocket.Chat/pull/16506)) + - Update presence package to 2.6.1 ([#16486](https://github.com/RocketChat/Rocket.Chat/pull/16486))
@@ -375,11 +537,13 @@ ### ๐Ÿ› Bug fixes + - Option to make a channel default ([#16433](https://github.com/RocketChat/Rocket.Chat/pull/16433))
๐Ÿ” Minor changes + - Release 2.4.7 ([#16444](https://github.com/RocketChat/Rocket.Chat/pull/16444))
@@ -400,8 +564,11 @@
๐Ÿ” Minor changes + - Release 2.4.6 ([#16402](https://github.com/RocketChat/Rocket.Chat/pull/16402)) + - Revert message properties validation ([#16395](https://github.com/RocketChat/Rocket.Chat/pull/16395)) + - Fix index creation for apps_logs collection ([#16401](https://github.com/RocketChat/Rocket.Chat/pull/16401))
@@ -423,6 +590,7 @@
๐Ÿ” Minor changes + - Release 2.4.5 ([#16380](https://github.com/RocketChat/Rocket.Chat/pull/16380))
@@ -441,12 +609,15 @@ ### ๐Ÿ› Bug fixes + - App removal was moving logs to the trash collection ([#16362](https://github.com/RocketChat/Rocket.Chat/pull/16362))
๐Ÿ” Minor changes + - Release 2.4.4 ([#16377](https://github.com/RocketChat/Rocket.Chat/pull/16377)) + - Regression: Rate limiter was not working due to Meteor internal changes ([#16361](https://github.com/RocketChat/Rocket.Chat/pull/16361))
@@ -466,12 +637,15 @@ ### ๐Ÿ› Bug fixes + - Unknown error when sending message if 'Set a User Name to Alias in Message' setting is enabled ([#16347](https://github.com/RocketChat/Rocket.Chat/pull/16347)) + - Invite links usage by channel owners/moderators ([#16176](https://github.com/RocketChat/Rocket.Chat/pull/16176))
๐Ÿ” Minor changes + - Release 2.4.3 ([#16358](https://github.com/RocketChat/Rocket.Chat/pull/16358))
@@ -491,14 +665,19 @@ ### ๐Ÿ› Bug fixes + - Setup Wizard inputs and Admin Settings ([#16147](https://github.com/RocketChat/Rocket.Chat/pull/16147)) + - Slack CSV User Importer ([#16253](https://github.com/RocketChat/Rocket.Chat/pull/16253)) + - Integrations list without pagination and outgoing integration creation ([#16233](https://github.com/RocketChat/Rocket.Chat/pull/16233)) + - User stuck after reset password ([#16184](https://github.com/RocketChat/Rocket.Chat/pull/16184))
๐Ÿ” Minor changes + - Release 2.4.2 ([#16274](https://github.com/RocketChat/Rocket.Chat/pull/16274))
@@ -520,12 +699,15 @@ ### ๐Ÿ› Bug fixes + - Enable apps change properties of the sender on the message as before ([#16189](https://github.com/RocketChat/Rocket.Chat/pull/16189)) + - JS errors on Administration page ([#16139](https://github.com/RocketChat/Rocket.Chat/pull/16139))
๐Ÿ” Minor changes + - Release 2.4.1 ([#16195](https://github.com/RocketChat/Rocket.Chat/pull/16195))
@@ -547,87 +729,159 @@ ### ๐ŸŽ‰ New features + - Invite links: share a link to invite users ([#15933](https://github.com/RocketChat/Rocket.Chat/pull/15933)) + - Logout other clients when changing password ([#15927](https://github.com/RocketChat/Rocket.Chat/pull/15927)) + - Do not print emails in console on production mode ([#15928](https://github.com/RocketChat/Rocket.Chat/pull/15928)) + - Apps-Engine event for when a livechat room is closed ([#15837](https://github.com/RocketChat/Rocket.Chat/pull/15837)) ### ๐Ÿš€ Improvements + - Replace livechat:inquiry publication by REST and Streamer ([#15977](https://github.com/RocketChat/Rocket.Chat/pull/15977)) + - Sorting on livechat analytics queries were wrong ([#16021](https://github.com/RocketChat/Rocket.Chat/pull/16021)) + - Replace fullUserData publication by REST ([#15650](https://github.com/RocketChat/Rocket.Chat/pull/15650)) + - Replace integrations and integrationHistory publications by REST ([#15885](https://github.com/RocketChat/Rocket.Chat/pull/15885)) + - Notify logged agents when their departments change ([#16033](https://github.com/RocketChat/Rocket.Chat/pull/16033)) + - Replace fullEmojiData publication by REST ([#15901](https://github.com/RocketChat/Rocket.Chat/pull/15901)) + - Replace adminRooms publication by REST ([#15948](https://github.com/RocketChat/Rocket.Chat/pull/15948)) + - Replace webdavAccounts publication by REST ([#15926](https://github.com/RocketChat/Rocket.Chat/pull/15926)) + - Replace oauth publications by REST ([#15878](https://github.com/RocketChat/Rocket.Chat/pull/15878)) + - Replace userAutocomplete publication by REST ([#15956](https://github.com/RocketChat/Rocket.Chat/pull/15956)) + - Replace discussionsOfARoom publication by REST ([#15908](https://github.com/RocketChat/Rocket.Chat/pull/15908)) + - Move 'Reply in Thread' button from menu to message actions ([#15685](https://github.com/RocketChat/Rocket.Chat/pull/15685) by [@antkaz](https://github.com/antkaz)) + - Replace customSounds publication by REST ([#15907](https://github.com/RocketChat/Rocket.Chat/pull/15907)) + - Replace stdout publication by REST ([#16004](https://github.com/RocketChat/Rocket.Chat/pull/16004)) + - Replace fullUserStatusData publication by REST ([#15942](https://github.com/RocketChat/Rocket.Chat/pull/15942)) + - Replace userData subscriptions by REST ([#15916](https://github.com/RocketChat/Rocket.Chat/pull/15916)) + - Replace roles publication by REST ([#15910](https://github.com/RocketChat/Rocket.Chat/pull/15910)) + - Livechat realtime dashboard ([#15792](https://github.com/RocketChat/Rocket.Chat/pull/15792)) + - Replace livechat:rooms publication by REST ([#15968](https://github.com/RocketChat/Rocket.Chat/pull/15968)) + - Replace livechat:officeHour publication to REST ([#15503](https://github.com/RocketChat/Rocket.Chat/pull/15503)) + - Replace forgotten livechat:departmentAgents subscriptions ([#15970](https://github.com/RocketChat/Rocket.Chat/pull/15970)) + - Replace livechat:managers publication by REST ([#15944](https://github.com/RocketChat/Rocket.Chat/pull/15944)) + - Replace livechat:visitorHistory publication by REST ([#15943](https://github.com/RocketChat/Rocket.Chat/pull/15943)) + - Replace livechat:queue subscription ([#15612](https://github.com/RocketChat/Rocket.Chat/pull/15612)) + - Add deprecate warning in some unused publications ([#15935](https://github.com/RocketChat/Rocket.Chat/pull/15935)) + - Replace livechat:customFields to REST ([#15496](https://github.com/RocketChat/Rocket.Chat/pull/15496)) + - Validate user identity on send message process ([#15887](https://github.com/RocketChat/Rocket.Chat/pull/15887)) + - Update ui for Roles field ([#15888](https://github.com/RocketChat/Rocket.Chat/pull/15888) by [@antkaz](https://github.com/antkaz)) ### ๐Ÿ› Bug fixes + - Importer: Variable name appearing instead of it's value ([#16010](https://github.com/RocketChat/Rocket.Chat/pull/16010) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - Add time format for latest message on the sidebar ([#15930](https://github.com/RocketChat/Rocket.Chat/pull/15930) by [@ritwizsinha](https://github.com/ritwizsinha)) + - Admin Setting descriptions and Storybook ([#15994](https://github.com/RocketChat/Rocket.Chat/pull/15994)) + - width of upload-progress-text ([#16023](https://github.com/RocketChat/Rocket.Chat/pull/16023)) + - Message list scrolling to bottom on reactions ([#16018](https://github.com/RocketChat/Rocket.Chat/pull/16018)) + - SAML logout error ([#15978](https://github.com/RocketChat/Rocket.Chat/pull/15978)) + - Added Join button to Read Only rooms. ([#16016](https://github.com/RocketChat/Rocket.Chat/pull/16016)) + - z-index of new message button ([#16013](https://github.com/RocketChat/Rocket.Chat/pull/16013)) + - new message popup ([#16017](https://github.com/RocketChat/Rocket.Chat/pull/16017)) + - Changed renderMessage priority, fixed Katex on/off setting ([#16012](https://github.com/RocketChat/Rocket.Chat/pull/16012)) + - Empty security section when 2fa is disabled ([#16009](https://github.com/RocketChat/Rocket.Chat/pull/16009)) + - Dropzone being stuck when dragging to thread ([#16006](https://github.com/RocketChat/Rocket.Chat/pull/16006)) + - Fix sort livechat rooms ([#16001](https://github.com/RocketChat/Rocket.Chat/pull/16001)) + - Guest's name field missing when forwarding livechat rooms ([#15991](https://github.com/RocketChat/Rocket.Chat/pull/15991)) + - Error of bind environment on user data export ([#15985](https://github.com/RocketChat/Rocket.Chat/pull/15985)) + - Incorrect translation key on Livechat Appearance template ([#15975](https://github.com/RocketChat/Rocket.Chat/pull/15975) by [@ritwizsinha](https://github.com/ritwizsinha)) + - Livechat build without NodeJS installed ([#15903](https://github.com/RocketChat/Rocket.Chat/pull/15903) by [@localguru](https://github.com/localguru)) + - Server crash on sync with no response ([#15919](https://github.com/RocketChat/Rocket.Chat/pull/15919)) + - Don't throw an error when a message is prevented from apps engine ([#15850](https://github.com/RocketChat/Rocket.Chat/pull/15850) by [@wreiske](https://github.com/wreiske)) + - Thread Replies in Search ([#15841](https://github.com/RocketChat/Rocket.Chat/pull/15841)) + - Registration form was hidden when login form was disabled ([#16062](https://github.com/RocketChat/Rocket.Chat/pull/16062))
๐Ÿ” Minor changes + - Update NodeJS to 8.17.0 ([#16043](https://github.com/RocketChat/Rocket.Chat/pull/16043)) + - Fix typo in Italian translation ([#15998](https://github.com/RocketChat/Rocket.Chat/pull/15998) by [@iannuzzelli](https://github.com/iannuzzelli)) + - Update Meteor to 1.8.3 ([#16037](https://github.com/RocketChat/Rocket.Chat/pull/16037)) + - Some performance improvements ([#15886](https://github.com/RocketChat/Rocket.Chat/pull/15886)) + - Fixed Grammatical Mistakes. ([#15570](https://github.com/RocketChat/Rocket.Chat/pull/15570) by [@breaking-let](https://github.com/breaking-let)) + - Upgrade limax to 2.0.0 ([#16020](https://github.com/RocketChat/Rocket.Chat/pull/16020)) + - Remove unnecessary cron starts ([#15989](https://github.com/RocketChat/Rocket.Chat/pull/15989)) + - Enable typescript lint ([#15979](https://github.com/RocketChat/Rocket.Chat/pull/15979)) + - LingoHub based on develop ([#15988](https://github.com/RocketChat/Rocket.Chat/pull/15988)) + - Fix 'How it all started' link on README ([#15962](https://github.com/RocketChat/Rocket.Chat/pull/15962) by [@zdumitru](https://github.com/zdumitru)) + - Check package-lock consistency with package.json on CI ([#15961](https://github.com/RocketChat/Rocket.Chat/pull/15961)) + - Meteor update to 1.8.2 ([#15873](https://github.com/RocketChat/Rocket.Chat/pull/15873)) + - GitHub CI ([#15918](https://github.com/RocketChat/Rocket.Chat/pull/15918)) + - Change migration number 169 <-> 170 ([#15940](https://github.com/RocketChat/Rocket.Chat/pull/15940)) + - LingoHub based on develop ([#15939](https://github.com/RocketChat/Rocket.Chat/pull/15939)) + - [CHORE] Replace findOne with findOneById methods (Omnichannel) ([#15894](https://github.com/RocketChat/Rocket.Chat/pull/15894)) + - Merge master into develop & Set version to 3.0.0-develop ([#15872](https://github.com/RocketChat/Rocket.Chat/pull/15872)) + - Regression: Update components ([#16053](https://github.com/RocketChat/Rocket.Chat/pull/16053)) + - Regression: Missing button to copy Invite links ([#16084](https://github.com/RocketChat/Rocket.Chat/pull/16084))
@@ -669,6 +923,7 @@ ### ๐Ÿ› Bug fixes + - Add missing password field back to administration area ([#16171](https://github.com/RocketChat/Rocket.Chat/pull/16171)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -686,7 +941,9 @@ ### ๐Ÿ› Bug fixes + - Invalid Redirect URI on Custom OAuth ([#15957](https://github.com/RocketChat/Rocket.Chat/pull/15957)) + - Livechat Widget version 1.3.0 ([#15966](https://github.com/RocketChat/Rocket.Chat/pull/15966)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -704,11 +961,17 @@ ### ๐Ÿ› Bug fixes + - Default value of the Livechat WebhookUrl setting ([#15898](https://github.com/RocketChat/Rocket.Chat/pull/15898)) + - Admin menu not showing after renamed integration permissions ([#15937](https://github.com/RocketChat/Rocket.Chat/pull/15937) by [@n-se](https://github.com/n-se)) + - Administration UI issues ([#15934](https://github.com/RocketChat/Rocket.Chat/pull/15934)) + - Livechat permissions being overwrite on server restart ([#15915](https://github.com/RocketChat/Rocket.Chat/pull/15915)) + - Livechat triggers not firing ([#15897](https://github.com/RocketChat/Rocket.Chat/pull/15897)) + - Auto load image user preference ([#15895](https://github.com/RocketChat/Rocket.Chat/pull/15895)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜ @@ -731,90 +994,165 @@ ### ๐ŸŽ‰ New features + - Add forms to view and edit Livechat agents info ([#15703](https://github.com/RocketChat/Rocket.Chat/pull/15703)) + - Workspace Manual Registration ([#15442](https://github.com/RocketChat/Rocket.Chat/pull/15442)) + - Option on livechat departments to ensure a chat has tags before closing ([#15752](https://github.com/RocketChat/Rocket.Chat/pull/15752)) + - Setting to dismiss desktop notification only after interaction ([#14807](https://github.com/RocketChat/Rocket.Chat/pull/14807) by [@mpdbl](https://github.com/mpdbl)) + - Option for admins to set a random password to a user ([#15818](https://github.com/RocketChat/Rocket.Chat/pull/15818)) + - SAML login without popup windows ([#15836](https://github.com/RocketChat/Rocket.Chat/pull/15836)) + - Add ability to users reset their own E2E key ([#15777](https://github.com/RocketChat/Rocket.Chat/pull/15777)) + - Notify users when their email address change ([#15828](https://github.com/RocketChat/Rocket.Chat/pull/15828)) + - Add a new stream to emit and listen room data events ([#15770](https://github.com/RocketChat/Rocket.Chat/pull/15770)) + - Livechat analytics ([#15230](https://github.com/RocketChat/Rocket.Chat/pull/15230)) + - Allow Regexes on SAML user field mapping ([#15743](https://github.com/RocketChat/Rocket.Chat/pull/15743)) + - Livechat analytics functions ([#15666](https://github.com/RocketChat/Rocket.Chat/pull/15666)) + - add delete-own-message permission ([#15512](https://github.com/RocketChat/Rocket.Chat/pull/15512)) ### ๐Ÿš€ Improvements + - Make push notification batchsize and interval configurable ([#15804](https://github.com/RocketChat/Rocket.Chat/pull/15804) by [@Exordian](https://github.com/Exordian)) + - Add more fields to iframe integration event `unread-changed-by-subscription` ([#15786](https://github.com/RocketChat/Rocket.Chat/pull/15786)) + - Allow dragging of images and text from browsers ([#15691](https://github.com/RocketChat/Rocket.Chat/pull/15691)) + - Unfollow own threads ([#15740](https://github.com/RocketChat/Rocket.Chat/pull/15740)) + - Administration UI - React and Fuselage components ([#15452](https://github.com/RocketChat/Rocket.Chat/pull/15452)) + - Replace livechat:pagesvisited publication by REST ([#15629](https://github.com/RocketChat/Rocket.Chat/pull/15629)) + - Replace livechat:externalMessages publication by REST ([#15643](https://github.com/RocketChat/Rocket.Chat/pull/15643)) + - dynamic import livechat views ([#15775](https://github.com/RocketChat/Rocket.Chat/pull/15775)) + - Replace livechat:visitorInfo publication by REST ([#15639](https://github.com/RocketChat/Rocket.Chat/pull/15639)) + - Lazyload Chart.js ([#15764](https://github.com/RocketChat/Rocket.Chat/pull/15764)) + - Lazyload qrcode lib ([#15741](https://github.com/RocketChat/Rocket.Chat/pull/15741)) + - Replace personalAccessTokens publication by REST ([#15644](https://github.com/RocketChat/Rocket.Chat/pull/15644)) + - Replace livechat:departmentAgents subscription to REST ([#15529](https://github.com/RocketChat/Rocket.Chat/pull/15529)) + - remove computations inside messageAttachment ([#15716](https://github.com/RocketChat/Rocket.Chat/pull/15716)) + - Replace snippetedMessage publication by REST ([#15679](https://github.com/RocketChat/Rocket.Chat/pull/15679)) + - Replace snipptedMessages publication by REST ([#15678](https://github.com/RocketChat/Rocket.Chat/pull/15678)) + - Remove "EmojiCustom" unused subscription ([#15658](https://github.com/RocketChat/Rocket.Chat/pull/15658)) ### ๐Ÿ› Bug fixes + - Missing Privacy Policy Agree on register ([#15832](https://github.com/RocketChat/Rocket.Chat/pull/15832)) + - Push: fix notification priority for google (FCM) ([#15803](https://github.com/RocketChat/Rocket.Chat/pull/15803) by [@Exordian](https://github.com/Exordian)) + - Not valid relative URLs on message attachments ([#15651](https://github.com/RocketChat/Rocket.Chat/pull/15651)) + - REST endpoint `chat.syncMessages` returning an error with deleted messages ([#15824](https://github.com/RocketChat/Rocket.Chat/pull/15824)) + - Channel notification audio preferences ([#15771](https://github.com/RocketChat/Rocket.Chat/pull/15771)) + - Pasting images on reply as thread ([#15811](https://github.com/RocketChat/Rocket.Chat/pull/15811)) + - Prevent agent last message undefined ([#15809](https://github.com/RocketChat/Rocket.Chat/pull/15809)) + - Livechat transfer history messages ([#15780](https://github.com/RocketChat/Rocket.Chat/pull/15780)) + - Add button to reset.css ([#15773](https://github.com/RocketChat/Rocket.Chat/pull/15773)) + - Mentions before blockquote ([#15774](https://github.com/RocketChat/Rocket.Chat/pull/15774)) + - Sidebar font color was not respecting theming ([#15745](https://github.com/RocketChat/Rocket.Chat/pull/15745)) + - Add livechat agents into departments ([#15732](https://github.com/RocketChat/Rocket.Chat/pull/15732)) + - Changed cmsPage Style ([#15632](https://github.com/RocketChat/Rocket.Chat/pull/15632)) + - Forward Livechat UI and the related permissions ([#15718](https://github.com/RocketChat/Rocket.Chat/pull/15718)) + - line-height to show entire letters ([#15581](https://github.com/RocketChat/Rocket.Chat/pull/15581) by [@nstseek](https://github.com/nstseek)) + - Apply server side filters on Livechat lists ([#15717](https://github.com/RocketChat/Rocket.Chat/pull/15717)) + - Error when exporting user data ([#15654](https://github.com/RocketChat/Rocket.Chat/pull/15654)) + - Livechat webhook broken when sending an image ([#15699](https://github.com/RocketChat/Rocket.Chat/pull/15699) by [@tatosjb](https://github.com/tatosjb)) + - Sending messages to livechat rooms without a subscription ([#15707](https://github.com/RocketChat/Rocket.Chat/pull/15707)) + - Duplicate label 'Hide Avatars' in accounts ([#15694](https://github.com/RocketChat/Rocket.Chat/pull/15694) by [@rajvaibhavdubey](https://github.com/rajvaibhavdubey)) + - Block Show_Setup_Wizard Option ([#15623](https://github.com/RocketChat/Rocket.Chat/pull/15623)) + - Use Media Devices API to guess if a microphone is not available ([#15636](https://github.com/RocketChat/Rocket.Chat/pull/15636)) + - Ignore file uploads from message box if text/plain content is being pasted ([#15631](https://github.com/RocketChat/Rocket.Chat/pull/15631)) + - typo on PT-BR translation ([#15645](https://github.com/RocketChat/Rocket.Chat/pull/15645)) + - Null value at Notifications Preferences tab ([#15638](https://github.com/RocketChat/Rocket.Chat/pull/15638)) + - Edit in thread ([#15640](https://github.com/RocketChat/Rocket.Chat/pull/15640))
๐Ÿ” Minor changes + - Release 2.2.0 ([#15681](https://github.com/RocketChat/Rocket.Chat/pull/15681) by [@Montel](https://github.com/Montel) & [@antkaz](https://github.com/antkaz) & [@hmagarotto](https://github.com/hmagarotto) & [@nstseek](https://github.com/nstseek) & [@oguhpereira](https://github.com/oguhpereira) & [@rodrigokamada](https://github.com/rodrigokamada) & [@yusukeh0710](https://github.com/yusukeh0710)) + - LingoHub based on develop ([#15822](https://github.com/RocketChat/Rocket.Chat/pull/15822)) + - [REGRESSION] Add livechat room type to the room's file list ([#15795](https://github.com/RocketChat/Rocket.Chat/pull/15795)) + - Fix notification migration ([#15783](https://github.com/RocketChat/Rocket.Chat/pull/15783)) + - Regression: fix admin instances info page ([#15772](https://github.com/RocketChat/Rocket.Chat/pull/15772)) + - LingoHub based on develop ([#15763](https://github.com/RocketChat/Rocket.Chat/pull/15763)) + - Regression: messageAttachments inside messageAttachments not receiving settings ([#15733](https://github.com/RocketChat/Rocket.Chat/pull/15733)) + - Improve LDAP Login Fallback setting description in portuguese ([#15655](https://github.com/RocketChat/Rocket.Chat/pull/15655)) + - Update moment-timezone ([#15729](https://github.com/RocketChat/Rocket.Chat/pull/15729)) + - LingoHub based on develop ([#15728](https://github.com/RocketChat/Rocket.Chat/pull/15728)) + - Regression: Fix hide avatars in side bar preference ([#15709](https://github.com/RocketChat/Rocket.Chat/pull/15709)) + - Remove yarn.lock ([#15689](https://github.com/RocketChat/Rocket.Chat/pull/15689)) + - LingoHub based on develop ([#15688](https://github.com/RocketChat/Rocket.Chat/pull/15688)) + - Merge master into develop & Set version to 2.3.0-develop ([#15683](https://github.com/RocketChat/Rocket.Chat/pull/15683)) + - Release 2.2.0 ([#15681](https://github.com/RocketChat/Rocket.Chat/pull/15681) by [@Montel](https://github.com/Montel) & [@antkaz](https://github.com/antkaz) & [@hmagarotto](https://github.com/hmagarotto) & [@nstseek](https://github.com/nstseek) & [@oguhpereira](https://github.com/oguhpereira) & [@rodrigokamada](https://github.com/rodrigokamada) & [@yusukeh0710](https://github.com/yusukeh0710)) + - Fix Livechat duplicated templates error ([#15869](https://github.com/RocketChat/Rocket.Chat/pull/15869)) + - Improvements to random password field on user edit/creation ([#15870](https://github.com/RocketChat/Rocket.Chat/pull/15870)) + - Remove unused permission to reset users' E2E key ([#15860](https://github.com/RocketChat/Rocket.Chat/pull/15860)) + - [CHORE] Add lingohub to readme ([#15849](https://github.com/RocketChat/Rocket.Chat/pull/15849))
@@ -868,94 +1206,173 @@ ### ๐ŸŽ‰ New features + - Accept GIFs and SVGs for Avatars converting them to PNG and keep transparency of PNGs ([#11385](https://github.com/RocketChat/Rocket.Chat/pull/11385)) + - Thread support to apps slashcommands and slashcommand previews ([#15574](https://github.com/RocketChat/Rocket.Chat/pull/15574)) + - Remove all closed Livechat chats ([#13991](https://github.com/RocketChat/Rocket.Chat/pull/13991) by [@knrt10](https://github.com/knrt10)) + - Separate integration roles ([#13902](https://github.com/RocketChat/Rocket.Chat/pull/13902)) + - Add users.requestDataDownload API endpoint ([#14428](https://github.com/RocketChat/Rocket.Chat/pull/14428) by [@Hudell](https://github.com/Hudell) & [@ubarsaiyan](https://github.com/ubarsaiyan)) + - Check if agent can receive new livechat conversations when its status is away/idle ([#15451](https://github.com/RocketChat/Rocket.Chat/pull/15451)) + - Import SAML language and auto join SAML channels ([#14203](https://github.com/RocketChat/Rocket.Chat/pull/14203) by [@Hudell](https://github.com/Hudell) & [@unixtam](https://github.com/unixtam)) + - Add option to enable X-Frame-options header to avoid loading inside any Iframe ([#14698](https://github.com/RocketChat/Rocket.Chat/pull/14698)) + - Assign new Livechat conversations to bot agents first ([#15317](https://github.com/RocketChat/Rocket.Chat/pull/15317)) + - Added file type filter to RoomFiles ([#15289](https://github.com/RocketChat/Rocket.Chat/pull/15289) by [@juanpetterson](https://github.com/juanpetterson)) + - Add new Livechat appearance setting to set the conversation finished message ([#15577](https://github.com/RocketChat/Rocket.Chat/pull/15577)) + - close emoji box using Keyboard Escape key ([#13956](https://github.com/RocketChat/Rocket.Chat/pull/13956) by [@mohamedar97](https://github.com/mohamedar97)) + - Update livechat widget version to 1.2.5 ([#15600](https://github.com/RocketChat/Rocket.Chat/pull/15600)) + - Import DMs from CSV files ([#15534](https://github.com/RocketChat/Rocket.Chat/pull/15534)) ### ๐Ÿš€ Improvements + - Replace livechat:integration publication by REST ([#15607](https://github.com/RocketChat/Rocket.Chat/pull/15607)) + - Replace livechat:appearance pub to REST ([#15510](https://github.com/RocketChat/Rocket.Chat/pull/15510)) + - Cache hasPermissions ([#15589](https://github.com/RocketChat/Rocket.Chat/pull/15589)) + - Disable edit visitor's phone number in SMS conversations ([#15593](https://github.com/RocketChat/Rocket.Chat/pull/15593)) + - Lazyload Katex Package ([#15398](https://github.com/RocketChat/Rocket.Chat/pull/15398)) + - Replace `livechat:triggers` publication by REST calls ([#15507](https://github.com/RocketChat/Rocket.Chat/pull/15507)) + - Replace roomFilesWithSearchText subscription ([#15550](https://github.com/RocketChat/Rocket.Chat/pull/15550)) + - Replace starred messages subscription ([#15548](https://github.com/RocketChat/Rocket.Chat/pull/15548)) + - Replace some livechat:rooms subscriptions ([#15532](https://github.com/RocketChat/Rocket.Chat/pull/15532)) + - Replace pinned messages subscription ([#15544](https://github.com/RocketChat/Rocket.Chat/pull/15544)) + - Replace mentionedMessages publication to REST ([#15540](https://github.com/RocketChat/Rocket.Chat/pull/15540)) + - Detach React components from Meteor API ([#15482](https://github.com/RocketChat/Rocket.Chat/pull/15482)) + - Replace livechat:agents pub by REST calls ([#15490](https://github.com/RocketChat/Rocket.Chat/pull/15490)) + - Replace `livechat:departments` publication by REST Calls ([#15478](https://github.com/RocketChat/Rocket.Chat/pull/15478)) + - Secure cookies when using HTTPS connection ([#15500](https://github.com/RocketChat/Rocket.Chat/pull/15500)) + - Update Fuselage components on SetupWizard ([#15457](https://github.com/RocketChat/Rocket.Chat/pull/15457)) ### ๐Ÿ› Bug fixes + - Issues saving audio notifications ([#15428](https://github.com/RocketChat/Rocket.Chat/pull/15428) by [@scrivna](https://github.com/scrivna)) + - Fix a typo on Alpha API `e2e.setUserPublicAndPivateKeys` renaming to `e2e.setUserPublicAndPrivateKeys` ([#13334](https://github.com/RocketChat/Rocket.Chat/pull/13334)) + - Showing announcement back ([#15615](https://github.com/RocketChat/Rocket.Chat/pull/15615)) + - adjustments for tooltips to show room name instead of id ([#14084](https://github.com/RocketChat/Rocket.Chat/pull/14084) by [@mohamedar97](https://github.com/mohamedar97)) + - Deny editing visitor's phone number in SMS conversations ([#15602](https://github.com/RocketChat/Rocket.Chat/pull/15602)) + - Incorrect display of the button "Invite users" ([#15594](https://github.com/RocketChat/Rocket.Chat/pull/15594)) + - Compact view ([#15416](https://github.com/RocketChat/Rocket.Chat/pull/15416)) + - leak on stdout listeners ([#15586](https://github.com/RocketChat/Rocket.Chat/pull/15586)) + - Self-XSS in validation functionality ([#15564](https://github.com/RocketChat/Rocket.Chat/pull/15564)) + - Registration/login page now mobile friendly (#15422) ([#15520](https://github.com/RocketChat/Rocket.Chat/pull/15520) by [@nstseek](https://github.com/nstseek)) + - Update apps engine rooms converter to use transformMappedData ([#15546](https://github.com/RocketChat/Rocket.Chat/pull/15546)) + - Missing ending slash on publicFilePath of fileUpload ([#15506](https://github.com/RocketChat/Rocket.Chat/pull/15506)) + - Japanese translation for run import ([#15515](https://github.com/RocketChat/Rocket.Chat/pull/15515) by [@yusukeh0710](https://github.com/yusukeh0710)) + - Add a header for the createAt column in the Directory ([#15556](https://github.com/RocketChat/Rocket.Chat/pull/15556) by [@antkaz](https://github.com/antkaz)) + - Method saveUser is not using password policy ([#15445](https://github.com/RocketChat/Rocket.Chat/pull/15445)) + - Add permissions for slashCommands ([#15525](https://github.com/RocketChat/Rocket.Chat/pull/15525) by [@antkaz](https://github.com/antkaz)) + - Typo in autotranslate method ([#15344](https://github.com/RocketChat/Rocket.Chat/pull/15344) by [@Montel](https://github.com/Montel)) + - Adding "Promise.await" in "livechat/message" endpoint ([#15541](https://github.com/RocketChat/Rocket.Chat/pull/15541) by [@rodrigokamada](https://github.com/rodrigokamada)) + - Reset password was allowing empty values leading to an impossibility to login ([#15444](https://github.com/RocketChat/Rocket.Chat/pull/15444)) + - Emoji are rendered in URL ([#15516](https://github.com/RocketChat/Rocket.Chat/pull/15516) by [@oguhpereira](https://github.com/oguhpereira)) + - Promise await for sendMessage in livechat/messages endpoint ([#15460](https://github.com/RocketChat/Rocket.Chat/pull/15460) by [@hmagarotto](https://github.com/hmagarotto)) + - Exposing some fields on server logs at debug level ([#15514](https://github.com/RocketChat/Rocket.Chat/pull/15514))
๐Ÿ” Minor changes + - Merge master into develop & Set version to 2.2.0-develop ([#15622](https://github.com/RocketChat/Rocket.Chat/pull/15622)) + - [FEATURE] Rest API upload file returns message object ([#13821](https://github.com/RocketChat/Rocket.Chat/pull/13821) by [@knrt10](https://github.com/knrt10)) + - New: Add dev dependency david badge to README ([#9058](https://github.com/RocketChat/Rocket.Chat/pull/9058) by [@robbyoconnor](https://github.com/robbyoconnor)) + - Regression: add stdout publication back ([#15614](https://github.com/RocketChat/Rocket.Chat/pull/15614)) + - Livechat Issues ([#15473](https://github.com/RocketChat/Rocket.Chat/pull/15473)) + - Regression: Fix broken message formatting box ([#15599](https://github.com/RocketChat/Rocket.Chat/pull/15599)) + - [CHORE] Update latest Livechat widget version to 1.2.4 ([#15596](https://github.com/RocketChat/Rocket.Chat/pull/15596)) + - Remove unneeded nginx file ([#15483](https://github.com/RocketChat/Rocket.Chat/pull/15483)) + - [REGRESSION] Fix remove department from list ([#15591](https://github.com/RocketChat/Rocket.Chat/pull/15591)) + - [CHORE] Update latest Livechat widget version to 1.2.2 ([#15592](https://github.com/RocketChat/Rocket.Chat/pull/15592)) + - Revert fix package-lock.json ([#15563](https://github.com/RocketChat/Rocket.Chat/pull/15563)) + - Regression: Fix package-lock.json ([#15561](https://github.com/RocketChat/Rocket.Chat/pull/15561)) + - [CHORE] Split logger classes to avoid cyclic dependencies ([#15559](https://github.com/RocketChat/Rocket.Chat/pull/15559)) + - docs: remove rocket chat launcher link ([#15477](https://github.com/RocketChat/Rocket.Chat/pull/15477) by [@RafaelGSS](https://github.com/RafaelGSS)) + - [CHORE] remove 'bulk-create-c' permission ([#15517](https://github.com/RocketChat/Rocket.Chat/pull/15517) by [@antkaz](https://github.com/antkaz)) + - Reply HTTP requests with `X-XSS-Protection: 1` header ([#15498](https://github.com/RocketChat/Rocket.Chat/pull/15498)) + - Updating license term ([#15476](https://github.com/RocketChat/Rocket.Chat/pull/15476)) + - LingoHub based on develop ([#15487](https://github.com/RocketChat/Rocket.Chat/pull/15487)) + - Merge master into develop & Set version to 2.2.0-develop ([#15469](https://github.com/RocketChat/Rocket.Chat/pull/15469)) + - Regression: hasPermission ignoring subscription roles ([#15652](https://github.com/RocketChat/Rocket.Chat/pull/15652)) + - Regression: AppRoomsConverter on Livechat rooms ([#15646](https://github.com/RocketChat/Rocket.Chat/pull/15646)) + - Regression: fix unknown role breaking hasPermission ([#15641](https://github.com/RocketChat/Rocket.Chat/pull/15641)) + - Regression: Move import to avoid circular dependencies ([#15628](https://github.com/RocketChat/Rocket.Chat/pull/15628)) + - Chore: Add Client Setup Information to Issue Template ([#15625](https://github.com/RocketChat/Rocket.Chat/pull/15625)) + - Move publication deprecation warnings ([#15676](https://github.com/RocketChat/Rocket.Chat/pull/15676)) + - Regression: Remove reference to obsolete template helper ([#15675](https://github.com/RocketChat/Rocket.Chat/pull/15675)) + - Merge master into develop ([#15680](https://github.com/RocketChat/Rocket.Chat/pull/15680) by [@knrt10](https://github.com/knrt10))
@@ -1011,13 +1428,17 @@ ### ๐Ÿ› Bug fixes + - Read Receipts were not working properly with subscriptions without ls ([#15656](https://github.com/RocketChat/Rocket.Chat/pull/15656)) + - Exception when sending email of messages attachments undefined ([#15657](https://github.com/RocketChat/Rocket.Chat/pull/15657)) + - Channel Announcements not working ([#14635](https://github.com/RocketChat/Rocket.Chat/pull/14635) by [@knrt10](https://github.com/knrt10))
๐Ÿ” Minor changes + - Release 2.1.2 ([#15667](https://github.com/RocketChat/Rocket.Chat/pull/15667) by [@knrt10](https://github.com/knrt10))
@@ -1042,7 +1463,9 @@ ### ๐Ÿ› Bug fixes + - Read Recepts was not working ([#15603](https://github.com/RocketChat/Rocket.Chat/pull/15603)) + - Dynamic import of JS files were not working correctly ([#15598](https://github.com/RocketChat/Rocket.Chat/pull/15598)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -1060,88 +1483,158 @@ ### โš ๏ธ BREAKING CHANGES + - Deprecate old CORS API access for Cordova mobile app ([#15322](https://github.com/RocketChat/Rocket.Chat/pull/15322)) ### ๐ŸŽ‰ New features + - Apps engine Livechat ([#14626](https://github.com/RocketChat/Rocket.Chat/pull/14626)) + - Livechat setting to show/hide Agent Information on the widget ([#15216](https://github.com/RocketChat/Rocket.Chat/pull/15216)) + - SAML User Data Mapping ([#15404](https://github.com/RocketChat/Rocket.Chat/pull/15404)) + - Add ability to disable email notifications globally ([#9667](https://github.com/RocketChat/Rocket.Chat/pull/9667) by [@ferdifly](https://github.com/ferdifly)) + - Validate NotBefore and NotOnOrAfter SAML assertions ([#15226](https://github.com/RocketChat/Rocket.Chat/pull/15226)) + - Setting to configure SAML context comparison ([#15229](https://github.com/RocketChat/Rocket.Chat/pull/15229)) + - Expand SAML Users Role Settings ([#15277](https://github.com/RocketChat/Rocket.Chat/pull/15277) by [@Hudell](https://github.com/Hudell)) + - Guess a user's name from SAML credentials ([#15240](https://github.com/RocketChat/Rocket.Chat/pull/15240) by [@mrsimpson](https://github.com/mrsimpson)) + - Setting to remove message contents from email notifications ([#15406](https://github.com/RocketChat/Rocket.Chat/pull/15406)) + - Add JWT to uploaded files urls ([#15297](https://github.com/RocketChat/Rocket.Chat/pull/15297)) + - Provide site-url to outgoing integrations ([#15238](https://github.com/RocketChat/Rocket.Chat/pull/15238) by [@mrsimpson](https://github.com/mrsimpson)) + - Only Load CodeMirror code when it is needed ([#15351](https://github.com/RocketChat/Rocket.Chat/pull/15351)) + - Allow file sharing through Twilio(WhatsApp) integration ([#15415](https://github.com/RocketChat/Rocket.Chat/pull/15415)) ### ๐Ÿš€ Improvements + - Change default user's preference for notifications to 'All messages' ([#15420](https://github.com/RocketChat/Rocket.Chat/pull/15420)) + - Remove global Blaze helpers ([#15414](https://github.com/RocketChat/Rocket.Chat/pull/15414)) + - User data export ([#15294](https://github.com/RocketChat/Rocket.Chat/pull/15294) by [@Hudell](https://github.com/Hudell)) + - A11y: Buttons, Images, Popups ([#15405](https://github.com/RocketChat/Rocket.Chat/pull/15405)) + - Administration UI ([#15401](https://github.com/RocketChat/Rocket.Chat/pull/15401)) + - Make the agents field optional when updating Livechat departments ([#15400](https://github.com/RocketChat/Rocket.Chat/pull/15400)) + - Replace LESS autoprefixer plugin ([#15260](https://github.com/RocketChat/Rocket.Chat/pull/15260)) + - Add missing indices used by read receipts ([#15316](https://github.com/RocketChat/Rocket.Chat/pull/15316)) + - Add possibility of renaming a discussion ([#15122](https://github.com/RocketChat/Rocket.Chat/pull/15122)) + - AvatarBlockUnauthenticatedAccess do not call user.find if you dont have to ([#15355](https://github.com/RocketChat/Rocket.Chat/pull/15355)) + - improve autolinker flow ([#15340](https://github.com/RocketChat/Rocket.Chat/pull/15340)) + - Add CustomSounds.play() helper ([#15256](https://github.com/RocketChat/Rocket.Chat/pull/15256)) ### ๐Ÿ› Bug fixes + - Delivering real-time messages to users that left a room ([#15389](https://github.com/RocketChat/Rocket.Chat/pull/15389)) + - Federation messages notifications ([#15418](https://github.com/RocketChat/Rocket.Chat/pull/15418)) + - Property "permission" in slash commands of custom apps (#14739) ([#14741](https://github.com/RocketChat/Rocket.Chat/pull/14741) by [@ifantom](https://github.com/ifantom)) + - Notify admin was generating errors when Rocket.Cat user was edited or deleted ([#15387](https://github.com/RocketChat/Rocket.Chat/pull/15387)) + - Fix file uploads JWT ([#15412](https://github.com/RocketChat/Rocket.Chat/pull/15412)) + - Double send bug on message box ([#15409](https://github.com/RocketChat/Rocket.Chat/pull/15409)) + - Prune messages by cron if room not updated ([#15252](https://github.com/RocketChat/Rocket.Chat/pull/15252)) + - Subscription record not having the `ls` field ([#14544](https://github.com/RocketChat/Rocket.Chat/pull/14544)) + - CAS users can take control of Rocket.Chat accounts ([#15346](https://github.com/RocketChat/Rocket.Chat/pull/15346)) + - Add ENV VAR to enable users create token feature ([#15334](https://github.com/RocketChat/Rocket.Chat/pull/15334)) + - REST API to return only public custom fields ([#15292](https://github.com/RocketChat/Rocket.Chat/pull/15292)) + - REST endpoint `users.setPreferences` to not override all user's preferences ([#15288](https://github.com/RocketChat/Rocket.Chat/pull/15288)) + - LDAP usernames get additional '.' if they contain numbers ([#14644](https://github.com/RocketChat/Rocket.Chat/pull/14644) by [@Hudell](https://github.com/Hudell)) + - Don't allow email violating whitelist addresses ([#15339](https://github.com/RocketChat/Rocket.Chat/pull/15339)) + - Limit exposed fields on some users. endpoints ([#15327](https://github.com/RocketChat/Rocket.Chat/pull/15327)) + - Empty custom emojis on emoji picker ([#15392](https://github.com/RocketChat/Rocket.Chat/pull/15392)) + - User Profile Time Format ([#15385](https://github.com/RocketChat/Rocket.Chat/pull/15385)) + - Grammatical error in Not Found page ([#15382](https://github.com/RocketChat/Rocket.Chat/pull/15382)) + - Set the DEFAULT_ECDH_CURVE to auto (#15245) ([#15365](https://github.com/RocketChat/Rocket.Chat/pull/15365) by [@dlundgren](https://github.com/dlundgren)) + - Message box not centered ([#15367](https://github.com/RocketChat/Rocket.Chat/pull/15367)) + - Duplicate Channels in Search-bar ([#15056](https://github.com/RocketChat/Rocket.Chat/pull/15056)) + - Reduce Message cache time to 500ms ([#15295](https://github.com/RocketChat/Rocket.Chat/pull/15295) by [@vickyokrm](https://github.com/vickyokrm))
๐Ÿ” Minor changes + - Regression: Prevent parsing empty custom field setting ([#15413](https://github.com/RocketChat/Rocket.Chat/pull/15413)) + - Use version 2 of the DeepL API ([#15364](https://github.com/RocketChat/Rocket.Chat/pull/15364) by [@vickyokrm](https://github.com/vickyokrm)) + - Remove GraphQL dependencies left ([#15356](https://github.com/RocketChat/Rocket.Chat/pull/15356)) + - [Fix] Missing space between last username & 'and' word in react notification ([#15384](https://github.com/RocketChat/Rocket.Chat/pull/15384) by [@zdumitru](https://github.com/zdumitru)) + - Add a missing 'Discussion' translation key ([#14029](https://github.com/RocketChat/Rocket.Chat/pull/14029) by [@ura14h](https://github.com/ura14h)) + - Improve Polish translation ([#14060](https://github.com/RocketChat/Rocket.Chat/pull/14060) by [@stepek](https://github.com/stepek)) + - Regression: Messagebox height changing when typing ([#15380](https://github.com/RocketChat/Rocket.Chat/pull/15380)) + - LingoHub based on develop ([#15377](https://github.com/RocketChat/Rocket.Chat/pull/15377)) + - Regression: Fix DDP metrics ([#15368](https://github.com/RocketChat/Rocket.Chat/pull/15368)) + - [CHORE] Move pathFor helper to templateHelpers directory ([#15255](https://github.com/RocketChat/Rocket.Chat/pull/15255)) + - Fix typo in LDAP User Search setting description ([#15228](https://github.com/RocketChat/Rocket.Chat/pull/15228)) + - Remove log ADMIN_PASS environment variable ([#15307](https://github.com/RocketChat/Rocket.Chat/pull/15307)) + - Improve text of the search bar description ([#15353](https://github.com/RocketChat/Rocket.Chat/pull/15353)) + - [CHORE] Remove obsolete modal template ([#15257](https://github.com/RocketChat/Rocket.Chat/pull/15257)) + - Update Meteor to 1.8.1 ([#15358](https://github.com/RocketChat/Rocket.Chat/pull/15358)) + - Merge master into develop & Set version to 2.1.0-develop ([#15357](https://github.com/RocketChat/Rocket.Chat/pull/15357)) + - Regression: Fix invalid version string error on marketplace screen ([#15437](https://github.com/RocketChat/Rocket.Chat/pull/15437)) + - Regression: Fix Commit Section when there is no commit info ([#15436](https://github.com/RocketChat/Rocket.Chat/pull/15436)) + - Regression: setup wizard dynamic import using relative url ([#15432](https://github.com/RocketChat/Rocket.Chat/pull/15432)) + - Regression: Favorite room button ([#15426](https://github.com/RocketChat/Rocket.Chat/pull/15426)) + - Regression: API CORS not working after Cordova being disabled by default ([#15443](https://github.com/RocketChat/Rocket.Chat/pull/15443)) + - Update Apps-Engine version to final version ([#15458](https://github.com/RocketChat/Rocket.Chat/pull/15458))
@@ -1190,97 +1683,176 @@ ### โš ๏ธ BREAKING CHANGES + - Federation refactor with addition of chained events ([#15206](https://github.com/RocketChat/Rocket.Chat/pull/15206)) + - Remove support of MongoDB 3.2 and deprecate MongoDB 3.4 ([#15199](https://github.com/RocketChat/Rocket.Chat/pull/15199)) + - Remove GraphQL and grant packages ([#15192](https://github.com/RocketChat/Rocket.Chat/pull/15192)) + - Remove publication `roomSubscriptionsByRole` ([#15193](https://github.com/RocketChat/Rocket.Chat/pull/15193)) + - Remove publication `usersInRole` ([#15194](https://github.com/RocketChat/Rocket.Chat/pull/15194)) + - Remove old livechat client ([#15133](https://github.com/RocketChat/Rocket.Chat/pull/15133)) + - Replace tap:i18n to add support to 3-digit locales ([#15109](https://github.com/RocketChat/Rocket.Chat/pull/15109)) ### ๐ŸŽ‰ New features + - Custom message popups ([#15117](https://github.com/RocketChat/Rocket.Chat/pull/15117) by [@Hudell](https://github.com/Hudell)) + - Options for SAML auth for individual organizations needs ([#14275](https://github.com/RocketChat/Rocket.Chat/pull/14275) by [@Deltachaos](https://github.com/Deltachaos) & [@Hudell](https://github.com/Hudell)) + - Assume that Rocket.Chat runs behind one proxy by default (HTTP_FORWARDED_COUNT=1) ([#15214](https://github.com/RocketChat/Rocket.Chat/pull/15214)) + - LDAP User Groups, Roles, and Channel Synchronization ([#14278](https://github.com/RocketChat/Rocket.Chat/pull/14278) by [@Hudell](https://github.com/Hudell) & [@wreiske](https://github.com/wreiske)) + - Setup Wizard and Page not found, using React components ([#15204](https://github.com/RocketChat/Rocket.Chat/pull/15204)) + - Add Mobex to the list of SMS service providers ([#14655](https://github.com/RocketChat/Rocket.Chat/pull/14655) by [@zolbayars](https://github.com/zolbayars)) + - Support multiple push gateways ([#14902](https://github.com/RocketChat/Rocket.Chat/pull/14902) by [@cardoso](https://github.com/cardoso)) + - Rest API Endpoint to get pinned messages from a room ([#13864](https://github.com/RocketChat/Rocket.Chat/pull/13864) by [@thayannevls](https://github.com/thayannevls)) + - Granular permissions for settings ([#8942](https://github.com/RocketChat/Rocket.Chat/pull/8942) by [@mrsimpson](https://github.com/mrsimpson)) + - Add autotranslate Rest endpoints ([#14885](https://github.com/RocketChat/Rocket.Chat/pull/14885)) + - Option to hide the button of Custom OAuth on login screen ([#15053](https://github.com/RocketChat/Rocket.Chat/pull/15053)) + - Endpoint to fetch livechat rooms with several filters ([#15155](https://github.com/RocketChat/Rocket.Chat/pull/15155)) + - Integrate DEEPL translation service to RC core ([#12174](https://github.com/RocketChat/Rocket.Chat/pull/12174) by [@mrsimpson](https://github.com/mrsimpson) & [@vickyokrm](https://github.com/vickyokrm)) + - Jitsi meet room access via a token ([#12259](https://github.com/RocketChat/Rocket.Chat/pull/12259) by [@rrzharikov](https://github.com/rrzharikov)) ### ๐Ÿš€ Improvements + - Livechat User Management Improvements ([#14736](https://github.com/RocketChat/Rocket.Chat/pull/14736) by [@Hudell](https://github.com/Hudell)) + - Refactoring the queuing and routing processes of new livechats ([#15003](https://github.com/RocketChat/Rocket.Chat/pull/15003)) + - Add limit of 50 user's resume tokens ([#15102](https://github.com/RocketChat/Rocket.Chat/pull/15102)) + - Add asset extension validation ([#15088](https://github.com/RocketChat/Rocket.Chat/pull/15088)) + - Add possibility to use commands inside threads through Rest API ([#15167](https://github.com/RocketChat/Rocket.Chat/pull/15167)) + - Message tooltips as everyone else ([#15135](https://github.com/RocketChat/Rocket.Chat/pull/15135)) ### ๐Ÿ› Bug fixes + - Webdav crash ([#14918](https://github.com/RocketChat/Rocket.Chat/pull/14918)) + - Mark room as read logic ([#15174](https://github.com/RocketChat/Rocket.Chat/pull/15174)) + - Forget user session on window close ([#15205](https://github.com/RocketChat/Rocket.Chat/pull/15205)) + - Search message wrongly grouping messages ([#15094](https://github.com/RocketChat/Rocket.Chat/pull/15094)) + - Rate limit incoming integrations (webhooks) ([#15038](https://github.com/RocketChat/Rocket.Chat/pull/15038) by [@mrsimpson](https://github.com/mrsimpson)) + - User's auto complete showing everyone on the server ([#15212](https://github.com/RocketChat/Rocket.Chat/pull/15212)) + - "Discussion" label in Sidebar not hidden, when Discussions are disabled (#14660) ([#14682](https://github.com/RocketChat/Rocket.Chat/pull/14682) by [@ifantom](https://github.com/ifantom)) + - Typo in 'access-permissions_description' ja translation ([#15162](https://github.com/RocketChat/Rocket.Chat/pull/15162) by [@NatsumiKubo](https://github.com/NatsumiKubo)) + - IE11 modal, menu action and edit user page ([#15201](https://github.com/RocketChat/Rocket.Chat/pull/15201)) + - TabBar not loading template titles ([#15177](https://github.com/RocketChat/Rocket.Chat/pull/15177) by [@Hudell](https://github.com/Hudell)) + - Threads contextual bar button visible even with threads disabled ([#14956](https://github.com/RocketChat/Rocket.Chat/pull/14956) by [@cesarmal](https://github.com/cesarmal)) + - Prevent to create discussion with empty name ([#14507](https://github.com/RocketChat/Rocket.Chat/pull/14507)) + - Remove new hidden file and fix for .env files for Snap ([#15120](https://github.com/RocketChat/Rocket.Chat/pull/15120)) + - cachedcollection calling multiple times SYNC ([#15104](https://github.com/RocketChat/Rocket.Chat/pull/15104)) + - Redirect on app manual install ([#15306](https://github.com/RocketChat/Rocket.Chat/pull/15306)) + - IE11 baseURI ([#15319](https://github.com/RocketChat/Rocket.Chat/pull/15319))
๐Ÿ” Minor changes + - LingoHub based on develop ([#15218](https://github.com/RocketChat/Rocket.Chat/pull/15218)) + - Regression: fix typo permisson to permission ([#15217](https://github.com/RocketChat/Rocket.Chat/pull/15217)) + - NEW: Apps enable after app installed ([#15202](https://github.com/RocketChat/Rocket.Chat/pull/15202)) + - Change notifications file imports to server ([#15184](https://github.com/RocketChat/Rocket.Chat/pull/15184)) + - Update Livechat to 1.1.6 ([#15186](https://github.com/RocketChat/Rocket.Chat/pull/15186)) + - Regression: remove livechat cache from circle ci ([#15183](https://github.com/RocketChat/Rocket.Chat/pull/15183)) + - Update presence package ([#15178](https://github.com/RocketChat/Rocket.Chat/pull/15178)) + - LingoHub based on develop ([#15166](https://github.com/RocketChat/Rocket.Chat/pull/15166)) + - Switch outdated roadmap to point to milestones ([#15156](https://github.com/RocketChat/Rocket.Chat/pull/15156)) + - Remove GPG file ([#15146](https://github.com/RocketChat/Rocket.Chat/pull/15146)) + - Add wreiske to authorized users in catbot ([#15147](https://github.com/RocketChat/Rocket.Chat/pull/15147)) + - Update to version 2.0.0-develop ([#15142](https://github.com/RocketChat/Rocket.Chat/pull/15142)) + - removed unwanted code ([#15078](https://github.com/RocketChat/Rocket.Chat/pull/15078) by [@httpsOmkar](https://github.com/httpsOmkar)) + - Update pt-BR.i18n.json ([#15083](https://github.com/RocketChat/Rocket.Chat/pull/15083) by [@lucassmacedo](https://github.com/lucassmacedo)) + - Regression: cachedCollection wrong callback parameters ([#15136](https://github.com/RocketChat/Rocket.Chat/pull/15136)) + - Allow file upload paths on attachments URLs ([#15121](https://github.com/RocketChat/Rocket.Chat/pull/15121)) + - Fix automated test for manual user activation ([#14978](https://github.com/RocketChat/Rocket.Chat/pull/14978) by [@mrsimpson](https://github.com/mrsimpson)) + - Add new step to build Docker image from PRs for production again ([#15124](https://github.com/RocketChat/Rocket.Chat/pull/15124)) + - LingoHub based on develop ([#15115](https://github.com/RocketChat/Rocket.Chat/pull/15115)) + - Improve url validation inside message object ([#15074](https://github.com/RocketChat/Rocket.Chat/pull/15074)) + - Merge master into develop & Set version to 1.4.0-develop ([#15097](https://github.com/RocketChat/Rocket.Chat/pull/15097)) + - Federation improvements ([#15234](https://github.com/RocketChat/Rocket.Chat/pull/15234)) + - Regression: Fix assets extension detection ([#15231](https://github.com/RocketChat/Rocket.Chat/pull/15231)) + - Regression: Double error toast on Setup Wizard ([#15268](https://github.com/RocketChat/Rocket.Chat/pull/15268)) + - Regression: addPermissionToRole argument as string ([#15267](https://github.com/RocketChat/Rocket.Chat/pull/15267)) + - Regression: Remove old scripts of Setup Wizard ([#15263](https://github.com/RocketChat/Rocket.Chat/pull/15263)) + - Fix get IP for rate limiter ([#15262](https://github.com/RocketChat/Rocket.Chat/pull/15262)) + - Add oplog events metrics ([#15249](https://github.com/RocketChat/Rocket.Chat/pull/15249)) + - Regression: last message doesn't update after reconnect ([#15329](https://github.com/RocketChat/Rocket.Chat/pull/15329)) + - Regression: New Livechat methods and processes ([#15242](https://github.com/RocketChat/Rocket.Chat/pull/15242)) + - Regression: Remove duplicated permission changes emitter ([#15321](https://github.com/RocketChat/Rocket.Chat/pull/15321)) + - Regression: Errors on the console preventing some settings to be saved ([#15310](https://github.com/RocketChat/Rocket.Chat/pull/15310)) + - Fix v148 migration ([#15285](https://github.com/RocketChat/Rocket.Chat/pull/15285)) + - Fix apps list error ([#15258](https://github.com/RocketChat/Rocket.Chat/pull/15258)) + - Federation migration and additional improvements ([#15336](https://github.com/RocketChat/Rocket.Chat/pull/15336)) + - Regression: Fix wrong import and minor code improvements ([#15352](https://github.com/RocketChat/Rocket.Chat/pull/15352))
@@ -1327,7 +1899,9 @@ ### ๐Ÿ› Bug fixes + - Markdown link parser ([#15794](https://github.com/RocketChat/Rocket.Chat/pull/15794)) + - Updating an app via "Update" button errors out with "App already exists" ([#15814](https://github.com/RocketChat/Rocket.Chat/pull/15814)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -1345,15 +1919,21 @@ ### ๐Ÿ› Bug fixes + - Attachment download button behavior ([#15172](https://github.com/RocketChat/Rocket.Chat/pull/15172)) + - Messages search scroll ([#15175](https://github.com/RocketChat/Rocket.Chat/pull/15175)) + - IE11 - callback createTreeWalker doesnt accept acceptNode ([#15157](https://github.com/RocketChat/Rocket.Chat/pull/15157))
๐Ÿ” Minor changes + - Release 1.3.2 ([#15176](https://github.com/RocketChat/Rocket.Chat/pull/15176)) + - Update latest Livechat widget version to 1.1.4 ([#15173](https://github.com/RocketChat/Rocket.Chat/pull/15173)) + - Update latest Livechat widget version(1.1.3) ([#15154](https://github.com/RocketChat/Rocket.Chat/pull/15154))
@@ -1375,12 +1955,15 @@ ### ๐Ÿ› Bug fixes + - Custom emoji table scroll ([#15119](https://github.com/RocketChat/Rocket.Chat/pull/15119)) + - Direct Message names not visible on Admin panel ([#15114](https://github.com/RocketChat/Rocket.Chat/pull/15114))
๐Ÿ” Minor changes + - Release 1.3.1 ([#15148](https://github.com/RocketChat/Rocket.Chat/pull/15148))
@@ -1401,92 +1984,169 @@ ### ๐ŸŽ‰ New features + - Show helpful error when oplog is missing ([#14954](https://github.com/RocketChat/Rocket.Chat/pull/14954) by [@justinr1234](https://github.com/justinr1234)) + - Subscription enabled marketplace ([#14948](https://github.com/RocketChat/Rocket.Chat/pull/14948)) + - Deprecate MongoDB version 3.2 ([#15025](https://github.com/RocketChat/Rocket.Chat/pull/15025)) + - Options to filter discussion and livechat on Admin > Rooms ([#15019](https://github.com/RocketChat/Rocket.Chat/pull/15019)) + - Settings to further customize GitLab OAuth ([#15014](https://github.com/RocketChat/Rocket.Chat/pull/15014) by [@Hudell](https://github.com/Hudell)) + - Accept multiple redirect URIs on OAuth Apps ([#14935](https://github.com/RocketChat/Rocket.Chat/pull/14935) by [@Hudell](https://github.com/Hudell)) + - Setting to configure custom authn context on SAML requests ([#14675](https://github.com/RocketChat/Rocket.Chat/pull/14675) by [@Hudell](https://github.com/Hudell)) + - Webdav File Picker ([#14879](https://github.com/RocketChat/Rocket.Chat/pull/14879) by [@ubarsaiyan](https://github.com/ubarsaiyan)) + - Setting to prevent Livechat agents online when Office Hours are closed ([#14921](https://github.com/RocketChat/Rocket.Chat/pull/14921)) ### ๐Ÿš€ Improvements + - Connectivity Services License Sync ([#15022](https://github.com/RocketChat/Rocket.Chat/pull/15022)) + - Add flag to identify remote federation users ([#15004](https://github.com/RocketChat/Rocket.Chat/pull/15004)) + - Extract federation config to its own file ([#14992](https://github.com/RocketChat/Rocket.Chat/pull/14992)) + - Update tabs markup ([#14964](https://github.com/RocketChat/Rocket.Chat/pull/14964)) + - Remove too specific helpers isFirefox() and isChrome() ([#14963](https://github.com/RocketChat/Rocket.Chat/pull/14963)) + - Add descriptions on user data download buttons and popup info ([#14852](https://github.com/RocketChat/Rocket.Chat/pull/14852)) ### ๐Ÿ› Bug fixes + - Russian grammatical errors ([#14622](https://github.com/RocketChat/Rocket.Chat/pull/14622) by [@BehindLoader](https://github.com/BehindLoader)) + - Message attachments not allowing float numbers ([#14412](https://github.com/RocketChat/Rocket.Chat/pull/14412)) + - Typo in german translation ([#14833](https://github.com/RocketChat/Rocket.Chat/pull/14833) by [@Le-onardo](https://github.com/Le-onardo)) + - users.setStatus REST endpoint not allowing reset status message ([#14916](https://github.com/RocketChat/Rocket.Chat/pull/14916) by [@cardoso](https://github.com/cardoso)) + - SVG uploads crashing process ([#15006](https://github.com/RocketChat/Rocket.Chat/pull/15006) by [@snoopotic](https://github.com/snoopotic)) + - Edit message with arrow up key if not last message ([#15021](https://github.com/RocketChat/Rocket.Chat/pull/15021)) + - Livechat dashboard average and reaction time labels ([#14845](https://github.com/RocketChat/Rocket.Chat/pull/14845) by [@anandpathak](https://github.com/anandpathak)) + - Edit permissions screen ([#14950](https://github.com/RocketChat/Rocket.Chat/pull/14950)) + - Invite users auto complete cropping results ([#15020](https://github.com/RocketChat/Rocket.Chat/pull/15020)) + - Always displaying jumbomojis when using "marked" markdown ([#14861](https://github.com/RocketChat/Rocket.Chat/pull/14861) by [@brakhane](https://github.com/brakhane)) + - CustomOauth Identity Step errors displayed in HTML format ([#15000](https://github.com/RocketChat/Rocket.Chat/pull/15000) by [@Hudell](https://github.com/Hudell)) + - Custom User Status throttled by rate limiter ([#15001](https://github.com/RocketChat/Rocket.Chat/pull/15001) by [@Hudell](https://github.com/Hudell)) + - Not being able to mention users with "all" and "here" usernames - do not allow users register that usernames ([#14468](https://github.com/RocketChat/Rocket.Chat/pull/14468) by [@hamidrezabstn](https://github.com/hamidrezabstn)) + - Users staying online after logout ([#14966](https://github.com/RocketChat/Rocket.Chat/pull/14966)) + - Chrome doesn't load additional search results when bottom is reached ([#14965](https://github.com/RocketChat/Rocket.Chat/pull/14965)) + - Wrong label order on room settings ([#14960](https://github.com/RocketChat/Rocket.Chat/pull/14960) by [@Hudell](https://github.com/Hudell)) + - Allow storing the navigation history of unregistered Livechat visitors ([#14970](https://github.com/RocketChat/Rocket.Chat/pull/14970)) + - 50 custom emoji limit ([#14951](https://github.com/RocketChat/Rocket.Chat/pull/14951)) + - eternal loading file list ([#14952](https://github.com/RocketChat/Rocket.Chat/pull/14952)) + - load more messages ([#14967](https://github.com/RocketChat/Rocket.Chat/pull/14967)) + - Loading indicator positioning ([#14968](https://github.com/RocketChat/Rocket.Chat/pull/14968)) + - Jump to message missing in Starred Messages ([#14949](https://github.com/RocketChat/Rocket.Chat/pull/14949)) + - Method `getUsersOfRoom` not returning offline users if limit is not defined ([#14753](https://github.com/RocketChat/Rocket.Chat/pull/14753)) + - OTR key icon missing on messages ([#14953](https://github.com/RocketChat/Rocket.Chat/pull/14953)) + - Prevent error on trying insert message with duplicated id ([#14945](https://github.com/RocketChat/Rocket.Chat/pull/14945)) + - LDAP login with customField sync ([#14808](https://github.com/RocketChat/Rocket.Chat/pull/14808) by [@magicbelette](https://github.com/magicbelette)) + - Wrong custom status displayed on room leader panel ([#14958](https://github.com/RocketChat/Rocket.Chat/pull/14958) by [@Hudell](https://github.com/Hudell)) + - Video recorder message echo ([#14671](https://github.com/RocketChat/Rocket.Chat/pull/14671) by [@vova-zush](https://github.com/vova-zush)) + - Opening Livechat messages on mobile apps ([#14785](https://github.com/RocketChat/Rocket.Chat/pull/14785) by [@zolbayars](https://github.com/zolbayars)) + - SAML login by giving displayName priority over userName for fullName ([#14880](https://github.com/RocketChat/Rocket.Chat/pull/14880) by [@pkolmann](https://github.com/pkolmann)) + - setupWizard calling multiple getSetupWizardParameters ([#15060](https://github.com/RocketChat/Rocket.Chat/pull/15060))
๐Ÿ” Minor changes + - Wrong text when reporting a message ([#14515](https://github.com/RocketChat/Rocket.Chat/pull/14515) by [@zdumitru](https://github.com/zdumitru)) + - Add missing French translation ([#15013](https://github.com/RocketChat/Rocket.Chat/pull/15013) by [@commiaI](https://github.com/commiaI)) + - Fix statistics error for apps on first load ([#15026](https://github.com/RocketChat/Rocket.Chat/pull/15026)) + - Always convert the sha256 password to lowercase on checking ([#14941](https://github.com/RocketChat/Rocket.Chat/pull/14941)) + - New: Apps and integrations statistics ([#14878](https://github.com/RocketChat/Rocket.Chat/pull/14878)) + - improve: relocate some of wizard info to register ([#14884](https://github.com/RocketChat/Rocket.Chat/pull/14884)) + - Improve Docker compose readability ([#14457](https://github.com/RocketChat/Rocket.Chat/pull/14457) by [@NateScarlet](https://github.com/NateScarlet)) + - Bump marked from 0.5.2 to 0.6.1 ([#14969](https://github.com/RocketChat/Rocket.Chat/pull/14969) by [@dependabot[bot]](https://github.com/dependabot[bot])) + - Remove unused Meteor dependency (yasinuslu:blaze-meta) ([#14971](https://github.com/RocketChat/Rocket.Chat/pull/14971)) + - Bump photoswipe version to 4.1.3 ([#14977](https://github.com/RocketChat/Rocket.Chat/pull/14977)) + - Bump node-rsa version to 1.0.5 ([#14976](https://github.com/RocketChat/Rocket.Chat/pull/14976)) + - Bump juice version to 5.2.0 ([#14974](https://github.com/RocketChat/Rocket.Chat/pull/14974)) + - Remove unused dependency (lokijs) ([#14973](https://github.com/RocketChat/Rocket.Chat/pull/14973)) + - Regression: patch to improve emoji render ([#14980](https://github.com/RocketChat/Rocket.Chat/pull/14980)) + - [IMPROVEMENT] patch to improve emoji render ([#14722](https://github.com/RocketChat/Rocket.Chat/pull/14722)) + - Bump jquery from 3.3.1 to 3.4.0 in /packages/rocketchat-livechat/.app ([#14922](https://github.com/RocketChat/Rocket.Chat/pull/14922) by [@dependabot[bot]](https://github.com/dependabot[bot])) + - Callbacks perf ([#14915](https://github.com/RocketChat/Rocket.Chat/pull/14915)) + - Split oplog emitters in files ([#14917](https://github.com/RocketChat/Rocket.Chat/pull/14917)) + - Extract canSendMessage function ([#14909](https://github.com/RocketChat/Rocket.Chat/pull/14909)) + - Improve: Get public key for marketplace ([#14851](https://github.com/RocketChat/Rocket.Chat/pull/14851)) + - Merge master into develop & Set version to 1.3.0-develop ([#14889](https://github.com/RocketChat/Rocket.Chat/pull/14889) by [@Hudell](https://github.com/Hudell)) + - Regression: fix code style, setup wizard error and profile page header ([#15041](https://github.com/RocketChat/Rocket.Chat/pull/15041)) + - Regression: Framework version being attached to a request that doesn't require it ([#15039](https://github.com/RocketChat/Rocket.Chat/pull/15039)) + - Update Livechat widget ([#15046](https://github.com/RocketChat/Rocket.Chat/pull/15046)) + - Regression: getSetupWizardParameters ([#15067](https://github.com/RocketChat/Rocket.Chat/pull/15067)) + - Regression: Webdav File Picker search and fixed overflows ([#15027](https://github.com/RocketChat/Rocket.Chat/pull/15027) by [@ubarsaiyan](https://github.com/ubarsaiyan)) + - Regression: Improve apps bridges for HA setup ([#15080](https://github.com/RocketChat/Rocket.Chat/pull/15080)) + - Regression: displaying errors for apps not installed from Marketplace ([#15075](https://github.com/RocketChat/Rocket.Chat/pull/15075)) + - Regression: Marketplace app pricing plan description ([#15076](https://github.com/RocketChat/Rocket.Chat/pull/15076)) + - Regression: uninstall subscribed app modal ([#15077](https://github.com/RocketChat/Rocket.Chat/pull/15077)) + - Regression: Apps and Marketplace UI issues ([#15045](https://github.com/RocketChat/Rocket.Chat/pull/15045))
@@ -1552,11 +2212,13 @@ ### ๐Ÿ› Bug fixes + - Not showing local app on App Details ([#14894](https://github.com/RocketChat/Rocket.Chat/pull/14894))
๐Ÿ” Minor changes + - Release 1.2.1 ([#14898](https://github.com/RocketChat/Rocket.Chat/pull/14898))
@@ -1576,47 +2238,79 @@ ### ๐ŸŽ‰ New features + - Custom User Status ([#13933](https://github.com/RocketChat/Rocket.Chat/pull/13933) by [@Hudell](https://github.com/Hudell) & [@wreiske](https://github.com/wreiske)) + - changed mongo version for snap from 3.2.7 to 3.4.20 ([#14838](https://github.com/RocketChat/Rocket.Chat/pull/14838)) + - Add loading animation to webdav file picker ([#14759](https://github.com/RocketChat/Rocket.Chat/pull/14759) by [@ubarsaiyan](https://github.com/ubarsaiyan)) + - Add tmid property to outgoing integration ([#14699](https://github.com/RocketChat/Rocket.Chat/pull/14699)) + - Endpoint to anonymously read channel's messages ([#14714](https://github.com/RocketChat/Rocket.Chat/pull/14714) by [@PrajvalRaval](https://github.com/PrajvalRaval)) + - Add Livechat inquiries endpoints ([#14779](https://github.com/RocketChat/Rocket.Chat/pull/14779)) + - Configuration to limit amount of livechat inquiries displayed ([#14690](https://github.com/RocketChat/Rocket.Chat/pull/14690)) + - Show App bundles and its apps ([#14886](https://github.com/RocketChat/Rocket.Chat/pull/14886)) ### ๐Ÿš€ Improvements + - Adds link to download generated user data file ([#14175](https://github.com/RocketChat/Rocket.Chat/pull/14175) by [@Hudell](https://github.com/Hudell)) + - Layout of livechat manager pages to new style ([#13900](https://github.com/RocketChat/Rocket.Chat/pull/13900)) + - Add an optional rocketchat-protocol DNS entry for Federation ([#14589](https://github.com/RocketChat/Rocket.Chat/pull/14589)) + - Use configurable colors on sidebar items ([#14624](https://github.com/RocketChat/Rocket.Chat/pull/14624)) ### ๐Ÿ› Bug fixes + - Error when using Download My Data or Export My Data ([#14645](https://github.com/RocketChat/Rocket.Chat/pull/14645) by [@Hudell](https://github.com/Hudell)) + - Removes E2E action button, icon and banner when E2E is disabled. ([#14810](https://github.com/RocketChat/Rocket.Chat/pull/14810)) + - Assume microphone is available ([#14710](https://github.com/RocketChat/Rocket.Chat/pull/14710)) + - Move the set Avatar call on user creation to make sure the user has username ([#14665](https://github.com/RocketChat/Rocket.Chat/pull/14665)) + - users typing forever ([#14724](https://github.com/RocketChat/Rocket.Chat/pull/14724)) + - Increasing time to rate limit in shield.svg endpoint and add a setting to disable API rate limiter ([#14709](https://github.com/RocketChat/Rocket.Chat/pull/14709)) + - Wrong filter field when filtering current Livechats ([#14569](https://github.com/RocketChat/Rocket.Chat/pull/14569)) + - Import Chart.js error ([#14471](https://github.com/RocketChat/Rocket.Chat/pull/14471) by [@Hudell](https://github.com/Hudell) & [@sonbn0](https://github.com/sonbn0)) + - Name is undefined in some emails ([#14533](https://github.com/RocketChat/Rocket.Chat/pull/14533)) + - Direct reply delete config and description ([#14493](https://github.com/RocketChat/Rocket.Chat/pull/14493) by [@ruKurz](https://github.com/ruKurz)) + - Custom status fixes ([#14853](https://github.com/RocketChat/Rocket.Chat/pull/14853) by [@Hudell](https://github.com/Hudell) & [@wreiske](https://github.com/wreiske)) + - LinkedIn OAuth login ([#14887](https://github.com/RocketChat/Rocket.Chat/pull/14887) by [@Hudell](https://github.com/Hudell))
๐Ÿ” Minor changes + - Fix not fully extracted pieces ([#14805](https://github.com/RocketChat/Rocket.Chat/pull/14805)) + - Regression: Fix file upload ([#14804](https://github.com/RocketChat/Rocket.Chat/pull/14804)) + - Extract permissions functions ([#14777](https://github.com/RocketChat/Rocket.Chat/pull/14777)) + - Add custom fileupload whitelist property ([#14754](https://github.com/RocketChat/Rocket.Chat/pull/14754)) + - Merge master into develop & Set version to 1.2.0-develop ([#14656](https://github.com/RocketChat/Rocket.Chat/pull/14656) by [@AnBo83](https://github.com/AnBo83) & [@knrt10](https://github.com/knrt10) & [@mohamedar97](https://github.com/mohamedar97) & [@thaiphv](https://github.com/thaiphv)) + - Regression: Fix desktop notifications not being sent ([#14860](https://github.com/RocketChat/Rocket.Chat/pull/14860)) + - Regression: Allow debugging of cached collections by name ([#14862](https://github.com/RocketChat/Rocket.Chat/pull/14862)) + - Allow debugging of cached collections by name ([#14859](https://github.com/RocketChat/Rocket.Chat/pull/14859))
@@ -1674,12 +2368,15 @@ ### ๐Ÿ› Bug fixes + - Gap of messages when loading history when using threads ([#14837](https://github.com/RocketChat/Rocket.Chat/pull/14837))
๐Ÿ” Minor changes + - Release 1.1.3 ([#14850](https://github.com/RocketChat/Rocket.Chat/pull/14850)) + - Regression: thread loading parent msg if is not loaded ([#14839](https://github.com/RocketChat/Rocket.Chat/pull/14839))
@@ -1699,13 +2396,17 @@ ### ๐Ÿ› Bug fixes + - User status information on User Info panel ([#14763](https://github.com/RocketChat/Rocket.Chat/pull/14763)) + - User Real Name being erased when not modified ([#14711](https://github.com/RocketChat/Rocket.Chat/pull/14711) by [@Hudell](https://github.com/Hudell)) + - Anonymous chat read ([#14717](https://github.com/RocketChat/Rocket.Chat/pull/14717))
๐Ÿ” Minor changes + - Release 1.1.2 ([#14823](https://github.com/RocketChat/Rocket.Chat/pull/14823) by [@Hudell](https://github.com/Hudell))
@@ -1730,12 +2431,15 @@ ### ๐Ÿ› Bug fixes + - SAML login error. ([#14686](https://github.com/RocketChat/Rocket.Chat/pull/14686) by [@Hudell](https://github.com/Hudell)) + - Load messages after disconnect and message box scroll missing ([#14668](https://github.com/RocketChat/Rocket.Chat/pull/14668))
๐Ÿ” Minor changes + - Removing unnecesary federation configs ([#14674](https://github.com/RocketChat/Rocket.Chat/pull/14674))
@@ -1759,117 +2463,219 @@ ### ๐ŸŽ‰ New features + - Setting option to mark as containing a secret/password ([#10273](https://github.com/RocketChat/Rocket.Chat/pull/10273)) + - Custom user name field from Custom OAuth ([#14381](https://github.com/RocketChat/Rocket.Chat/pull/14381) by [@mjovanovic0](https://github.com/mjovanovic0)) + - Add pause and reset button when adding custom sound ([#13615](https://github.com/RocketChat/Rocket.Chat/pull/13615) by [@knrt10](https://github.com/knrt10)) + - Missing "view-outside-room_description" translation key ([#13680](https://github.com/RocketChat/Rocket.Chat/pull/13680) by [@bhardwajaditya](https://github.com/bhardwajaditya)) + - Returns custom emojis through the Livechat REST API ([#14370](https://github.com/RocketChat/Rocket.Chat/pull/14370)) ### ๐Ÿš€ Improvements + - Message rendering time ([#14252](https://github.com/RocketChat/Rocket.Chat/pull/14252)) + - Change user presence events to Meteor Streams ([#14488](https://github.com/RocketChat/Rocket.Chat/pull/14488)) + - Upgrade EmojiOne to JoyPixels 4.5.0 ([#13807](https://github.com/RocketChat/Rocket.Chat/pull/13807) by [@wreiske](https://github.com/wreiske)) + - Don't show unread count badge in burger menu if it is from the opened room ([#12971](https://github.com/RocketChat/Rocket.Chat/pull/12971)) + - Livechat CRM secret token optional ([#14022](https://github.com/RocketChat/Rocket.Chat/pull/14022)) + - jump to selected message on open thread ([#14460](https://github.com/RocketChat/Rocket.Chat/pull/14460)) + - Don't use regex to find users ([#14397](https://github.com/RocketChat/Rocket.Chat/pull/14397)) + - Added flag `skipActiveUsersToBeReady` to not wait the load of `active users` to present the Web interface ([#14431](https://github.com/RocketChat/Rocket.Chat/pull/14431)) + - SAML login process refactoring ([#12891](https://github.com/RocketChat/Rocket.Chat/pull/12891) by [@kukkjanos](https://github.com/kukkjanos)) + - Allow change Discussion's properties ([#14389](https://github.com/RocketChat/Rocket.Chat/pull/14389)) ### ๐Ÿ› Bug fixes + - Downloading files when running in sub directory ([#14485](https://github.com/RocketChat/Rocket.Chat/pull/14485) by [@miolane](https://github.com/miolane)) + - Broken layout when sidebar is open on IE/Edge ([#14567](https://github.com/RocketChat/Rocket.Chat/pull/14567)) + - Channel names on Directory got cut on small screens ([#14542](https://github.com/RocketChat/Rocket.Chat/pull/14542)) + - Duplicated link to jump to message ([#14505](https://github.com/RocketChat/Rocket.Chat/pull/14505)) + - Edit Message when down arrow is pressed. ([#14369](https://github.com/RocketChat/Rocket.Chat/pull/14369) by [@Kailash0311](https://github.com/Kailash0311)) + - Unread property of the room's lastMessage object was being wrong some times ([#13919](https://github.com/RocketChat/Rocket.Chat/pull/13919)) + - Multiple Slack Importer Bugs ([#12084](https://github.com/RocketChat/Rocket.Chat/pull/12084) by [@Hudell](https://github.com/Hudell)) + - No feedback when adding users that already exists in a room ([#14534](https://github.com/RocketChat/Rocket.Chat/pull/14534) by [@gsunit](https://github.com/gsunit)) + - Custom scripts descriptions were not clear enough ([#14516](https://github.com/RocketChat/Rocket.Chat/pull/14516)) + - Role `user` has being added after email verification even for non anonymous users ([#14263](https://github.com/RocketChat/Rocket.Chat/pull/14263)) + - Several problems with read-only rooms and muted users ([#11311](https://github.com/RocketChat/Rocket.Chat/pull/11311) by [@Hudell](https://github.com/Hudell)) + - Channel settings form to textarea for Topic and Description ([#13328](https://github.com/RocketChat/Rocket.Chat/pull/13328) by [@supra08](https://github.com/supra08)) + - Elements in User Info require some padding ([#13640](https://github.com/RocketChat/Rocket.Chat/pull/13640) by [@mushroomgenie](https://github.com/mushroomgenie)) + - Showing the id instead of the name of custom notification sound ([#13660](https://github.com/RocketChat/Rocket.Chat/pull/13660) by [@knrt10](https://github.com/knrt10)) + - Remove Livechat guest data was removing more rooms than expected ([#14509](https://github.com/RocketChat/Rocket.Chat/pull/14509)) + - Save custom emoji with special characters causes some errors ([#14456](https://github.com/RocketChat/Rocket.Chat/pull/14456)) + - Verify if the user is requesting your own information in users.info ([#14242](https://github.com/RocketChat/Rocket.Chat/pull/14242)) + - RocketChat client sending out video call requests unnecessarily ([#14496](https://github.com/RocketChat/Rocket.Chat/pull/14496)) + - `Alphabetical` translation in DE ([#14490](https://github.com/RocketChat/Rocket.Chat/pull/14490) by [@AnBo83](https://github.com/AnBo83)) + - Fix redirect to First channel after login ([#14434](https://github.com/RocketChat/Rocket.Chat/pull/14434)) + - Ignored messages ([#14465](https://github.com/RocketChat/Rocket.Chat/pull/14465)) + - Allow data URLs in isURL/getURL helpers ([#14464](https://github.com/RocketChat/Rocket.Chat/pull/14464)) + - You must join to view messages in this channel ([#14461](https://github.com/RocketChat/Rocket.Chat/pull/14461)) + - Channel Leader Bar is in the way of Thread Header ([#14443](https://github.com/RocketChat/Rocket.Chat/pull/14443)) + - Discussion name being invalid ([#14442](https://github.com/RocketChat/Rocket.Chat/pull/14442)) + - Room name was undefined in some info dialogs ([#14415](https://github.com/RocketChat/Rocket.Chat/pull/14415)) + - Exception on crowd sync due to a wrong logging method ([#14405](https://github.com/RocketChat/Rocket.Chat/pull/14405)) + - IE11 support ([#14422](https://github.com/RocketChat/Rocket.Chat/pull/14422)) + - Escape unrecognized slash command message ([#14432](https://github.com/RocketChat/Rocket.Chat/pull/14432)) + - Mentions message missing 'jump to message' action ([#14430](https://github.com/RocketChat/Rocket.Chat/pull/14430)) + - preview pdf its not working ([#14419](https://github.com/RocketChat/Rocket.Chat/pull/14419)) + - Messages on thread panel were receiving wrong context/subscription ([#14404](https://github.com/RocketChat/Rocket.Chat/pull/14404)) + - Error 400 on send a reply to an old thread ([#14402](https://github.com/RocketChat/Rocket.Chat/pull/14402)) + - Users actions in administration were returning error ([#14400](https://github.com/RocketChat/Rocket.Chat/pull/14400)) + - Fallback to mongo version that doesn't require clusterMonitor role ([#14403](https://github.com/RocketChat/Rocket.Chat/pull/14403)) + - SAML credentialToken removal was preventing mobile from being able to authenticate ([#14345](https://github.com/RocketChat/Rocket.Chat/pull/14345)) + - Stream not connecting connect when using subdir and multi-instance ([#14376](https://github.com/RocketChat/Rocket.Chat/pull/14376)) + - Pressing Enter in User Search field at channel causes reload ([#14388](https://github.com/RocketChat/Rocket.Chat/pull/14388)) + - Wrong token name was generating error on Gitlab OAuth login ([#14379](https://github.com/RocketChat/Rocket.Chat/pull/14379)) + - more message actions to threads context(follow, unfollow, copy, delete) ([#14387](https://github.com/RocketChat/Rocket.Chat/pull/14387)) + - Unnecessary meteor.defer on openRoom ([#14396](https://github.com/RocketChat/Rocket.Chat/pull/14396)) + - Messages on threads disappearing ([#14393](https://github.com/RocketChat/Rocket.Chat/pull/14393)) + - Bell was too small on threads ([#14394](https://github.com/RocketChat/Rocket.Chat/pull/14394)) + - Main thread title on replies ([#14372](https://github.com/RocketChat/Rocket.Chat/pull/14372)) + - New day separator overlapping above system message ([#14362](https://github.com/RocketChat/Rocket.Chat/pull/14362)) + - E2E messages not decrypting in message threads ([#14580](https://github.com/RocketChat/Rocket.Chat/pull/14580)) + - Send replyTo for livechat offline messages ([#14568](https://github.com/RocketChat/Rocket.Chat/pull/14568)) + - Mailer breaking if user doesn't have an email address ([#14614](https://github.com/RocketChat/Rocket.Chat/pull/14614)) + - Role name spacing on Permissions page ([#14625](https://github.com/RocketChat/Rocket.Chat/pull/14625)) + - Avatar images on old Livechat client ([#14590](https://github.com/RocketChat/Rocket.Chat/pull/14590) by [@arminfelder](https://github.com/arminfelder)) + - Inject code at the end of tag ([#14623](https://github.com/RocketChat/Rocket.Chat/pull/14623)) + - "Blank page" on safari 10.x ([#14651](https://github.com/RocketChat/Rocket.Chat/pull/14651))
๐Ÿ” Minor changes + - Removed unnecessary DDP unblocks ([#13641](https://github.com/RocketChat/Rocket.Chat/pull/13641)) + - Fix emoji replacing some chars ([#14570](https://github.com/RocketChat/Rocket.Chat/pull/14570)) + - LingoHub based on develop ([#14561](https://github.com/RocketChat/Rocket.Chat/pull/14561)) + - Refactor WebRTC class ([#13736](https://github.com/RocketChat/Rocket.Chat/pull/13736)) + - Update Meteor Streamer package ([#14551](https://github.com/RocketChat/Rocket.Chat/pull/14551)) + - Regression: unit tests were being skipped ([#14543](https://github.com/RocketChat/Rocket.Chat/pull/14543)) + - MsgTyping refactor ([#14495](https://github.com/RocketChat/Rocket.Chat/pull/14495)) + - Google Plus account is no longer accessible ([#14503](https://github.com/RocketChat/Rocket.Chat/pull/14503) by [@zdumitru](https://github.com/zdumitru)) + - [IMPROVEMENT] Add tooltip to to notify user the purpose of back button in discussion ([#13872](https://github.com/RocketChat/Rocket.Chat/pull/13872) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - eslint errors currently on develop ([#14518](https://github.com/RocketChat/Rocket.Chat/pull/14518) by [@Hudell](https://github.com/Hudell)) + - Allow removing description, topic and annoucement of rooms(set as empty string) ([#13682](https://github.com/RocketChat/Rocket.Chat/pull/13682)) + - [IMPROVEMENT] Don't group messages with different alias ([#14257](https://github.com/RocketChat/Rocket.Chat/pull/14257) by [@jungeonkim](https://github.com/jungeonkim)) + - LingoHub based on develop ([#14478](https://github.com/RocketChat/Rocket.Chat/pull/14478)) + - Remove specific eslint rules ([#14459](https://github.com/RocketChat/Rocket.Chat/pull/14459)) + - New eslint rules ([#14332](https://github.com/RocketChat/Rocket.Chat/pull/14332)) + - Fix i18n files keys sort ([#14433](https://github.com/RocketChat/Rocket.Chat/pull/14433)) + - Fixes on DAU and MAU aggregations ([#14418](https://github.com/RocketChat/Rocket.Chat/pull/14418)) + - Add missing german translations ([#14386](https://github.com/RocketChat/Rocket.Chat/pull/14386) by [@mrsimpson](https://github.com/mrsimpson)) + - LingoHub based on develop ([#14426](https://github.com/RocketChat/Rocket.Chat/pull/14426)) + - fix discussions: remove restriction for editing room info, server side ([#14039](https://github.com/RocketChat/Rocket.Chat/pull/14039) by [@mrsimpson](https://github.com/mrsimpson)) + - Fix: Message body was not being updated when user disabled nrr message ([#14390](https://github.com/RocketChat/Rocket.Chat/pull/14390)) + - Improve German translations ([#14351](https://github.com/RocketChat/Rocket.Chat/pull/14351) by [@mrsimpson](https://github.com/mrsimpson)) + - Merge master into develop & Set version to 1.1.0-develop ([#14317](https://github.com/RocketChat/Rocket.Chat/pull/14317) by [@wreiske](https://github.com/wreiske)) + - Merge master into develop & Set version to 1.1.0-develop ([#14294](https://github.com/RocketChat/Rocket.Chat/pull/14294)) + - Fix: Add emoji shortnames to emoji's list ([#14576](https://github.com/RocketChat/Rocket.Chat/pull/14576)) + - Ci improvements ([#14600](https://github.com/RocketChat/Rocket.Chat/pull/14600)) + - Fix: emoji render performance for alias ([#14593](https://github.com/RocketChat/Rocket.Chat/pull/14593)) + - Federation i18n message changes ([#14595](https://github.com/RocketChat/Rocket.Chat/pull/14595)) + - [REGRESSION] Fix Slack bridge channel owner on channel creation ([#14565](https://github.com/RocketChat/Rocket.Chat/pull/14565)) + - Fix thumbs up emoji shortname ([#14581](https://github.com/RocketChat/Rocket.Chat/pull/14581)) + - [Fix] broken logo url in app.json ([#14572](https://github.com/RocketChat/Rocket.Chat/pull/14572) by [@jaredmoody](https://github.com/jaredmoody)) + - Add digitalocean button to readme ([#14583](https://github.com/RocketChat/Rocket.Chat/pull/14583)) + - Improvement: Permissions table ([#14646](https://github.com/RocketChat/Rocket.Chat/pull/14646)) + - Regression: Handle missing emojis ([#14641](https://github.com/RocketChat/Rocket.Chat/pull/14641)) + - LingoHub based on develop ([#14643](https://github.com/RocketChat/Rocket.Chat/pull/14643))
@@ -1918,6 +2724,7 @@
๐Ÿ” Minor changes + - Fix custom auth ([#15141](https://github.com/RocketChat/Rocket.Chat/pull/15141))
@@ -1936,6 +2743,7 @@ ### ๐Ÿ› Bug fixes + - Not sanitized message types ([#15054](https://github.com/RocketChat/Rocket.Chat/pull/15054)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -1953,6 +2761,7 @@
๐Ÿ” Minor changes + - Release 1.0.3 ([#14446](https://github.com/RocketChat/Rocket.Chat/pull/14446) by [@mrsimpson](https://github.com/mrsimpson))
@@ -1981,28 +2790,44 @@ ### ๐Ÿš€ Improvements + - i18n of threads and discussion buttons ([#14334](https://github.com/RocketChat/Rocket.Chat/pull/14334)) + - Better error message when not able to get MongoDB Version ([#14320](https://github.com/RocketChat/Rocket.Chat/pull/14320)) ### ๐Ÿ› Bug fixes + - Unread line and new day separator were not aligned ([#14338](https://github.com/RocketChat/Rocket.Chat/pull/14338)) + - Audio notification for messages on DM ([#14336](https://github.com/RocketChat/Rocket.Chat/pull/14336)) + - Duplicate thread message after editing ([#14330](https://github.com/RocketChat/Rocket.Chat/pull/14330)) + - New day separator rendered over thread reply ([#14328](https://github.com/RocketChat/Rocket.Chat/pull/14328)) + - Missing i18n for some new Permissions ([#14011](https://github.com/RocketChat/Rocket.Chat/pull/14011)) + - View Logs admin page was broken and not rendering color logs ([#14316](https://github.com/RocketChat/Rocket.Chat/pull/14316)) + - show roles on message ([#14313](https://github.com/RocketChat/Rocket.Chat/pull/14313)) + - Remove reference to inexistent field when deleting message in thread ([#14311](https://github.com/RocketChat/Rocket.Chat/pull/14311))
๐Ÿ” Minor changes + - Release 1.0.2 ([#14339](https://github.com/RocketChat/Rocket.Chat/pull/14339) by [@AnBo83](https://github.com/AnBo83) & [@knrt10](https://github.com/knrt10) & [@mohamedar97](https://github.com/mohamedar97) & [@thaiphv](https://github.com/thaiphv)) + - Add cross-browser select arrow positioning ([#14318](https://github.com/RocketChat/Rocket.Chat/pull/14318)) + - i18n: Update German strings ([#14182](https://github.com/RocketChat/Rocket.Chat/pull/14182) by [@AnBo83](https://github.com/AnBo83)) + - [Regression] Anonymous user fix ([#14301](https://github.com/RocketChat/Rocket.Chat/pull/14301) by [@knrt10](https://github.com/knrt10)) + - Coerces the MongoDB version string ([#14299](https://github.com/RocketChat/Rocket.Chat/pull/14299) by [@thaiphv](https://github.com/thaiphv)) + - [Fix] group name appears instead of the room id ([#14075](https://github.com/RocketChat/Rocket.Chat/pull/14075) by [@mohamedar97](https://github.com/mohamedar97))
@@ -2033,12 +2858,19 @@ ### ๐Ÿ› Bug fixes + - Popup cloud console in new window ([#14296](https://github.com/RocketChat/Rocket.Chat/pull/14296)) + - Switch oplog required doc link to more accurate link ([#14288](https://github.com/RocketChat/Rocket.Chat/pull/14288)) + - Optional exit on Unhandled Promise Rejection ([#14291](https://github.com/RocketChat/Rocket.Chat/pull/14291)) + - Error when accessing avatar with no token ([#14293](https://github.com/RocketChat/Rocket.Chat/pull/14293)) + - Startup error in registration check ([#14286](https://github.com/RocketChat/Rocket.Chat/pull/14286)) + - Wrong header at Apps admin section ([#14290](https://github.com/RocketChat/Rocket.Chat/pull/14290)) + - Error when accessing an invalid file upload url ([#14282](https://github.com/RocketChat/Rocket.Chat/pull/14282) by [@wreiske](https://github.com/wreiske)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜ @@ -2061,354 +2893,690 @@ ### โš ๏ธ BREAKING CHANGES + - Remove deprecated file upload engine Slingshot ([#13724](https://github.com/RocketChat/Rocket.Chat/pull/13724)) + - Remove internal hubot package ([#13522](https://github.com/RocketChat/Rocket.Chat/pull/13522)) + - Prevent start if incompatible mongo version ([#13927](https://github.com/RocketChat/Rocket.Chat/pull/13927)) + - Require OPLOG/REPLICASET to run Rocket.Chat ([#14227](https://github.com/RocketChat/Rocket.Chat/pull/14227)) ### ๐ŸŽ‰ New features + - Marketplace integration with Rocket.Chat Cloud ([#13809](https://github.com/RocketChat/Rocket.Chat/pull/13809)) + - Add message action to copy message to input as reply ([#12626](https://github.com/RocketChat/Rocket.Chat/pull/12626) by [@mrsimpson](https://github.com/mrsimpson)) + - Allow sending long messages as attachments ([#13819](https://github.com/RocketChat/Rocket.Chat/pull/13819)) + - Add e-mail field on Livechat Departments ([#13775](https://github.com/RocketChat/Rocket.Chat/pull/13775)) + - Provide new Livechat client as community feature ([#13723](https://github.com/RocketChat/Rocket.Chat/pull/13723)) + - Discussions ([#13541](https://github.com/RocketChat/Rocket.Chat/pull/13541) by [@mrsimpson](https://github.com/mrsimpson) & [@vickyokrm](https://github.com/vickyokrm)) + - Bosnian lang (BS) ([#13635](https://github.com/RocketChat/Rocket.Chat/pull/13635) by [@fliptrail](https://github.com/fliptrail)) + - Federation ([#12370](https://github.com/RocketChat/Rocket.Chat/pull/12370)) + - Show department field on Livechat visitor panel ([#13530](https://github.com/RocketChat/Rocket.Chat/pull/13530)) + - Add offset parameter to channels.history, groups.history, dm.history ([#13310](https://github.com/RocketChat/Rocket.Chat/pull/13310) by [@xbolshe](https://github.com/xbolshe)) + - Permission to assign roles ([#13597](https://github.com/RocketChat/Rocket.Chat/pull/13597)) + - reply with a file ([#12095](https://github.com/RocketChat/Rocket.Chat/pull/12095) by [@rssilva](https://github.com/rssilva)) + - legal notice page ([#12472](https://github.com/RocketChat/Rocket.Chat/pull/12472) by [@localguru](https://github.com/localguru)) + - Add missing remove add leader channel ([#13315](https://github.com/RocketChat/Rocket.Chat/pull/13315) by [@Montel](https://github.com/Montel)) + - users.setActiveStatus endpoint in rest api ([#13443](https://github.com/RocketChat/Rocket.Chat/pull/13443) by [@thayannevls](https://github.com/thayannevls)) + - User avatars from external source ([#7929](https://github.com/RocketChat/Rocket.Chat/pull/7929) by [@mjovanovic0](https://github.com/mjovanovic0)) + - Add an option to delete file in files list ([#13815](https://github.com/RocketChat/Rocket.Chat/pull/13815)) + - Threads V 1.0 ([#13996](https://github.com/RocketChat/Rocket.Chat/pull/13996)) + - Add support to updatedSince parameter in emoji-custom.list and deprecated old endpoint ([#13510](https://github.com/RocketChat/Rocket.Chat/pull/13510)) + - Chatpal: Enable custom search parameters ([#13829](https://github.com/RocketChat/Rocket.Chat/pull/13829) by [@Peym4n](https://github.com/Peym4n)) + - - Add setting to request a comment when closing Livechat room ([#13983](https://github.com/RocketChat/Rocket.Chat/pull/13983) by [@knrt10](https://github.com/knrt10)) + - Rest threads ([#14045](https://github.com/RocketChat/Rocket.Chat/pull/14045)) + - Add GET method to fetch Livechat message through REST API ([#14147](https://github.com/RocketChat/Rocket.Chat/pull/14147)) + - Add Voxtelesys to list of SMS providers ([#13697](https://github.com/RocketChat/Rocket.Chat/pull/13697) by [@jhnburke8](https://github.com/jhnburke8) & [@john08burke](https://github.com/john08burke)) + - Rest endpoints of discussions ([#13987](https://github.com/RocketChat/Rocket.Chat/pull/13987)) + - Multiple slackbridges ([#11346](https://github.com/RocketChat/Rocket.Chat/pull/11346) by [@Hudell](https://github.com/Hudell) & [@kable-wilmoth](https://github.com/kable-wilmoth)) + - option to not use nrr (experimental) ([#14224](https://github.com/RocketChat/Rocket.Chat/pull/14224)) + - Set up livechat connections created from new client ([#14236](https://github.com/RocketChat/Rocket.Chat/pull/14236)) + - allow drop files on thread ([#14214](https://github.com/RocketChat/Rocket.Chat/pull/14214)) + - Update message actions ([#14268](https://github.com/RocketChat/Rocket.Chat/pull/14268)) ### ๐Ÿš€ Improvements + - UI of page not found ([#13757](https://github.com/RocketChat/Rocket.Chat/pull/13757) by [@fliptrail](https://github.com/fliptrail)) + - Show rooms with mentions on unread category even with hide counter ([#13948](https://github.com/RocketChat/Rocket.Chat/pull/13948)) + - Join channels by sending a message or join button (#13752) ([#13752](https://github.com/RocketChat/Rocket.Chat/pull/13752) by [@bhardwajaditya](https://github.com/bhardwajaditya)) + - Filter agents with autocomplete input instead of select element ([#13730](https://github.com/RocketChat/Rocket.Chat/pull/13730)) + - Ignore agent status when queuing incoming livechats via Guest Pool ([#13818](https://github.com/RocketChat/Rocket.Chat/pull/13818)) + - Replaces color #13679A to #1d74f5 ([#13796](https://github.com/RocketChat/Rocket.Chat/pull/13796) by [@fliptrail](https://github.com/fliptrail)) + - Remove unnecessary "File Upload". ([#13743](https://github.com/RocketChat/Rocket.Chat/pull/13743) by [@knrt10](https://github.com/knrt10)) + - Add index for room's ts ([#13726](https://github.com/RocketChat/Rocket.Chat/pull/13726)) + - Add decoding for commonName (cn) and displayName attributes for SAML ([#12347](https://github.com/RocketChat/Rocket.Chat/pull/12347) by [@pkolmann](https://github.com/pkolmann)) + - Deprecate fixCordova helper ([#13598](https://github.com/RocketChat/Rocket.Chat/pull/13598)) + - Remove dangling side-nav styles ([#13584](https://github.com/RocketChat/Rocket.Chat/pull/13584)) + - Disable X-Powered-By header in all known express middlewares ([#13388](https://github.com/RocketChat/Rocket.Chat/pull/13388)) + - Allow custom rocketchat username for crowd users and enable login via email/crowd_username ([#12981](https://github.com/RocketChat/Rocket.Chat/pull/12981) by [@steerben](https://github.com/steerben)) + - Add department field on find guest method ([#13491](https://github.com/RocketChat/Rocket.Chat/pull/13491)) + - KaTeX and Autolinker message rendering ([#11698](https://github.com/RocketChat/Rocket.Chat/pull/11698)) + - Update to MongoDB 4.0 in docker-compose file ([#13396](https://github.com/RocketChat/Rocket.Chat/pull/13396) by [@ngulden](https://github.com/ngulden)) + - Admin ui ([#13393](https://github.com/RocketChat/Rocket.Chat/pull/13393)) + - End to end tests ([#13401](https://github.com/RocketChat/Rocket.Chat/pull/13401)) + - Update deleteUser errors to be more semantic ([#12380](https://github.com/RocketChat/Rocket.Chat/pull/12380) by [@timkinnane](https://github.com/timkinnane)) + - Line height on static content pages ([#11673](https://github.com/RocketChat/Rocket.Chat/pull/11673) by [@timkinnane](https://github.com/timkinnane)) + - new icons ([#13289](https://github.com/RocketChat/Rocket.Chat/pull/13289)) + - Add permission to change other user profile avatar ([#13884](https://github.com/RocketChat/Rocket.Chat/pull/13884) by [@knrt10](https://github.com/knrt10)) + - UI of Permissions page ([#13732](https://github.com/RocketChat/Rocket.Chat/pull/13732) by [@fliptrail](https://github.com/fliptrail)) + - Use SessionId for credential token in SAML request ([#13791](https://github.com/RocketChat/Rocket.Chat/pull/13791) by [@MohammedEssehemy](https://github.com/MohammedEssehemy)) + - Include more information to help with bug reports and debugging ([#14047](https://github.com/RocketChat/Rocket.Chat/pull/14047)) + - New sidebar item badges, mention links, and ticks ([#14030](https://github.com/RocketChat/Rocket.Chat/pull/14030)) + - Remove setting to show a livechat is waiting ([#13992](https://github.com/RocketChat/Rocket.Chat/pull/13992)) + - Attachment download caching ([#14137](https://github.com/RocketChat/Rocket.Chat/pull/14137) by [@wreiske](https://github.com/wreiske)) + - Get avatar from oauth ([#14131](https://github.com/RocketChat/Rocket.Chat/pull/14131)) + - OAuth Role Sync ([#13761](https://github.com/RocketChat/Rocket.Chat/pull/13761) by [@hypery2k](https://github.com/hypery2k)) + - Update the Apps Engine version to v1.4.1 ([#14072](https://github.com/RocketChat/Rocket.Chat/pull/14072)) + - Replace livechat inquiry dialog with preview room ([#13986](https://github.com/RocketChat/Rocket.Chat/pull/13986)) ### ๐Ÿ› Bug fixes + - Opening a Livechat room from another agent ([#13951](https://github.com/RocketChat/Rocket.Chat/pull/13951)) + - Directory and Apps logs page ([#13938](https://github.com/RocketChat/Rocket.Chat/pull/13938)) + - Minor issues detected after testing the new Livechat client ([#13521](https://github.com/RocketChat/Rocket.Chat/pull/13521)) + - Display first message when taking Livechat inquiry ([#13896](https://github.com/RocketChat/Rocket.Chat/pull/13896)) + - Loading theme CSS on first server startup ([#13953](https://github.com/RocketChat/Rocket.Chat/pull/13953)) + - OTR dialog issue ([#13755](https://github.com/RocketChat/Rocket.Chat/pull/13755) by [@knrt10](https://github.com/knrt10)) + - Limit Appโ€™s HTTP calls to 500ms ([#13949](https://github.com/RocketChat/Rocket.Chat/pull/13949)) + - Read Receipt for Livechat Messages fixed ([#13832](https://github.com/RocketChat/Rocket.Chat/pull/13832) by [@knrt10](https://github.com/knrt10)) + - Avatar image being shrinked on autocomplete ([#13914](https://github.com/RocketChat/Rocket.Chat/pull/13914)) + - VIDEO/JITSI multiple calls before video call ([#13855](https://github.com/RocketChat/Rocket.Chat/pull/13855)) + - Some Safari bugs ([#13895](https://github.com/RocketChat/Rocket.Chat/pull/13895)) + - wrong width/height for tile_70 (mstile 70x70 (png)) ([#13851](https://github.com/RocketChat/Rocket.Chat/pull/13851) by [@ulf-f](https://github.com/ulf-f)) + - wrong importing of e2e ([#13863](https://github.com/RocketChat/Rocket.Chat/pull/13863)) + - Forwarded Livechat visitor name is not getting updated on the sidebar ([#13783](https://github.com/RocketChat/Rocket.Chat/pull/13783) by [@zolbayars](https://github.com/zolbayars)) + - Remove spaces in some i18n files ([#13801](https://github.com/RocketChat/Rocket.Chat/pull/13801)) + - Translation interpolations for many languages ([#13751](https://github.com/RocketChat/Rocket.Chat/pull/13751) by [@fliptrail](https://github.com/fliptrail)) + - Fixed grammatical error. ([#13559](https://github.com/RocketChat/Rocket.Chat/pull/13559) by [@gsunit](https://github.com/gsunit)) + - In home screen Rocket.Chat+ is dispalyed as Rocket.Chat ([#13784](https://github.com/RocketChat/Rocket.Chat/pull/13784) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - No new room created when conversation is closed ([#13753](https://github.com/RocketChat/Rocket.Chat/pull/13753) by [@knrt10](https://github.com/knrt10)) + - Loading user list from room messages ([#13769](https://github.com/RocketChat/Rocket.Chat/pull/13769)) + - User is unable to enter multiple emojis by clicking on the emoji icon ([#13744](https://github.com/RocketChat/Rocket.Chat/pull/13744) by [@Kailash0311](https://github.com/Kailash0311)) + - Audio message recording ([#13727](https://github.com/RocketChat/Rocket.Chat/pull/13727)) + - Remove Room info for Direct Messages (#9383) ([#12429](https://github.com/RocketChat/Rocket.Chat/pull/12429) by [@vinade](https://github.com/vinade)) + - WebRTC wasn't working duo to design and browser's APIs changes ([#13675](https://github.com/RocketChat/Rocket.Chat/pull/13675)) + - Adds Proper Language display name for many languages ([#13714](https://github.com/RocketChat/Rocket.Chat/pull/13714) by [@fliptrail](https://github.com/fliptrail)) + - Update bad-words to 3.0.2 ([#13705](https://github.com/RocketChat/Rocket.Chat/pull/13705) by [@trivoallan](https://github.com/trivoallan)) + - Changing Room name updates the webhook ([#13672](https://github.com/RocketChat/Rocket.Chat/pull/13672) by [@knrt10](https://github.com/knrt10)) + - Fix snap refresh hook ([#13702](https://github.com/RocketChat/Rocket.Chat/pull/13702)) + - Audio message recording issues ([#13486](https://github.com/RocketChat/Rocket.Chat/pull/13486)) + - Legal pages' style ([#13677](https://github.com/RocketChat/Rocket.Chat/pull/13677)) + - Stop livestream ([#13676](https://github.com/RocketChat/Rocket.Chat/pull/13676)) + - Avatar fonts for PNG and JPG ([#13681](https://github.com/RocketChat/Rocket.Chat/pull/13681)) + - Block User Icon ([#13630](https://github.com/RocketChat/Rocket.Chat/pull/13630) by [@knrt10](https://github.com/knrt10)) + - Corrects UI background of forced F2A Authentication ([#13670](https://github.com/RocketChat/Rocket.Chat/pull/13670) by [@fliptrail](https://github.com/fliptrail)) + - Race condition on the loading of Apps on the admin page ([#13587](https://github.com/RocketChat/Rocket.Chat/pull/13587)) + - Do not allow change avatars of another users without permission ([#13629](https://github.com/RocketChat/Rocket.Chat/pull/13629)) + - link of k8s deploy ([#13612](https://github.com/RocketChat/Rocket.Chat/pull/13612) by [@Mr-Linus](https://github.com/Mr-Linus)) + - Bugfix markdown Marked link new tab ([#13245](https://github.com/RocketChat/Rocket.Chat/pull/13245) by [@DeviaVir](https://github.com/DeviaVir)) + - Partially messaging formatting for bold letters ([#13599](https://github.com/RocketChat/Rocket.Chat/pull/13599) by [@knrt10](https://github.com/knrt10)) + - Change userId of rate limiter, change to logged user ([#13442](https://github.com/RocketChat/Rocket.Chat/pull/13442)) + - Add retries to docker-compose.yml, to wait for MongoDB to be ready ([#13199](https://github.com/RocketChat/Rocket.Chat/pull/13199) by [@tiangolo](https://github.com/tiangolo)) + - Non-latin room names and other slugifications ([#13467](https://github.com/RocketChat/Rocket.Chat/pull/13467)) + - Fixed rocketchat-oembed meta fragment pulling ([#13056](https://github.com/RocketChat/Rocket.Chat/pull/13056) by [@wreiske](https://github.com/wreiske)) + - Attachments without dates were showing December 31, 1970 ([#13428](https://github.com/RocketChat/Rocket.Chat/pull/13428) by [@wreiske](https://github.com/wreiske)) + - Restart required to apply changes in API Rate Limiter settings ([#13451](https://github.com/RocketChat/Rocket.Chat/pull/13451)) + - Ability to activate an app installed by zip even offline ([#13563](https://github.com/RocketChat/Rocket.Chat/pull/13563)) + - .bin extension added to attached file names ([#13468](https://github.com/RocketChat/Rocket.Chat/pull/13468) by [@Hudell](https://github.com/Hudell)) + - Right arrows in default HTML content ([#13502](https://github.com/RocketChat/Rocket.Chat/pull/13502)) + - Typo in a referrer header in inject.js file ([#13469](https://github.com/RocketChat/Rocket.Chat/pull/13469) by [@algomaster99](https://github.com/algomaster99)) + - Fix issue cannot filter channels by name ([#12952](https://github.com/RocketChat/Rocket.Chat/pull/12952) by [@huydang284](https://github.com/huydang284)) + - mention-links not being always resolved ([#11745](https://github.com/RocketChat/Rocket.Chat/pull/11745) by [@mrsimpson](https://github.com/mrsimpson)) + - allow user to logout before set username ([#13439](https://github.com/RocketChat/Rocket.Chat/pull/13439)) + - Error when recording data into the connection object ([#13553](https://github.com/RocketChat/Rocket.Chat/pull/13553)) + - Handle showing/hiding input in messageBox ([#13564](https://github.com/RocketChat/Rocket.Chat/pull/13564)) + - Fix wrong this scope in Notifications ([#13515](https://github.com/RocketChat/Rocket.Chat/pull/13515)) + - Get next Livechat agent endpoint ([#13485](https://github.com/RocketChat/Rocket.Chat/pull/13485)) + - Sidenav mouse hover was slow ([#13482](https://github.com/RocketChat/Rocket.Chat/pull/13482)) + - Emoji detection at line breaks ([#13447](https://github.com/RocketChat/Rocket.Chat/pull/13447) by [@savish28](https://github.com/savish28)) + - Small improvements on message box ([#13444](https://github.com/RocketChat/Rocket.Chat/pull/13444)) + - Fixing rooms find by type and name ([#11451](https://github.com/RocketChat/Rocket.Chat/pull/11451) by [@hmagarotto](https://github.com/hmagarotto)) + - linear-gradient background on safari ([#13363](https://github.com/RocketChat/Rocket.Chat/pull/13363)) + - Fixed text for "bulk-register-user" ([#11558](https://github.com/RocketChat/Rocket.Chat/pull/11558) by [@the4ndy](https://github.com/the4ndy)) + - Closing sidebar when room menu is clicked. ([#13842](https://github.com/RocketChat/Rocket.Chat/pull/13842) by [@Kailash0311](https://github.com/Kailash0311)) + - Check settings for name requirement before validating ([#14021](https://github.com/RocketChat/Rocket.Chat/pull/14021)) + - Links and upload paths when running in a subdir ([#13982](https://github.com/RocketChat/Rocket.Chat/pull/13982)) + - users.getPreferences when the user doesn't have any preferences ([#13532](https://github.com/RocketChat/Rocket.Chat/pull/13532) by [@thayannevls](https://github.com/thayannevls)) + - Real names were not displayed in the reactions (API/UI) ([#13495](https://github.com/RocketChat/Rocket.Chat/pull/13495)) + - Theme CSS loading in subdir env ([#14015](https://github.com/RocketChat/Rocket.Chat/pull/14015)) + - Fix rendering of links in the announcement modal ([#13250](https://github.com/RocketChat/Rocket.Chat/pull/13250) by [@supra08](https://github.com/supra08)) + - Add custom MIME types for *.ico extension ([#13969](https://github.com/RocketChat/Rocket.Chat/pull/13969)) + - Groups endpoints permission validations ([#13994](https://github.com/RocketChat/Rocket.Chat/pull/13994)) + - Focus on input when emoji picker box is open was not working ([#13981](https://github.com/RocketChat/Rocket.Chat/pull/13981)) + - Auto hide Livechat room from sidebar on close ([#13824](https://github.com/RocketChat/Rocket.Chat/pull/13824) by [@knrt10](https://github.com/knrt10)) + - Improve cloud section ([#13820](https://github.com/RocketChat/Rocket.Chat/pull/13820)) + - Wrong permalink when running in subdir ([#13746](https://github.com/RocketChat/Rocket.Chat/pull/13746) by [@ura14h](https://github.com/ura14h)) + - Change localStorage keys to work when server is running in a subdir ([#13968](https://github.com/RocketChat/Rocket.Chat/pull/13968)) + - SAML certificate settings don't follow a pattern ([#14179](https://github.com/RocketChat/Rocket.Chat/pull/14179) by [@Hudell](https://github.com/Hudell)) + - Custom Oauth store refresh and id tokens with expiresIn ([#14121](https://github.com/RocketChat/Rocket.Chat/pull/14121) by [@ralfbecker](https://github.com/ralfbecker)) + - Apps converters delete fields on message attachments ([#14028](https://github.com/RocketChat/Rocket.Chat/pull/14028)) + - Custom Oauth login not working with accessToken ([#14113](https://github.com/RocketChat/Rocket.Chat/pull/14113) by [@knrt10](https://github.com/knrt10)) + - renderField template to correct short property usage ([#14148](https://github.com/RocketChat/Rocket.Chat/pull/14148)) + - Updating a message from apps if keep history is on ([#14129](https://github.com/RocketChat/Rocket.Chat/pull/14129)) + - Missing connection headers on Livechat REST API ([#14130](https://github.com/RocketChat/Rocket.Chat/pull/14130)) + - Receiving agent for new livechats from REST API ([#14103](https://github.com/RocketChat/Rocket.Chat/pull/14103)) + - Livechat user registration in another department ([#10695](https://github.com/RocketChat/Rocket.Chat/pull/10695)) + - Support for handling SAML LogoutRequest SLO ([#14074](https://github.com/RocketChat/Rocket.Chat/pull/14074)) + - Livechat office hours ([#14031](https://github.com/RocketChat/Rocket.Chat/pull/14031)) + - Auto-translate toggle not updating rendered messages ([#14262](https://github.com/RocketChat/Rocket.Chat/pull/14262)) + - Align burger menu in header with content matching room header ([#14265](https://github.com/RocketChat/Rocket.Chat/pull/14265)) + - Normalize TAPi18n language string on Livechat widget ([#14012](https://github.com/RocketChat/Rocket.Chat/pull/14012)) + - Autogrow not working properly for many message boxes ([#14163](https://github.com/RocketChat/Rocket.Chat/pull/14163)) + - Image attachment re-renders on message update ([#14207](https://github.com/RocketChat/Rocket.Chat/pull/14207) by [@Kailash0311](https://github.com/Kailash0311)) + - Sidenav does not open on some admin pages ([#14010](https://github.com/RocketChat/Rocket.Chat/pull/14010)) + - Empty result when getting badge count notification ([#14244](https://github.com/RocketChat/Rocket.Chat/pull/14244)) + - Obey audio notification preferences ([#14188](https://github.com/RocketChat/Rocket.Chat/pull/14188)) + - Slackbridge private channels ([#14273](https://github.com/RocketChat/Rocket.Chat/pull/14273) by [@Hudell](https://github.com/Hudell) & [@nylen](https://github.com/nylen)) + - View All members button now not in direct room ([#14081](https://github.com/RocketChat/Rocket.Chat/pull/14081) by [@knrt10](https://github.com/knrt10))
๐Ÿ” Minor changes + - Update eslint config ([#13966](https://github.com/RocketChat/Rocket.Chat/pull/13966)) + - Remove some bad references to messageBox ([#13954](https://github.com/RocketChat/Rocket.Chat/pull/13954)) + - LingoHub based on develop ([#13964](https://github.com/RocketChat/Rocket.Chat/pull/13964)) + - Update preview Dockerfile to use Stretch dependencies ([#13947](https://github.com/RocketChat/Rocket.Chat/pull/13947)) + - Small improvements to federation callbacks/hooks ([#13946](https://github.com/RocketChat/Rocket.Chat/pull/13946)) + - Improve: Support search and adding federated users through regular endpoints ([#13936](https://github.com/RocketChat/Rocket.Chat/pull/13936)) + - Remove bitcoin link in Readme.md since the link is broken ([#13935](https://github.com/RocketChat/Rocket.Chat/pull/13935) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - Fix missing dependencies on stretch CI image ([#13910](https://github.com/RocketChat/Rocket.Chat/pull/13910)) + - Remove some index.js files routing for server/client files ([#13772](https://github.com/RocketChat/Rocket.Chat/pull/13772)) + - Use CircleCI Debian Stretch images ([#13906](https://github.com/RocketChat/Rocket.Chat/pull/13906)) + - LingoHub based on develop ([#13891](https://github.com/RocketChat/Rocket.Chat/pull/13891)) + - User remove role dialog fixed ([#13874](https://github.com/RocketChat/Rocket.Chat/pull/13874) by [@bhardwajaditya](https://github.com/bhardwajaditya)) + - Rename Threads to Discussion ([#13782](https://github.com/RocketChat/Rocket.Chat/pull/13782)) + - [BUG] Icon Fixed for Knowledge base on Livechat ([#13806](https://github.com/RocketChat/Rocket.Chat/pull/13806) by [@knrt10](https://github.com/knrt10)) + - Add support to search for all users in directory ([#13803](https://github.com/RocketChat/Rocket.Chat/pull/13803)) + - LingoHub based on develop ([#13839](https://github.com/RocketChat/Rocket.Chat/pull/13839)) + - Remove unused style ([#13834](https://github.com/RocketChat/Rocket.Chat/pull/13834)) + - Remove unused files ([#13833](https://github.com/RocketChat/Rocket.Chat/pull/13833)) + - Lingohub sync and additional fixes ([#13825](https://github.com/RocketChat/Rocket.Chat/pull/13825)) + - Fix: addRoomAccessValidator method created for Threads ([#13789](https://github.com/RocketChat/Rocket.Chat/pull/13789)) + - Adds French translation of Personal Access Token ([#13779](https://github.com/RocketChat/Rocket.Chat/pull/13779) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + - Remove Sandstorm support ([#13773](https://github.com/RocketChat/Rocket.Chat/pull/13773)) + - Removing (almost) every dynamic imports ([#13767](https://github.com/RocketChat/Rocket.Chat/pull/13767)) + - Regression: Threads styles improvement ([#13741](https://github.com/RocketChat/Rocket.Chat/pull/13741)) + - Convert imports to relative paths ([#13740](https://github.com/RocketChat/Rocket.Chat/pull/13740)) + - Regression: removed backup files ([#13729](https://github.com/RocketChat/Rocket.Chat/pull/13729)) + - Remove unused files ([#13725](https://github.com/RocketChat/Rocket.Chat/pull/13725)) + - Add Houston config ([#13707](https://github.com/RocketChat/Rocket.Chat/pull/13707)) + - Change the way to resolve DNS for Federation ([#13695](https://github.com/RocketChat/Rocket.Chat/pull/13695)) + - Update husky config ([#13687](https://github.com/RocketChat/Rocket.Chat/pull/13687)) + - Regression: Prune Threads ([#13683](https://github.com/RocketChat/Rocket.Chat/pull/13683)) + - Regression: Fix icon for DMs ([#13679](https://github.com/RocketChat/Rocket.Chat/pull/13679)) + - Regression: Add missing translations used in Apps pages ([#13674](https://github.com/RocketChat/Rocket.Chat/pull/13674)) + - Regression: User Discussions join message ([#13656](https://github.com/RocketChat/Rocket.Chat/pull/13656) by [@bhardwajaditya](https://github.com/bhardwajaditya)) + - Regression: Sidebar create new channel hover text ([#13658](https://github.com/RocketChat/Rocket.Chat/pull/13658) by [@bhardwajaditya](https://github.com/bhardwajaditya)) + - Regression: Fix embedded layout ([#13574](https://github.com/RocketChat/Rocket.Chat/pull/13574)) + - Improve: Send cloud token to Federation Hub ([#13651](https://github.com/RocketChat/Rocket.Chat/pull/13651)) + - Regression: Discussions - Invite users and DM ([#13646](https://github.com/RocketChat/Rocket.Chat/pull/13646)) + - LingoHub based on develop ([#13623](https://github.com/RocketChat/Rocket.Chat/pull/13623)) + - Force some words to translate in other languages ([#13367](https://github.com/RocketChat/Rocket.Chat/pull/13367) by [@soltanabadiyan](https://github.com/soltanabadiyan)) + - Fix wrong imports ([#13601](https://github.com/RocketChat/Rocket.Chat/pull/13601)) + - Fix: Some german translations ([#13299](https://github.com/RocketChat/Rocket.Chat/pull/13299) by [@soenkef](https://github.com/soenkef)) + - Add better positioning for tooltips on edges ([#13472](https://github.com/RocketChat/Rocket.Chat/pull/13472)) + - Fix: Mongo.setConnectionOptions was not being set correctly ([#13586](https://github.com/RocketChat/Rocket.Chat/pull/13586)) + - Regression: Missing settings import at `packages/rocketchat-livechat/server/methods/saveAppearance.js` ([#13573](https://github.com/RocketChat/Rocket.Chat/pull/13573)) + - Depack: Use mainModule for root files ([#13508](https://github.com/RocketChat/Rocket.Chat/pull/13508)) + - Regression: fix app pages styles ([#13567](https://github.com/RocketChat/Rocket.Chat/pull/13567)) + - Move mongo config away from cors package ([#13531](https://github.com/RocketChat/Rocket.Chat/pull/13531)) + - Regression: Add debounce on admin users search to avoid blocking by DDP Rate Limiter ([#13529](https://github.com/RocketChat/Rocket.Chat/pull/13529)) + - Remove Package references ([#13523](https://github.com/RocketChat/Rocket.Chat/pull/13523)) + - Remove Npm.depends and Npm.require except those that are inside package.js ([#13518](https://github.com/RocketChat/Rocket.Chat/pull/13518)) + - Update Meteor 1.8.0.2 ([#13519](https://github.com/RocketChat/Rocket.Chat/pull/13519)) + - Convert rc-nrr and slashcommands open to main module structure ([#13520](https://github.com/RocketChat/Rocket.Chat/pull/13520)) + - Regression: Fix wrong imports in rc-models ([#13516](https://github.com/RocketChat/Rocket.Chat/pull/13516)) + - Regression: Fix autolinker that was not parsing urls correctly ([#13497](https://github.com/RocketChat/Rocket.Chat/pull/13497)) + - Regression: Not updating subscriptions and not showing desktop notifcations ([#13509](https://github.com/RocketChat/Rocket.Chat/pull/13509)) + - Fix some imports from wrong packages, remove exports and files unused in rc-ui ([#13422](https://github.com/RocketChat/Rocket.Chat/pull/13422)) + - Remove functions from globals ([#13421](https://github.com/RocketChat/Rocket.Chat/pull/13421)) + - Remove unused files and code in rc-lib - step 3 ([#13420](https://github.com/RocketChat/Rocket.Chat/pull/13420)) + - Remove unused files in rc-lib - step 2 ([#13419](https://github.com/RocketChat/Rocket.Chat/pull/13419)) + - Remove unused files and code in rc-lib - step 1 ([#13416](https://github.com/RocketChat/Rocket.Chat/pull/13416)) + - Convert rocketchat-lib to main module structure ([#13415](https://github.com/RocketChat/Rocket.Chat/pull/13415)) + - Regression: Message box geolocation was throwing error ([#13496](https://github.com/RocketChat/Rocket.Chat/pull/13496)) + - Import missed functions to remove dependency of RC namespace ([#13414](https://github.com/RocketChat/Rocket.Chat/pull/13414)) + - Convert rocketchat-apps to main module structure ([#13409](https://github.com/RocketChat/Rocket.Chat/pull/13409)) + - Remove dependency of RC namespace in root server folder - step 6 ([#13405](https://github.com/RocketChat/Rocket.Chat/pull/13405)) + - Remove dependency of RC namespace in root server folder - step 5 ([#13402](https://github.com/RocketChat/Rocket.Chat/pull/13402)) + - Remove dependency of RC namespace in root server folder - step 4 ([#13400](https://github.com/RocketChat/Rocket.Chat/pull/13400)) + - Remove dependency of RC namespace in root server folder - step 3 ([#13398](https://github.com/RocketChat/Rocket.Chat/pull/13398)) + - Remove dependency of RC namespace in root server folder - step 2 ([#13397](https://github.com/RocketChat/Rocket.Chat/pull/13397)) + - Remove dependency of RC namespace in root server folder - step 1 ([#13390](https://github.com/RocketChat/Rocket.Chat/pull/13390)) + - Remove dependency of RC namespace in root client folder, imports/message-read-receipt and imports/personal-access-tokens ([#13389](https://github.com/RocketChat/Rocket.Chat/pull/13389)) + - Remove dependency of RC namespace in rc-integrations and importer-hipchat-enterprise ([#13386](https://github.com/RocketChat/Rocket.Chat/pull/13386)) + - Move rc-livechat server models to rc-models ([#13384](https://github.com/RocketChat/Rocket.Chat/pull/13384)) + - Remove dependency of RC namespace in rc-livechat/server/publications ([#13383](https://github.com/RocketChat/Rocket.Chat/pull/13383)) + - Remove dependency of RC namespace in rc-livechat/server/methods ([#13382](https://github.com/RocketChat/Rocket.Chat/pull/13382)) + - Remove dependency of RC namespace in rc-livechat/imports, lib, server/api, server/hooks and server/lib ([#13379](https://github.com/RocketChat/Rocket.Chat/pull/13379)) + - Remove LIvechat global variable from RC namespace ([#13378](https://github.com/RocketChat/Rocket.Chat/pull/13378)) + - Remove dependency of RC namespace in rc-livechat/server/models ([#13377](https://github.com/RocketChat/Rocket.Chat/pull/13377)) + - Remove dependency of RC namespace in livechat/client ([#13370](https://github.com/RocketChat/Rocket.Chat/pull/13370)) + - Remove dependency of RC namespace in rc-wordpress, chatpal-search and irc ([#13492](https://github.com/RocketChat/Rocket.Chat/pull/13492)) + - Remove dependency of RC namespace in rc-videobridge and webdav ([#13366](https://github.com/RocketChat/Rocket.Chat/pull/13366)) + - Remove dependency of RC namespace in rc-ui-master, ui-message- user-data-download and version-check ([#13365](https://github.com/RocketChat/Rocket.Chat/pull/13365)) + - Remove dependency of RC namespace in rc-ui-clean-history, ui-admin and ui-login ([#13362](https://github.com/RocketChat/Rocket.Chat/pull/13362)) + - Remove dependency of RC namespace in rc-ui, ui-account and ui-admin ([#13361](https://github.com/RocketChat/Rocket.Chat/pull/13361)) + - Remove dependency of RC namespace in rc-statistics and tokenpass ([#13359](https://github.com/RocketChat/Rocket.Chat/pull/13359)) + - Remove dependency of RC namespace in rc-smarsh-connector, sms and spotify ([#13358](https://github.com/RocketChat/Rocket.Chat/pull/13358)) + - Remove dependency of RC namespace in rc-slash-kick, leave, me, msg, mute, open, topic and unarchiveroom ([#13357](https://github.com/RocketChat/Rocket.Chat/pull/13357)) + - Remove dependency of RC namespace in rc-slash-archiveroom, create, help, hide, invite, inviteall and join ([#13356](https://github.com/RocketChat/Rocket.Chat/pull/13356)) + - Remove dependency of RC namespace in rc-setup-wizard, slackbridge and asciiarts ([#13348](https://github.com/RocketChat/Rocket.Chat/pull/13348)) + - Remove dependency of RC namespace in rc-reactions, retention-policy and search ([#13347](https://github.com/RocketChat/Rocket.Chat/pull/13347)) + - Remove dependency of RC namespace in rc-oembed and rc-otr ([#13345](https://github.com/RocketChat/Rocket.Chat/pull/13345)) + - Remove dependency of RC namespace in rc-oauth2-server and message-star ([#13344](https://github.com/RocketChat/Rocket.Chat/pull/13344)) + - Remove dependency of RC namespace in rc-message-pin and message-snippet ([#13343](https://github.com/RocketChat/Rocket.Chat/pull/13343)) + - Depackaging ([#13483](https://github.com/RocketChat/Rocket.Chat/pull/13483)) + - Merge master into develop & Set version to 1.0.0-develop ([#13435](https://github.com/RocketChat/Rocket.Chat/pull/13435) by [@Hudell](https://github.com/Hudell) & [@TkTech](https://github.com/TkTech) & [@theundefined](https://github.com/theundefined)) + - Regression: Table admin pages ([#13411](https://github.com/RocketChat/Rocket.Chat/pull/13411)) + - Regression: Template error ([#13410](https://github.com/RocketChat/Rocket.Chat/pull/13410)) + - Removed old templates ([#13406](https://github.com/RocketChat/Rocket.Chat/pull/13406)) + - Add pagination to getUsersOfRoom ([#12834](https://github.com/RocketChat/Rocket.Chat/pull/12834) by [@Hudell](https://github.com/Hudell)) + - OpenShift custom OAuth support ([#13925](https://github.com/RocketChat/Rocket.Chat/pull/13925) by [@bsharrow](https://github.com/bsharrow)) + - Settings: disable reset button ([#14026](https://github.com/RocketChat/Rocket.Chat/pull/14026)) + - Settings: hiding reset button for readonly fields ([#14025](https://github.com/RocketChat/Rocket.Chat/pull/14025)) + - Fix debug logging not being enabled by the setting ([#13979](https://github.com/RocketChat/Rocket.Chat/pull/13979)) + - Deprecate /api/v1/info in favor of /api/info ([#13798](https://github.com/RocketChat/Rocket.Chat/pull/13798)) + - Change dynamic dependency of FileUpload in Messages models ([#13776](https://github.com/RocketChat/Rocket.Chat/pull/13776)) + - Allow set env var METEOR_OPLOG_TOO_FAR_BEHIND ([#14017](https://github.com/RocketChat/Rocket.Chat/pull/14017)) + - Improve: Decrease padding for app buy modal ([#13984](https://github.com/RocketChat/Rocket.Chat/pull/13984)) + - Prioritize user-mentions badge ([#14057](https://github.com/RocketChat/Rocket.Chat/pull/14057)) + - Proper thread quote, clear message box on send, and other nice things to have ([#14049](https://github.com/RocketChat/Rocket.Chat/pull/14049)) + - Fix: Tests were not exiting RC instances ([#14054](https://github.com/RocketChat/Rocket.Chat/pull/14054)) + - Fix shield indentation ([#14048](https://github.com/RocketChat/Rocket.Chat/pull/14048)) + - Fix modal scroll ([#14052](https://github.com/RocketChat/Rocket.Chat/pull/14052)) + - Fix race condition of lastMessage set ([#14041](https://github.com/RocketChat/Rocket.Chat/pull/14041)) + - Fix room re-rendering ([#14044](https://github.com/RocketChat/Rocket.Chat/pull/14044)) + - Fix sending notifications to mentions on threads and discussion email sender ([#14043](https://github.com/RocketChat/Rocket.Chat/pull/14043)) + - Fix discussions issues after room deletion and translation actions not being shown ([#14018](https://github.com/RocketChat/Rocket.Chat/pull/14018)) + - Show discussion avatar ([#14053](https://github.com/RocketChat/Rocket.Chat/pull/14053)) + - Fix threads tests ([#14180](https://github.com/RocketChat/Rocket.Chat/pull/14180)) + - Prevent error for ldap login with invalid characters ([#14160](https://github.com/RocketChat/Rocket.Chat/pull/14160)) + - [REGRESSION] Messages sent by livechat's guests are losing sender info ([#14174](https://github.com/RocketChat/Rocket.Chat/pull/14174)) + - Faster CI build for PR ([#14171](https://github.com/RocketChat/Rocket.Chat/pull/14171)) + - Regression: Message box does not go back to initial state after sending a message ([#14161](https://github.com/RocketChat/Rocket.Chat/pull/14161)) + - Prevent error on normalize thread message for preview ([#14170](https://github.com/RocketChat/Rocket.Chat/pull/14170)) + - Update badges and mention links colors ([#14071](https://github.com/RocketChat/Rocket.Chat/pull/14071)) + - Smaller thread replies and system messages ([#14099](https://github.com/RocketChat/Rocket.Chat/pull/14099)) + - Regression: User autocomplete was not listing users from correct room ([#14125](https://github.com/RocketChat/Rocket.Chat/pull/14125)) + - Regression: Role creation and deletion error fixed ([#14097](https://github.com/RocketChat/Rocket.Chat/pull/14097) by [@knrt10](https://github.com/knrt10)) + - [Regression] Fix integrations message example ([#14111](https://github.com/RocketChat/Rocket.Chat/pull/14111)) + - Fix update apps capability of updating messages ([#14118](https://github.com/RocketChat/Rocket.Chat/pull/14118)) + - Fix: Skip thread notifications on message edit ([#14100](https://github.com/RocketChat/Rocket.Chat/pull/14100)) + - Fix: Remove message class `sequential` if `new-day` is present ([#14116](https://github.com/RocketChat/Rocket.Chat/pull/14116)) + - Fix top bar unread message counter ([#14102](https://github.com/RocketChat/Rocket.Chat/pull/14102)) + - LingoHub based on develop ([#14046](https://github.com/RocketChat/Rocket.Chat/pull/14046)) + - Fix sending message from action buttons in messages ([#14101](https://github.com/RocketChat/Rocket.Chat/pull/14101)) + - Fix: Error when version check endpoint was returning invalid data ([#14089](https://github.com/RocketChat/Rocket.Chat/pull/14089)) + - Wait port release to finish tests ([#14066](https://github.com/RocketChat/Rocket.Chat/pull/14066)) + - Fix threads rendering performance ([#14059](https://github.com/RocketChat/Rocket.Chat/pull/14059)) + - Unstuck observers every minute ([#14076](https://github.com/RocketChat/Rocket.Chat/pull/14076)) + - Fix messages losing thread titles on editing or reaction and improve message actions ([#14051](https://github.com/RocketChat/Rocket.Chat/pull/14051)) + - Improve message validation ([#14266](https://github.com/RocketChat/Rocket.Chat/pull/14266)) + - Added federation ping, loopback and dashboard ([#14007](https://github.com/RocketChat/Rocket.Chat/pull/14007)) + - Regression: Exception on notification when adding someone in room via mention ([#14251](https://github.com/RocketChat/Rocket.Chat/pull/14251)) + - Regression: fix grouping for reactive message ([#14246](https://github.com/RocketChat/Rocket.Chat/pull/14246)) + - Regression: Cursor position set to beginning when editing a message ([#14245](https://github.com/RocketChat/Rocket.Chat/pull/14245)) + - Regression: grouping messages on threads ([#14238](https://github.com/RocketChat/Rocket.Chat/pull/14238)) + - Regression: Remove border from unstyled message body ([#14235](https://github.com/RocketChat/Rocket.Chat/pull/14235)) + - Move LDAP Escape to login handler ([#14234](https://github.com/RocketChat/Rocket.Chat/pull/14234)) + - [Regression] Personal Access Token list fixed ([#14216](https://github.com/RocketChat/Rocket.Chat/pull/14216) by [@knrt10](https://github.com/knrt10)) + - ESLint: Add more import rules ([#14226](https://github.com/RocketChat/Rocket.Chat/pull/14226)) + - Regression: fix drop file ([#14225](https://github.com/RocketChat/Rocket.Chat/pull/14225)) + - Broken styles in Administration's contextual bar ([#14222](https://github.com/RocketChat/Rocket.Chat/pull/14222)) + - Regression: Broken UI for messages ([#14223](https://github.com/RocketChat/Rocket.Chat/pull/14223)) + - Exit process on unhandled rejection ([#14220](https://github.com/RocketChat/Rocket.Chat/pull/14220)) + - Unify mime-type package configuration ([#14217](https://github.com/RocketChat/Rocket.Chat/pull/14217)) + - Regression: Prevent startup errors for mentions parsing ([#14219](https://github.com/RocketChat/Rocket.Chat/pull/14219)) + - Regression: System messages styling ([#14189](https://github.com/RocketChat/Rocket.Chat/pull/14189)) + - Prevent click on reply thread to trigger flex tab closing ([#14215](https://github.com/RocketChat/Rocket.Chat/pull/14215)) + - created function to allow change default values, fix loading search users ([#14177](https://github.com/RocketChat/Rocket.Chat/pull/14177)) + - Use main message as thread tab title ([#14213](https://github.com/RocketChat/Rocket.Chat/pull/14213)) + - Use own logic to get thread infos via REST ([#14210](https://github.com/RocketChat/Rocket.Chat/pull/14210)) + - Regression: wrong expression at messageBox.actions.remove() ([#14192](https://github.com/RocketChat/Rocket.Chat/pull/14192)) + - Increment user counter on DMs ([#14185](https://github.com/RocketChat/Rocket.Chat/pull/14185)) + - [REGRESSION] Fix variable name references in message template ([#14184](https://github.com/RocketChat/Rocket.Chat/pull/14184)) + - Regression: Active room was not being marked ([#14276](https://github.com/RocketChat/Rocket.Chat/pull/14276)) + - Rename Cloud to Connectivity Services & split Apps in Apps and Marketplace ([#14211](https://github.com/RocketChat/Rocket.Chat/pull/14211)) + - LingoHub based on develop ([#14178](https://github.com/RocketChat/Rocket.Chat/pull/14178)) + - Regression: Discussions were not showing on Tab Bar ([#14050](https://github.com/RocketChat/Rocket.Chat/pull/14050) by [@knrt10](https://github.com/knrt10)) + - Force unstyling of blockquote under .message-body--unstyled ([#14274](https://github.com/RocketChat/Rocket.Chat/pull/14274)) + - Regression: Admin embedded layout ([#14229](https://github.com/RocketChat/Rocket.Chat/pull/14229)) + - New threads layout ([#14269](https://github.com/RocketChat/Rocket.Chat/pull/14269)) + - Improve: Marketplace auth inside Rocket.Chat instead of inside the iframe. ([#14258](https://github.com/RocketChat/Rocket.Chat/pull/14258)) + - [New] Reply privately to group messages ([#14150](https://github.com/RocketChat/Rocket.Chat/pull/14150) by [@bhardwajaditya](https://github.com/bhardwajaditya))
@@ -2489,29 +3657,46 @@ ### ๐Ÿš€ Improvements + - Open rooms quicker ([#13417](https://github.com/RocketChat/Rocket.Chat/pull/13417)) + - Allow configure Prometheus port per process via Environment Variable ([#13436](https://github.com/RocketChat/Rocket.Chat/pull/13436)) + - Add API option "permissionsRequired" ([#13430](https://github.com/RocketChat/Rocket.Chat/pull/13430)) ### ๐Ÿ› Bug fixes + - Invalid condition on getting next livechat agent over REST API endpoint ([#13360](https://github.com/RocketChat/Rocket.Chat/pull/13360)) + - "Test Desktop Notifications" not triggering a notification ([#13457](https://github.com/RocketChat/Rocket.Chat/pull/13457)) + - Translated and incorrect i18n variables ([#13463](https://github.com/RocketChat/Rocket.Chat/pull/13463) by [@leonboot](https://github.com/leonboot)) + - Properly escape custom emoji names for pattern matching ([#13408](https://github.com/RocketChat/Rocket.Chat/pull/13408)) + - Not translated emails ([#13452](https://github.com/RocketChat/Rocket.Chat/pull/13452)) + - XML-decryption module not found ([#13437](https://github.com/RocketChat/Rocket.Chat/pull/13437) by [@Hudell](https://github.com/Hudell)) + - Update Russian localization ([#13244](https://github.com/RocketChat/Rocket.Chat/pull/13244) by [@BehindLoader](https://github.com/BehindLoader)) + - Several Problems on HipChat Importer ([#13336](https://github.com/RocketChat/Rocket.Chat/pull/13336) by [@Hudell](https://github.com/Hudell)) + - Invalid push gateway configuration, requires the uniqueId ([#13423](https://github.com/RocketChat/Rocket.Chat/pull/13423)) + - Notify private settings changes even on public settings changed ([#13369](https://github.com/RocketChat/Rocket.Chat/pull/13369)) + - Misaligned upload progress bar "cancel" button ([#13407](https://github.com/RocketChat/Rocket.Chat/pull/13407))
๐Ÿ” Minor changes + - Release 0.74.3 ([#13474](https://github.com/RocketChat/Rocket.Chat/pull/13474) by [@BehindLoader](https://github.com/BehindLoader) & [@Hudell](https://github.com/Hudell) & [@leonboot](https://github.com/leonboot)) + - Room loading improvements ([#13471](https://github.com/RocketChat/Rocket.Chat/pull/13471)) + - Regression: Remove console.log on email translations ([#13456](https://github.com/RocketChat/Rocket.Chat/pull/13456))
@@ -2541,12 +3726,16 @@ ### ๐Ÿš€ Improvements + - Send `uniqueID` to all clients so Jitsi rooms can be created correctly ([#13342](https://github.com/RocketChat/Rocket.Chat/pull/13342)) ### ๐Ÿ› Bug fixes + - Rate Limiter was limiting communication between instances ([#13326](https://github.com/RocketChat/Rocket.Chat/pull/13326)) + - Setup wizard calling 'saveSetting' for each field/setting ([#13349](https://github.com/RocketChat/Rocket.Chat/pull/13349)) + - Pass token for cloud register ([#13350](https://github.com/RocketChat/Rocket.Chat/pull/13350)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -2566,24 +3755,36 @@ ### ๐ŸŽ‰ New features + - Limit all DDP/Websocket requests (configurable via admin panel) ([#13311](https://github.com/RocketChat/Rocket.Chat/pull/13311)) + - REST endpoint to forward livechat rooms ([#13308](https://github.com/RocketChat/Rocket.Chat/pull/13308)) + - Collect data for Monthly/Daily Active Users for a future dashboard ([#11525](https://github.com/RocketChat/Rocket.Chat/pull/11525)) + - Add parseUrls field to the apps message converter ([#13248](https://github.com/RocketChat/Rocket.Chat/pull/13248)) ### ๐Ÿ› Bug fixes + - Mobile view and re-enable E2E tests ([#13322](https://github.com/RocketChat/Rocket.Chat/pull/13322)) + - Hipchat Enterprise Importer not generating subscriptions ([#13293](https://github.com/RocketChat/Rocket.Chat/pull/13293) by [@Hudell](https://github.com/Hudell)) + - Message updating by Apps ([#13294](https://github.com/RocketChat/Rocket.Chat/pull/13294)) + - REST endpoint for creating custom emojis ([#13306](https://github.com/RocketChat/Rocket.Chat/pull/13306)) + - Preview of image uploads were not working when apps framework is enable ([#13303](https://github.com/RocketChat/Rocket.Chat/pull/13303)) + - HipChat Enterprise importer fails when importing a large amount of messages (millions) ([#13221](https://github.com/RocketChat/Rocket.Chat/pull/13221) by [@Hudell](https://github.com/Hudell)) + - Fix bug when user try recreate channel or group with same name and remove room from cache when user leaves room ([#12341](https://github.com/RocketChat/Rocket.Chat/pull/12341))
๐Ÿ” Minor changes + - Fix: Missing export in cloud package ([#13282](https://github.com/RocketChat/Rocket.Chat/pull/13282))
@@ -2612,91 +3813,167 @@ ### ๐ŸŽ‰ New features + - SAML: Adds possibility to decrypt encrypted assertions ([#12153](https://github.com/RocketChat/Rocket.Chat/pull/12153) by [@gerbsen](https://github.com/gerbsen)) + - Add rate limiter to REST endpoints ([#11251](https://github.com/RocketChat/Rocket.Chat/pull/11251)) + - Added an option to disable email when activate and deactivate users ([#13183](https://github.com/RocketChat/Rocket.Chat/pull/13183)) + - Add create, update and delete endpoint for custom emojis ([#13160](https://github.com/RocketChat/Rocket.Chat/pull/13160)) + - Added endpoint to update timeout of the jitsi video conference ([#13167](https://github.com/RocketChat/Rocket.Chat/pull/13167)) + - Display total number of files and total upload size in admin ([#13184](https://github.com/RocketChat/Rocket.Chat/pull/13184)) + - Livechat GDPR compliance ([#12982](https://github.com/RocketChat/Rocket.Chat/pull/12982)) + - Added stream to notify when agent status change ([#13076](https://github.com/RocketChat/Rocket.Chat/pull/13076)) + - Add new Livechat REST endpoint to update the visitor's status ([#13108](https://github.com/RocketChat/Rocket.Chat/pull/13108)) + - Add Allow Methods directive to CORS ([#13073](https://github.com/RocketChat/Rocket.Chat/pull/13073)) ### ๐Ÿš€ Improvements + - Dutch translations ([#12294](https://github.com/RocketChat/Rocket.Chat/pull/12294) by [@Jeroeny](https://github.com/Jeroeny)) + - Persian translations ([#13114](https://github.com/RocketChat/Rocket.Chat/pull/13114) by [@behnejad](https://github.com/behnejad)) + - Change the way the app detail screen shows support link when it's an email ([#13129](https://github.com/RocketChat/Rocket.Chat/pull/13129)) + - Process alerts from update checking ([#13194](https://github.com/RocketChat/Rocket.Chat/pull/13194)) + - Add "Apps Engine Version" to Administration > Info ([#13169](https://github.com/RocketChat/Rocket.Chat/pull/13169)) + - New Livechat statistics added to statistics collector ([#13168](https://github.com/RocketChat/Rocket.Chat/pull/13168)) + - Return room type field on Livechat findRoom method ([#13078](https://github.com/RocketChat/Rocket.Chat/pull/13078)) + - Return visitorEmails field on Livechat findGuest method ([#13097](https://github.com/RocketChat/Rocket.Chat/pull/13097)) + - Adds the "showConnecting" property to Livechat Config payload ([#13158](https://github.com/RocketChat/Rocket.Chat/pull/13158)) + - Adds history log for all Importers and improves HipChat import performance ([#13083](https://github.com/RocketChat/Rocket.Chat/pull/13083) by [@Hudell](https://github.com/Hudell)) + - Inject metrics on callbacks ([#13266](https://github.com/RocketChat/Rocket.Chat/pull/13266)) ### ๐Ÿ› Bug fixes + - Few polish translating ([#13112](https://github.com/RocketChat/Rocket.Chat/pull/13112) by [@theundefined](https://github.com/theundefined)) + - Few polish translating ([#13112](https://github.com/RocketChat/Rocket.Chat/pull/13112) by [@theundefined](https://github.com/theundefined)) + - Update Message: Does not show edited when message was not edited. ([#13053](https://github.com/RocketChat/Rocket.Chat/pull/13053) by [@Kailash0311](https://github.com/Kailash0311)) + - Notifications for mentions not working on large rooms and don't emit desktop notifications for offline users ([#13067](https://github.com/RocketChat/Rocket.Chat/pull/13067)) + - Emoticons not displayed in room topic ([#12858](https://github.com/RocketChat/Rocket.Chat/pull/12858) by [@alexbartsch](https://github.com/alexbartsch)) + - REST API endpoint `users.getPersonalAccessTokens` error when user has no access tokens ([#13150](https://github.com/RocketChat/Rocket.Chat/pull/13150)) + - Remove unused code for Cordova ([#13188](https://github.com/RocketChat/Rocket.Chat/pull/13188)) + - Avatars with transparency were being converted to black ([#13181](https://github.com/RocketChat/Rocket.Chat/pull/13181)) + - REST api client base url on subdir ([#13180](https://github.com/RocketChat/Rocket.Chat/pull/13180)) + - Change webdav creation, due to changes in the npm lib after last update ([#13170](https://github.com/RocketChat/Rocket.Chat/pull/13170)) + - Invite command was not accpeting @ in username ([#12927](https://github.com/RocketChat/Rocket.Chat/pull/12927) by [@piotrkochan](https://github.com/piotrkochan)) + - Remove ES6 code from Livechat widget script ([#13105](https://github.com/RocketChat/Rocket.Chat/pull/13105)) + - User status on header and user info are not translated ([#13096](https://github.com/RocketChat/Rocket.Chat/pull/13096)) + - #11692 - Suppress error when drop collection in migration to suit to โ€ฆ ([#13091](https://github.com/RocketChat/Rocket.Chat/pull/13091) by [@Xuhao](https://github.com/Xuhao)) + - Change input type of e2e to password ([#13077](https://github.com/RocketChat/Rocket.Chat/pull/13077) by [@supra08](https://github.com/supra08)) + - LDAP login of new users overwriting `fname` from all subscriptions ([#13203](https://github.com/RocketChat/Rocket.Chat/pull/13203)) + - Snap upgrade add post-refresh hook ([#13153](https://github.com/RocketChat/Rocket.Chat/pull/13153))
๐Ÿ” Minor changes + - Release 0.74.0 ([#13270](https://github.com/RocketChat/Rocket.Chat/pull/13270) by [@Xuhao](https://github.com/Xuhao) & [@supra08](https://github.com/supra08)) + - Regression: Fix message pinning ([#13213](https://github.com/RocketChat/Rocket.Chat/pull/13213) by [@TkTech](https://github.com/TkTech)) + - LingoHub based on develop ([#13201](https://github.com/RocketChat/Rocket.Chat/pull/13201)) + - Language: Edit typo "ะžะฑะฝะพะฒะปะธั‚ัŒ" ([#13177](https://github.com/RocketChat/Rocket.Chat/pull/13177) by [@zpavlig](https://github.com/zpavlig)) + - Regression: Fix export AudioRecorder ([#13192](https://github.com/RocketChat/Rocket.Chat/pull/13192)) + - Remove dependency of RocketChat namespace and push-notifications ([#13137](https://github.com/RocketChat/Rocket.Chat/pull/13137)) + - Remove dependency of RocketChat namespace and custom-sounds ([#13136](https://github.com/RocketChat/Rocket.Chat/pull/13136)) + - Remove dependency of RocketChat namespace and logger ([#13135](https://github.com/RocketChat/Rocket.Chat/pull/13135)) + - Remove dependency between RocketChat namespace and migrations ([#13133](https://github.com/RocketChat/Rocket.Chat/pull/13133)) + - Convert rocketchat:ui to main module structure ([#13132](https://github.com/RocketChat/Rocket.Chat/pull/13132)) + - Remove dependency of RocketChat namespace inside rocketchat:ui ([#13131](https://github.com/RocketChat/Rocket.Chat/pull/13131)) + - Move some ui function to ui-utils ([#13123](https://github.com/RocketChat/Rocket.Chat/pull/13123)) + - Regression: fix upload permissions ([#13157](https://github.com/RocketChat/Rocket.Chat/pull/13157)) + - Move some function to utils ([#13122](https://github.com/RocketChat/Rocket.Chat/pull/13122)) + - Remove directly dependency between rocketchat:lib and emoji ([#13118](https://github.com/RocketChat/Rocket.Chat/pull/13118)) + - Convert rocketchat-webrtc to main module structure ([#13117](https://github.com/RocketChat/Rocket.Chat/pull/13117)) + - Remove directly dependency between lib and e2e ([#13115](https://github.com/RocketChat/Rocket.Chat/pull/13115)) + - Convert rocketchat-ui-master to main module structure ([#13107](https://github.com/RocketChat/Rocket.Chat/pull/13107)) + - Regression: fix rooms model's collection name ([#13146](https://github.com/RocketChat/Rocket.Chat/pull/13146)) + - Convert rocketchat-ui-sidenav to main module structure ([#13098](https://github.com/RocketChat/Rocket.Chat/pull/13098)) + - Convert rocketchat-file-upload to main module structure ([#13094](https://github.com/RocketChat/Rocket.Chat/pull/13094)) + - Remove dependency between lib and authz ([#13066](https://github.com/RocketChat/Rocket.Chat/pull/13066)) + - Globals/main module custom oauth ([#13037](https://github.com/RocketChat/Rocket.Chat/pull/13037)) + - Move UI Collections to rocketchat:models ([#13064](https://github.com/RocketChat/Rocket.Chat/pull/13064)) + - Rocketchat mailer ([#13036](https://github.com/RocketChat/Rocket.Chat/pull/13036)) + - Move rocketchat promises ([#13039](https://github.com/RocketChat/Rocket.Chat/pull/13039)) + - Globals/move rocketchat notifications ([#13035](https://github.com/RocketChat/Rocket.Chat/pull/13035)) + - Test only MongoDB with oplog versions 3.2 and 4.0 for PRs ([#13119](https://github.com/RocketChat/Rocket.Chat/pull/13119)) + - Move/create rocketchat callbacks ([#13034](https://github.com/RocketChat/Rocket.Chat/pull/13034)) + - Move/create rocketchat metrics ([#13032](https://github.com/RocketChat/Rocket.Chat/pull/13032)) + - Move rocketchat models ([#13027](https://github.com/RocketChat/Rocket.Chat/pull/13027)) + - Move rocketchat settings to specific package ([#13026](https://github.com/RocketChat/Rocket.Chat/pull/13026)) + - Remove incorrect pt-BR translation ([#13074](https://github.com/RocketChat/Rocket.Chat/pull/13074)) + - Merge master into develop & Set version to 0.74.0-develop ([#13050](https://github.com/RocketChat/Rocket.Chat/pull/13050) by [@Hudell](https://github.com/Hudell) & [@ohmonster](https://github.com/ohmonster) & [@piotrkochan](https://github.com/piotrkochan)) + - Regression: Fix audio message upload ([#13224](https://github.com/RocketChat/Rocket.Chat/pull/13224)) + - Regression: Fix message pinning ([#13213](https://github.com/RocketChat/Rocket.Chat/pull/13213) by [@TkTech](https://github.com/TkTech)) + - Regression: Fix emoji search ([#13207](https://github.com/RocketChat/Rocket.Chat/pull/13207)) + - Change apps engine persistence bridge method to updateByAssociations ([#13239](https://github.com/RocketChat/Rocket.Chat/pull/13239))
@@ -2741,11 +4018,13 @@ ### ๐ŸŽ‰ New features + - Cloud Integration ([#13013](https://github.com/RocketChat/Rocket.Chat/pull/13013))
๐Ÿ” Minor changes + - Release 0.73.2 ([#13086](https://github.com/RocketChat/Rocket.Chat/pull/13086))
@@ -2766,13 +4045,17 @@ ### ๐Ÿ› Bug fixes + - Default importer path ([#13045](https://github.com/RocketChat/Rocket.Chat/pull/13045))
๐Ÿ” Minor changes + - Release 0.73.1 ([#13052](https://github.com/RocketChat/Rocket.Chat/pull/13052)) + - Execute tests with versions 3.2, 3.4, 3.6 and 4.0 of MongoDB ([#13049](https://github.com/RocketChat/Rocket.Chat/pull/13049)) + - Regression: Get room's members list not working on MongoDB 3.2 ([#13051](https://github.com/RocketChat/Rocket.Chat/pull/13051))
@@ -2791,152 +4074,289 @@ ### ๐ŸŽ‰ New features + - Create new permission.listAll endpoint to be able to use updatedSince parameter ([#12748](https://github.com/RocketChat/Rocket.Chat/pull/12748)) + - Mandatory 2fa for role ([#9748](https://github.com/RocketChat/Rocket.Chat/pull/9748) by [@Hudell](https://github.com/Hudell) & [@karlprieb](https://github.com/karlprieb)) + - Add query parameter support to emoji-custom endpoint ([#12754](https://github.com/RocketChat/Rocket.Chat/pull/12754)) + - Added a link to contributing.md ([#12856](https://github.com/RocketChat/Rocket.Chat/pull/12856) by [@sanketsingh24](https://github.com/sanketsingh24)) + - Added chat.getDeletedMessages since specific date ([#13010](https://github.com/RocketChat/Rocket.Chat/pull/13010)) + - Download button for each file in fileslist ([#12874](https://github.com/RocketChat/Rocket.Chat/pull/12874) by [@alexbartsch](https://github.com/alexbartsch)) + - Syncloud deploy option ([#12867](https://github.com/RocketChat/Rocket.Chat/pull/12867) by [@cyberb](https://github.com/cyberb)) + - Config hooks for snap ([#12351](https://github.com/RocketChat/Rocket.Chat/pull/12351)) + - Livechat registration form message ([#12597](https://github.com/RocketChat/Rocket.Chat/pull/12597)) + - Include message type & id in push notification payload ([#12771](https://github.com/RocketChat/Rocket.Chat/pull/12771) by [@cardoso](https://github.com/cardoso)) ### ๐Ÿš€ Improvements + - Hipchat Enterprise Importer ([#12985](https://github.com/RocketChat/Rocket.Chat/pull/12985) by [@Hudell](https://github.com/Hudell)) + - Add missing translation keys. ([#12722](https://github.com/RocketChat/Rocket.Chat/pull/12722) by [@ura14h](https://github.com/ura14h)) + - Accept Slash Commands via Action Buttons when `msg_in_chat_window: true` ([#13009](https://github.com/RocketChat/Rocket.Chat/pull/13009)) + - Allow transfer Livechats to online agents only ([#13008](https://github.com/RocketChat/Rocket.Chat/pull/13008)) + - Adding debugging instructions in README ([#12989](https://github.com/RocketChat/Rocket.Chat/pull/12989) by [@hypery2k](https://github.com/hypery2k)) + - Do not emit settings if there are no changes ([#12904](https://github.com/RocketChat/Rocket.Chat/pull/12904)) + - Returning an open room object in the Livechat config endpoint ([#12865](https://github.com/RocketChat/Rocket.Chat/pull/12865)) + - Use MongoBD aggregation to get users from a room ([#12566](https://github.com/RocketChat/Rocket.Chat/pull/12566)) + - Username suggestion logic ([#12779](https://github.com/RocketChat/Rocket.Chat/pull/12779)) ### ๐Ÿ› Bug fixes + - Avoiding links with highlighted words ([#12123](https://github.com/RocketChat/Rocket.Chat/pull/12123) by [@rssilva](https://github.com/rssilva)) + - Pin and unpin message were not checking permissions ([#12739](https://github.com/RocketChat/Rocket.Chat/pull/12739)) + - Fix users.setPreferences endpoint, set language correctly ([#12734](https://github.com/RocketChat/Rocket.Chat/pull/12734)) + - Fix set avatar http call, to avoid SSL errors ([#12790](https://github.com/RocketChat/Rocket.Chat/pull/12790)) + - Webdav integration account settings were being shown even when Webdav was disabled ([#12569](https://github.com/RocketChat/Rocket.Chat/pull/12569) by [@karakayasemi](https://github.com/karakayasemi)) + - Provide better Dutch translations ๐Ÿ‡ณ๐Ÿ‡ฑ ([#12792](https://github.com/RocketChat/Rocket.Chat/pull/12792) by [@mathysie](https://github.com/mathysie)) + - E2E`s password reaveal text is always `>%S` when language is zh ([#12795](https://github.com/RocketChat/Rocket.Chat/pull/12795) by [@lvyue](https://github.com/lvyue)) + - Nested Markdown blocks not parsed properly ([#12998](https://github.com/RocketChat/Rocket.Chat/pull/12998) by [@Hudell](https://github.com/Hudell)) + - Change JSON to EJSON.parse query to support type Date ([#12706](https://github.com/RocketChat/Rocket.Chat/pull/12706)) + - Inherit font family in message user card ([#13004](https://github.com/RocketChat/Rocket.Chat/pull/13004)) + - Some deprecation issues for media recording ([#12948](https://github.com/RocketChat/Rocket.Chat/pull/12948)) + - Stop click event propagation on mention link or user card ([#12983](https://github.com/RocketChat/Rocket.Chat/pull/12983)) + - Change field checks in RocketChat.saveStreamingOptions ([#12973](https://github.com/RocketChat/Rocket.Chat/pull/12973)) + - Remove sharp's deprecation warnings on image upload ([#12980](https://github.com/RocketChat/Rocket.Chat/pull/12980)) + - Use web.browser.legacy bundle for Livechat script ([#12975](https://github.com/RocketChat/Rocket.Chat/pull/12975)) + - Revert Jitsi external API to an asset ([#12954](https://github.com/RocketChat/Rocket.Chat/pull/12954)) + - Exception in getSingleMessage ([#12970](https://github.com/RocketChat/Rocket.Chat/pull/12970) by [@tsukiRep](https://github.com/tsukiRep)) + - multiple rooms-changed ([#12940](https://github.com/RocketChat/Rocket.Chat/pull/12940)) + - Readable validation on the apps engine environment bridge ([#12994](https://github.com/RocketChat/Rocket.Chat/pull/12994)) + - Check for object falsehood before referencing properties in saveRoomSettings ([#12972](https://github.com/RocketChat/Rocket.Chat/pull/12972)) + - Spotlight being called while in background ([#12957](https://github.com/RocketChat/Rocket.Chat/pull/12957)) + - Padding for message box in embedded layout ([#12556](https://github.com/RocketChat/Rocket.Chat/pull/12556)) + - Crowd sync was being stopped when a user was not found ([#12930](https://github.com/RocketChat/Rocket.Chat/pull/12930) by [@piotrkochan](https://github.com/piotrkochan)) + - Some icons were missing ([#12913](https://github.com/RocketChat/Rocket.Chat/pull/12913)) + - User data download fails when a room has been deleted. ([#12829](https://github.com/RocketChat/Rocket.Chat/pull/12829) by [@Hudell](https://github.com/Hudell)) + - CAS Login not working with renamed users ([#12860](https://github.com/RocketChat/Rocket.Chat/pull/12860) by [@Hudell](https://github.com/Hudell)) + - Stream of my_message wasn't sending the room information ([#12914](https://github.com/RocketChat/Rocket.Chat/pull/12914)) + - cannot reset password ([#12903](https://github.com/RocketChat/Rocket.Chat/pull/12903) by [@Hudell](https://github.com/Hudell)) + - Version check update notification ([#12905](https://github.com/RocketChat/Rocket.Chat/pull/12905)) + - Data Import not working ([#12866](https://github.com/RocketChat/Rocket.Chat/pull/12866) by [@Hudell](https://github.com/Hudell)) + - Incorrect parameter name in Livechat stream ([#12851](https://github.com/RocketChat/Rocket.Chat/pull/12851)) + - Autotranslate icon on message action menu ([#12585](https://github.com/RocketChat/Rocket.Chat/pull/12585)) + - Google Cloud Storage storage provider ([#12843](https://github.com/RocketChat/Rocket.Chat/pull/12843)) + - Download files without extension wasn't possible ([#13033](https://github.com/RocketChat/Rocket.Chat/pull/13033))
๐Ÿ” Minor changes + - LingoHub based on develop ([#13014](https://github.com/RocketChat/Rocket.Chat/pull/13014)) + - Move isFirefox and isChrome functions to rocketchat-utils ([#13011](https://github.com/RocketChat/Rocket.Chat/pull/13011)) + - Move tapi18n t and isRtl functions from ui to utils ([#13005](https://github.com/RocketChat/Rocket.Chat/pull/13005)) + - Remove /* globals */ wave 4 ([#12999](https://github.com/RocketChat/Rocket.Chat/pull/12999)) + - Remove /* globals */ wave 3 ([#12997](https://github.com/RocketChat/Rocket.Chat/pull/12997)) + - Convert rocketchat-logger to main module structure and remove Logger from eslintrc ([#12995](https://github.com/RocketChat/Rocket.Chat/pull/12995)) + - Remove /* globals */ wave 2 ([#12988](https://github.com/RocketChat/Rocket.Chat/pull/12988)) + - Remove /* globals */ from files wave-1 ([#12984](https://github.com/RocketChat/Rocket.Chat/pull/12984)) + - Move globals of test to a specific eslintrc file ([#12959](https://github.com/RocketChat/Rocket.Chat/pull/12959)) + - Remove global ServiceConfiguration ([#12960](https://github.com/RocketChat/Rocket.Chat/pull/12960)) + - Remove global toastr ([#12961](https://github.com/RocketChat/Rocket.Chat/pull/12961)) + - Convert rocketchat-livechat to main module structure ([#12942](https://github.com/RocketChat/Rocket.Chat/pull/12942)) + - changed maxRoomsOpen ([#12949](https://github.com/RocketChat/Rocket.Chat/pull/12949)) + - Revert imports of css, reAdd them to the addFiles function ([#12934](https://github.com/RocketChat/Rocket.Chat/pull/12934)) + - Convert rocketchat-theme to main module structure ([#12896](https://github.com/RocketChat/Rocket.Chat/pull/12896)) + - Convert rocketchat-katex to main module structure ([#12895](https://github.com/RocketChat/Rocket.Chat/pull/12895)) + - Convert rocketchat-webdav to main module structure ([#12886](https://github.com/RocketChat/Rocket.Chat/pull/12886)) + - Convert rocketchat-ui-message to main module structure ([#12871](https://github.com/RocketChat/Rocket.Chat/pull/12871)) + - Convert rocketchat-videobridge to main module structure ([#12881](https://github.com/RocketChat/Rocket.Chat/pull/12881)) + - Convert rocketchat-reactions to main module structure ([#12888](https://github.com/RocketChat/Rocket.Chat/pull/12888)) + - Convert rocketchat-wordpress to main module structure ([#12887](https://github.com/RocketChat/Rocket.Chat/pull/12887)) + - Fix: snap push from ci ([#12883](https://github.com/RocketChat/Rocket.Chat/pull/12883)) + - Convert rocketchat-version-check to main module structure ([#12879](https://github.com/RocketChat/Rocket.Chat/pull/12879)) + - Convert rocketchat-user-data-dowload to main module structure ([#12877](https://github.com/RocketChat/Rocket.Chat/pull/12877)) + - Convert rocketchat-ui-vrecord to main module structure ([#12875](https://github.com/RocketChat/Rocket.Chat/pull/12875)) + - Convert rocketchat-ui-login to main module structure ([#12861](https://github.com/RocketChat/Rocket.Chat/pull/12861)) + - Convert rocketchat-ui-flextab to main module structure ([#12859](https://github.com/RocketChat/Rocket.Chat/pull/12859)) + - German translation typo fix for Reacted_with ([#12761](https://github.com/RocketChat/Rocket.Chat/pull/12761) by [@localguru](https://github.com/localguru)) + - Convert rocketchat-ui-account to main module structure ([#12842](https://github.com/RocketChat/Rocket.Chat/pull/12842)) + - Convert rocketchat-ui-clean-history to main module structure ([#12846](https://github.com/RocketChat/Rocket.Chat/pull/12846)) + - Convert rocketchat-ui-admin to main module structure ([#12844](https://github.com/RocketChat/Rocket.Chat/pull/12844)) + - Convert rocketchat-tokenpass to main module structure ([#12838](https://github.com/RocketChat/Rocket.Chat/pull/12838)) + - Remove rocketchat-tutum package ([#12840](https://github.com/RocketChat/Rocket.Chat/pull/12840)) + - Convert rocketchat-tooltip to main module structure ([#12839](https://github.com/RocketChat/Rocket.Chat/pull/12839)) + - Convert rocketchat-token-login to main module structure ([#12837](https://github.com/RocketChat/Rocket.Chat/pull/12837)) + - Convert rocketchat-statistics to main module structure ([#12833](https://github.com/RocketChat/Rocket.Chat/pull/12833)) + - Convert rocketchat-spotify to main module structure ([#12832](https://github.com/RocketChat/Rocket.Chat/pull/12832)) + - Convert rocketchat-sms to main module structure ([#12831](https://github.com/RocketChat/Rocket.Chat/pull/12831)) + - Convert rocketchat-search to main module structure ([#12801](https://github.com/RocketChat/Rocket.Chat/pull/12801)) + - Convert rocketchat-message-pin to main module structure ([#12767](https://github.com/RocketChat/Rocket.Chat/pull/12767)) + - Convert rocketchat-message-star to main module structure ([#12770](https://github.com/RocketChat/Rocket.Chat/pull/12770)) + - Convert rocketchat-slashcommands-msg to main module structure ([#12823](https://github.com/RocketChat/Rocket.Chat/pull/12823)) + - Convert rocketchat-smarsh-connector to main module structure ([#12830](https://github.com/RocketChat/Rocket.Chat/pull/12830)) + - Convert rocketchat-slider to main module structure ([#12828](https://github.com/RocketChat/Rocket.Chat/pull/12828)) + - Convert rocketchat-slashcommands-unarchiveroom to main module structure ([#12827](https://github.com/RocketChat/Rocket.Chat/pull/12827)) + - Dependencies update ([#12624](https://github.com/RocketChat/Rocket.Chat/pull/12624)) + - Convert rocketchat-slashcommands-topic to main module structure ([#12826](https://github.com/RocketChat/Rocket.Chat/pull/12826)) + - Convert rocketchat-slashcommands-open to main module structure ([#12825](https://github.com/RocketChat/Rocket.Chat/pull/12825)) + - Convert rocketchat-slashcommands-mute to main module structure ([#12824](https://github.com/RocketChat/Rocket.Chat/pull/12824)) + - Convert rocketchat-slashcommands-me to main module structure ([#12822](https://github.com/RocketChat/Rocket.Chat/pull/12822)) + - Convert rocketchat-slashcommands-leave to main module structure ([#12821](https://github.com/RocketChat/Rocket.Chat/pull/12821)) + - Convert rocketchat-slashcommands-kick to main module structure ([#12817](https://github.com/RocketChat/Rocket.Chat/pull/12817)) + - Convert rocketchat-slashcommands-join to main module structure ([#12816](https://github.com/RocketChat/Rocket.Chat/pull/12816)) + - Convert rocketchat-slashcommands-inviteall to main module structure ([#12815](https://github.com/RocketChat/Rocket.Chat/pull/12815)) + - Convert rocketchat-slashcommands-invite to main module structure ([#12814](https://github.com/RocketChat/Rocket.Chat/pull/12814)) + - Convert rocketchat-slashcommands-hide to main module structure ([#12813](https://github.com/RocketChat/Rocket.Chat/pull/12813)) + - Convert rocketchat-slashcommands-help to main module structure ([#12812](https://github.com/RocketChat/Rocket.Chat/pull/12812)) + - Convert rocketchat-slashcommands-create to main module structure ([#12811](https://github.com/RocketChat/Rocket.Chat/pull/12811)) + - Convert rocketchat-slashcomands-archiveroom to main module structure ([#12810](https://github.com/RocketChat/Rocket.Chat/pull/12810)) + - Convert rocketchat-slashcommands-asciiarts to main module structure ([#12808](https://github.com/RocketChat/Rocket.Chat/pull/12808)) + - Convert rocketchat-slackbridge to main module structure ([#12807](https://github.com/RocketChat/Rocket.Chat/pull/12807)) + - Convert rocketchat-setup-wizard to main module structure ([#12806](https://github.com/RocketChat/Rocket.Chat/pull/12806)) + - Convert rocketchat-sandstorm to main module structure ([#12799](https://github.com/RocketChat/Rocket.Chat/pull/12799)) + - Convert rocketchat-oauth2-server-config to main module structure ([#12773](https://github.com/RocketChat/Rocket.Chat/pull/12773)) + - Convert rocketchat-message-snippet to main module structure ([#12768](https://github.com/RocketChat/Rocket.Chat/pull/12768)) + - Fix CI deploy job ([#12803](https://github.com/RocketChat/Rocket.Chat/pull/12803)) + - Convert rocketchat-retention-policy to main module structure ([#12797](https://github.com/RocketChat/Rocket.Chat/pull/12797)) + - Convert rocketchat-push-notifications to main module structure ([#12778](https://github.com/RocketChat/Rocket.Chat/pull/12778)) + - Convert rocketchat-otr to main module structure ([#12777](https://github.com/RocketChat/Rocket.Chat/pull/12777)) + - Convert rocketchat-oembed to main module structure ([#12775](https://github.com/RocketChat/Rocket.Chat/pull/12775)) + - Convert rocketchat-migrations to main-module structure ([#12772](https://github.com/RocketChat/Rocket.Chat/pull/12772)) + - Convert rocketchat-message-mark-as-unread to main module structure ([#12766](https://github.com/RocketChat/Rocket.Chat/pull/12766)) + - Remove conventional changelog cli, we are using our own cli now (Houston) ([#12798](https://github.com/RocketChat/Rocket.Chat/pull/12798)) + - Convert rocketchat-message-attachments to main module structure ([#12760](https://github.com/RocketChat/Rocket.Chat/pull/12760)) + - Convert rocketchat-message-action to main module structure ([#12759](https://github.com/RocketChat/Rocket.Chat/pull/12759)) + - Convert rocketchat-mentions-flextab to main module structure ([#12757](https://github.com/RocketChat/Rocket.Chat/pull/12757)) + - Convert rocketchat-mentions to main module structure ([#12756](https://github.com/RocketChat/Rocket.Chat/pull/12756)) + - Convert rocketchat-markdown to main module structure ([#12755](https://github.com/RocketChat/Rocket.Chat/pull/12755)) + - Convert rocketchat-mapview to main module structure ([#12701](https://github.com/RocketChat/Rocket.Chat/pull/12701)) + - Add check to make sure releases was updated ([#12791](https://github.com/RocketChat/Rocket.Chat/pull/12791)) + - Merge master into develop & Set version to 0.73.0-develop ([#12776](https://github.com/RocketChat/Rocket.Chat/pull/12776)) + - Change `chat.getDeletedMessages` to get messages after informed date and return only message's _id ([#13021](https://github.com/RocketChat/Rocket.Chat/pull/13021)) + - Improve Importer code quality ([#13020](https://github.com/RocketChat/Rocket.Chat/pull/13020) by [@Hudell](https://github.com/Hudell)) + - Regression: List of custom emojis wasn't working ([#13031](https://github.com/RocketChat/Rocket.Chat/pull/13031))
@@ -2979,6 +4399,7 @@
๐Ÿ” Minor changes + - Release 0.72.3 ([#12932](https://github.com/RocketChat/Rocket.Chat/pull/12932) by [@Hudell](https://github.com/Hudell) & [@piotrkochan](https://github.com/piotrkochan))
@@ -2999,12 +4420,15 @@ ### ๐Ÿ› Bug fixes + - line-height for unread bar buttons (jump to first and mark as read) ([#12900](https://github.com/RocketChat/Rocket.Chat/pull/12900)) + - PDF view loading indicator ([#12882](https://github.com/RocketChat/Rocket.Chat/pull/12882))
๐Ÿ” Minor changes + - Release 0.72.2 ([#12901](https://github.com/RocketChat/Rocket.Chat/pull/12901))
@@ -3019,16 +4443,23 @@ ### ๐Ÿ› Bug fixes + - Change spread operator to Array.from for Edge browser ([#12818](https://github.com/RocketChat/Rocket.Chat/pull/12818) by [@ohmonster](https://github.com/ohmonster)) + - API users.info returns caller rooms and not requested user ones ([#12727](https://github.com/RocketChat/Rocket.Chat/pull/12727) by [@piotrkochan](https://github.com/piotrkochan)) + - Missing HipChat Enterprise Importer ([#12847](https://github.com/RocketChat/Rocket.Chat/pull/12847) by [@Hudell](https://github.com/Hudell)) + - Emoji as avatar ([#12805](https://github.com/RocketChat/Rocket.Chat/pull/12805))
๐Ÿ” Minor changes + - Release 0.72.1 ([#12850](https://github.com/RocketChat/Rocket.Chat/pull/12850) by [@Hudell](https://github.com/Hudell) & [@ohmonster](https://github.com/ohmonster) & [@piotrkochan](https://github.com/piotrkochan)) + - Bump Apps-Engine version ([#12848](https://github.com/RocketChat/Rocket.Chat/pull/12848)) + - Change file order in rocketchat-cors ([#12804](https://github.com/RocketChat/Rocket.Chat/pull/12804))
@@ -3052,143 +4483,268 @@ ### โš ๏ธ BREAKING CHANGES + - Support for Cordova (Rocket.Chat Legacy app) has reached End-of-life, support has been discontinued + - Update to Meteor to 1.8 ([#12468](https://github.com/RocketChat/Rocket.Chat/pull/12468)) ### ๐ŸŽ‰ New features + - Add permission to enable personal access token to specific roles ([#12309](https://github.com/RocketChat/Rocket.Chat/pull/12309)) + - Option to reset e2e key ([#12483](https://github.com/RocketChat/Rocket.Chat/pull/12483) by [@Hudell](https://github.com/Hudell)) + - /api/v1/spotlight: return joinCodeRequired field for rooms ([#12651](https://github.com/RocketChat/Rocket.Chat/pull/12651) by [@cardoso](https://github.com/cardoso)) + - New API Endpoints for the new version of JS SDK ([#12623](https://github.com/RocketChat/Rocket.Chat/pull/12623)) + - Setting to configure robots.txt content ([#12547](https://github.com/RocketChat/Rocket.Chat/pull/12547) by [@Hudell](https://github.com/Hudell)) + - Make Livechat's widget draggable ([#12378](https://github.com/RocketChat/Rocket.Chat/pull/12378)) ### ๐Ÿš€ Improvements + - Improve unreads and unreadsFrom response, prevent it to be equal null ([#12563](https://github.com/RocketChat/Rocket.Chat/pull/12563)) + - Add rooms property in user object, if the user has the permission, with rooms roles ([#12105](https://github.com/RocketChat/Rocket.Chat/pull/12105)) + - border-radius to use --border-radius ([#12675](https://github.com/RocketChat/Rocket.Chat/pull/12675)) + - Update the 'keyboard shortcuts' documentation ([#12564](https://github.com/RocketChat/Rocket.Chat/pull/12564) by [@nicolasbock](https://github.com/nicolasbock)) + - Add new acceptable header for Livechat REST requests ([#12561](https://github.com/RocketChat/Rocket.Chat/pull/12561)) + - Atlassian Crowd settings and option to sync user data ([#12616](https://github.com/RocketChat/Rocket.Chat/pull/12616)) + - CircleCI to use MongoDB 4.0 for testing ([#12618](https://github.com/RocketChat/Rocket.Chat/pull/12618)) + - Japanese translations ([#12382](https://github.com/RocketChat/Rocket.Chat/pull/12382) by [@ura14h](https://github.com/ura14h)) + - Add CTRL modifier for keyboard shortcut ([#12525](https://github.com/RocketChat/Rocket.Chat/pull/12525) by [@nicolasbock](https://github.com/nicolasbock)) + - Ignore non-existent Livechat custom fields on Livechat API ([#12522](https://github.com/RocketChat/Rocket.Chat/pull/12522)) + - Emoji search on messageBox behaving like emojiPicker's search (#9607) ([#12452](https://github.com/RocketChat/Rocket.Chat/pull/12452) by [@vinade](https://github.com/vinade)) + - German translations ([#12471](https://github.com/RocketChat/Rocket.Chat/pull/12471) by [@mrsimpson](https://github.com/mrsimpson)) + - Limit the number of typing users shown (#8722) ([#12400](https://github.com/RocketChat/Rocket.Chat/pull/12400) by [@vinade](https://github.com/vinade)) + - Allow apps to update persistence by association ([#12714](https://github.com/RocketChat/Rocket.Chat/pull/12714)) + - Add more methods to deal with rooms via Rocket.Chat.Apps ([#12680](https://github.com/RocketChat/Rocket.Chat/pull/12680)) + - Better query for finding subscriptions that need a new E2E Key ([#12692](https://github.com/RocketChat/Rocket.Chat/pull/12692) by [@Hudell](https://github.com/Hudell)) ### ๐Ÿ› Bug fixes + - Fixed Anonymous Registration ([#12633](https://github.com/RocketChat/Rocket.Chat/pull/12633) by [@wreiske](https://github.com/wreiske)) + - high cpu usage ~ svg icon ([#12677](https://github.com/RocketChat/Rocket.Chat/pull/12677) by [@ph1p](https://github.com/ph1p)) + - Fix favico error ([#12643](https://github.com/RocketChat/Rocket.Chat/pull/12643)) + - Condition to not render PDF preview ([#12632](https://github.com/RocketChat/Rocket.Chat/pull/12632)) + - Admin styles ([#12614](https://github.com/RocketChat/Rocket.Chat/pull/12614)) + - Admin styles ([#12602](https://github.com/RocketChat/Rocket.Chat/pull/12602)) + - Change registration message when user need to confirm email ([#9336](https://github.com/RocketChat/Rocket.Chat/pull/9336) by [@karlprieb](https://github.com/karlprieb)) + - Import missed file in rocketchat-authorization ([#12570](https://github.com/RocketChat/Rocket.Chat/pull/12570)) + - Prevent subscriptions and calls to rooms events that the user is not participating ([#12558](https://github.com/RocketChat/Rocket.Chat/pull/12558)) + - Wrong test case for `users.setAvatar` endpoint ([#12539](https://github.com/RocketChat/Rocket.Chat/pull/12539)) + - Spotlight method being called multiple times ([#12536](https://github.com/RocketChat/Rocket.Chat/pull/12536)) + - German translation for for API_EmbedIgnoredHosts label ([#12518](https://github.com/RocketChat/Rocket.Chat/pull/12518) by [@mbrodala](https://github.com/mbrodala)) + - Handle all events for enter key in message box ([#12507](https://github.com/RocketChat/Rocket.Chat/pull/12507)) + - Fix wrong parameter in chat.delete endpoint and add some test cases ([#12408](https://github.com/RocketChat/Rocket.Chat/pull/12408)) + - Manage own integrations permissions check ([#12397](https://github.com/RocketChat/Rocket.Chat/pull/12397)) + - stream room-changed ([#12411](https://github.com/RocketChat/Rocket.Chat/pull/12411)) + - Emoji picker is not in viewport on small screens ([#12457](https://github.com/RocketChat/Rocket.Chat/pull/12457) by [@ramrami](https://github.com/ramrami)) + - `Disabled` word translation to Spanish ([#12406](https://github.com/RocketChat/Rocket.Chat/pull/12406) by [@Ismaw34](https://github.com/Ismaw34)) + - `Disabled` word translation to Chinese ([#12260](https://github.com/RocketChat/Rocket.Chat/pull/12260) by [@AndreamApp](https://github.com/AndreamApp)) + - Correct roomName value in Mail Messages (#12363) ([#12453](https://github.com/RocketChat/Rocket.Chat/pull/12453) by [@vinade](https://github.com/vinade)) + - Update caret position on insert a new line in message box ([#12713](https://github.com/RocketChat/Rocket.Chat/pull/12713)) + - DE translation for idle-time-limit ([#12637](https://github.com/RocketChat/Rocket.Chat/pull/12637) by [@pfuender](https://github.com/pfuender))
๐Ÿ” Minor changes + - LingoHub based on develop ([#12684](https://github.com/RocketChat/Rocket.Chat/pull/12684)) + - Convert rocketchat-mail-messages to main module structure ([#12682](https://github.com/RocketChat/Rocket.Chat/pull/12682)) + - Convert rocketchat-livestream to main module structure ([#12679](https://github.com/RocketChat/Rocket.Chat/pull/12679)) + - Added "npm install" to quick start for developers ([#12374](https://github.com/RocketChat/Rocket.Chat/pull/12374) by [@wreiske](https://github.com/wreiske)) + - Convert rocketchat-ldap to main module structure ([#12678](https://github.com/RocketChat/Rocket.Chat/pull/12678)) + - Convert rocketchat-issuelinks to main module structure ([#12674](https://github.com/RocketChat/Rocket.Chat/pull/12674)) + - Convert rocketchat-integrations to main module structure ([#12670](https://github.com/RocketChat/Rocket.Chat/pull/12670)) + - Convert rocketchat-irc to main module structure ([#12672](https://github.com/RocketChat/Rocket.Chat/pull/12672)) + - Convert rocketchat-internal-hubot to main module structure ([#12671](https://github.com/RocketChat/Rocket.Chat/pull/12671)) + - Convert rocketchat-importer-hipchat-enterprise to main module structure ([#12665](https://github.com/RocketChat/Rocket.Chat/pull/12665)) + - Convert rocketchat-importer-slack-users to main module structure ([#12669](https://github.com/RocketChat/Rocket.Chat/pull/12669)) + - Convert rocketchat-importer-slack to main module structure ([#12666](https://github.com/RocketChat/Rocket.Chat/pull/12666)) + - Convert rocketchat-iframe-login to main module structure ([#12661](https://github.com/RocketChat/Rocket.Chat/pull/12661)) + - Convert rocketchat-importer to main module structure ([#12662](https://github.com/RocketChat/Rocket.Chat/pull/12662)) + - Convert rocketchat-importer-csv to main module structure ([#12663](https://github.com/RocketChat/Rocket.Chat/pull/12663)) + - Convert rocketchat-importer-hipchat to main module structure ([#12664](https://github.com/RocketChat/Rocket.Chat/pull/12664)) + - Convert rocketchat-highlight-words to main module structure ([#12659](https://github.com/RocketChat/Rocket.Chat/pull/12659)) + - Convert rocketchat-grant to main module structure ([#12657](https://github.com/RocketChat/Rocket.Chat/pull/12657)) + - Convert rocketchat-graphql to main module structure ([#12658](https://github.com/RocketChat/Rocket.Chat/pull/12658)) + - Convert rocketchat-google-vision to main module structure ([#12649](https://github.com/RocketChat/Rocket.Chat/pull/12649)) + - Removed RocketChatFile from globals ([#12650](https://github.com/RocketChat/Rocket.Chat/pull/12650)) + - Added imports for global variables in rocketchat-google-natural-language package ([#12647](https://github.com/RocketChat/Rocket.Chat/pull/12647)) + - Convert rocketchat-gitlab to main module structure ([#12646](https://github.com/RocketChat/Rocket.Chat/pull/12646)) + - Convert rocketchat-file to main module structure ([#12644](https://github.com/RocketChat/Rocket.Chat/pull/12644)) + - Convert rocketchat-github-enterprise to main module structure ([#12642](https://github.com/RocketChat/Rocket.Chat/pull/12642)) + - Fix: Add email dependency in package.js ([#12645](https://github.com/RocketChat/Rocket.Chat/pull/12645)) + - Convert rocketchat-custom-sounds to main module structure ([#12599](https://github.com/RocketChat/Rocket.Chat/pull/12599)) + - Fix crowd error with import of SyncedCron ([#12641](https://github.com/RocketChat/Rocket.Chat/pull/12641)) + - Convert emoji-emojione to main module structure ([#12605](https://github.com/RocketChat/Rocket.Chat/pull/12605)) + - Convert rocketchat-favico to main module structure ([#12607](https://github.com/RocketChat/Rocket.Chat/pull/12607)) + - Convert rocketchat-emoji-custom to main module structure ([#12604](https://github.com/RocketChat/Rocket.Chat/pull/12604)) + - Convert rocketchat-error-handler to main module structure ([#12606](https://github.com/RocketChat/Rocket.Chat/pull/12606)) + - Convert rocketchat-drupal to main module structure ([#12601](https://github.com/RocketChat/Rocket.Chat/pull/12601)) + - Convert rocketchat-crowd to main module structure ([#12596](https://github.com/RocketChat/Rocket.Chat/pull/12596)) + - Convert rocketchat-emoji to main module structure ([#12603](https://github.com/RocketChat/Rocket.Chat/pull/12603)) + - Fix users.setAvatar endpoint tests and logic ([#12625](https://github.com/RocketChat/Rocket.Chat/pull/12625)) + - [DOCS] Remove Cordova links, include F-Droid download button and few other adjustments ([#12583](https://github.com/RocketChat/Rocket.Chat/pull/12583) by [@rafaelks](https://github.com/rafaelks)) + - Convert rocketchat-dolphin to main module structure ([#12600](https://github.com/RocketChat/Rocket.Chat/pull/12600)) + - Convert rocketchat-channel-settings to main module structure ([#12594](https://github.com/RocketChat/Rocket.Chat/pull/12594)) + - Convert rocketchat-cors to main module structure ([#12595](https://github.com/RocketChat/Rocket.Chat/pull/12595)) + - Convert rocketchat-autotranslate to main module structure ([#12530](https://github.com/RocketChat/Rocket.Chat/pull/12530)) + - Convert rocketchat-channel-settings-mail-messages to main module structure ([#12537](https://github.com/RocketChat/Rocket.Chat/pull/12537)) + - Convert rocketchat-colors to main module structure ([#12538](https://github.com/RocketChat/Rocket.Chat/pull/12538)) + - Convert rocketchat-cas to main module structure ([#12532](https://github.com/RocketChat/Rocket.Chat/pull/12532)) + - Convert rocketchat-bot-helpers to main module structure ([#12531](https://github.com/RocketChat/Rocket.Chat/pull/12531)) + - Convert rocketchat-autolinker to main module structure ([#12529](https://github.com/RocketChat/Rocket.Chat/pull/12529)) + - Convert rocketchat-authorization to main module structure ([#12523](https://github.com/RocketChat/Rocket.Chat/pull/12523)) + - Fix CSS import order ([#12524](https://github.com/RocketChat/Rocket.Chat/pull/12524)) + - Remove template for feature requests as issues ([#12426](https://github.com/RocketChat/Rocket.Chat/pull/12426)) + - Fix punctuation, spelling, and grammar ([#12451](https://github.com/RocketChat/Rocket.Chat/pull/12451) by [@imronras](https://github.com/imronras)) + - Convert rocketchat-assets to main module structure ([#12521](https://github.com/RocketChat/Rocket.Chat/pull/12521)) + - Convert rocketchat-api to main module structure ([#12510](https://github.com/RocketChat/Rocket.Chat/pull/12510)) + - Convert rocketchat-analytics to main module structure ([#12506](https://github.com/RocketChat/Rocket.Chat/pull/12506)) + - Convert rocketchat-action-links to main module structure ([#12503](https://github.com/RocketChat/Rocket.Chat/pull/12503)) + - Convert rocketchat-2fa to main module structure ([#12501](https://github.com/RocketChat/Rocket.Chat/pull/12501)) + - Convert meteor-timesync to main module structure ([#12495](https://github.com/RocketChat/Rocket.Chat/pull/12495)) + - Convert meteor-autocomplete package to main module structure ([#12491](https://github.com/RocketChat/Rocket.Chat/pull/12491)) + - Convert meteor-accounts-saml to main module structure ([#12486](https://github.com/RocketChat/Rocket.Chat/pull/12486)) + - Convert chatpal search package to modular structure ([#12485](https://github.com/RocketChat/Rocket.Chat/pull/12485)) + - Removal of TAPi18n and TAPi18next global variables ([#12467](https://github.com/RocketChat/Rocket.Chat/pull/12467)) + - Removal of Template, Blaze, BlazeLayout, FlowRouter, DDPRateLimiter, Session, UAParser, Promise, Reload and CryptoJS global variables ([#12433](https://github.com/RocketChat/Rocket.Chat/pull/12433)) + - Removal of Match, check, moment, Tracker and Mongo global variables ([#12410](https://github.com/RocketChat/Rocket.Chat/pull/12410)) + - Removal of EJSON, Accounts, Email, HTTP, Random, ReactiveDict, ReactiveVar, SHA256 and WebApp global variables ([#12377](https://github.com/RocketChat/Rocket.Chat/pull/12377)) + - Removal of Meteor global variable ([#12371](https://github.com/RocketChat/Rocket.Chat/pull/12371)) + - Fix ES translation ([#12509](https://github.com/RocketChat/Rocket.Chat/pull/12509)) + - LingoHub based on develop ([#12470](https://github.com/RocketChat/Rocket.Chat/pull/12470)) + - Update npm dependencies ([#12465](https://github.com/RocketChat/Rocket.Chat/pull/12465)) + - Fix: Developers not being able to debug root files in VSCode ([#12440](https://github.com/RocketChat/Rocket.Chat/pull/12440) by [@mrsimpson](https://github.com/mrsimpson)) + - Merge master into develop & Set version to 0.72.0-develop ([#12460](https://github.com/RocketChat/Rocket.Chat/pull/12460) by [@Hudell](https://github.com/Hudell)) + - Fix some Ukrainian translations ([#12712](https://github.com/RocketChat/Rocket.Chat/pull/12712) by [@zdumitru](https://github.com/zdumitru)) + - Improve: Add missing translation keys. ([#12708](https://github.com/RocketChat/Rocket.Chat/pull/12708) by [@ura14h](https://github.com/ura14h)) + - Bump Apps Engine to 1.3.0 ([#12705](https://github.com/RocketChat/Rocket.Chat/pull/12705)) + - Fix: Exception when registering a user with gravatar ([#12699](https://github.com/RocketChat/Rocket.Chat/pull/12699)) + - Fix: Fix tests by increasing window size ([#12707](https://github.com/RocketChat/Rocket.Chat/pull/12707)) + - Update Apps Engine to 1.3.1 ([#12741](https://github.com/RocketChat/Rocket.Chat/pull/12741)) + - Regression: Expand Administration sections by toggling section title ([#12736](https://github.com/RocketChat/Rocket.Chat/pull/12736)) + - Regression: Fix Safari detection in PDF previewing ([#12737](https://github.com/RocketChat/Rocket.Chat/pull/12737)) + - Regression: Account pages layout ([#12735](https://github.com/RocketChat/Rocket.Chat/pull/12735)) + - Regression: Inherit font-family for message box ([#12729](https://github.com/RocketChat/Rocket.Chat/pull/12729))
@@ -3240,11 +4796,13 @@ ### ๐Ÿ› Bug fixes + - Email sending with GDPR user data ([#12487](https://github.com/RocketChat/Rocket.Chat/pull/12487))
๐Ÿ” Minor changes + - Release 0.71.1 ([#12499](https://github.com/RocketChat/Rocket.Chat/pull/12499))
@@ -3262,59 +4820,100 @@ ### โš ๏ธ BREAKING CHANGES + - Update `lastMessage` rooms property and convert the "starred" property, to the same format ([#12266](https://github.com/RocketChat/Rocket.Chat/pull/12266)) + - Add expiration to API login tokens and fix duplicate login tokens created by LDAP ([#12186](https://github.com/RocketChat/Rocket.Chat/pull/12186)) ### ๐ŸŽ‰ New features + - Add delete channel mutation to GraphQL API ([#11860](https://github.com/RocketChat/Rocket.Chat/pull/11860)) + - sidenav size on large screens ([#12372](https://github.com/RocketChat/Rocket.Chat/pull/12372)) + - Ability to disable user presence monitor ([#12353](https://github.com/RocketChat/Rocket.Chat/pull/12353)) + - PDF message attachment preview (client side rendering) ([#10519](https://github.com/RocketChat/Rocket.Chat/pull/10519) by [@kb0304](https://github.com/kb0304)) + - Add "help wanted" section to Readme ([#12432](https://github.com/RocketChat/Rocket.Chat/pull/12432) by [@isabellarussell](https://github.com/isabellarussell)) ### ๐Ÿš€ Improvements + - Livechat room closure endpoints ([#12360](https://github.com/RocketChat/Rocket.Chat/pull/12360)) + - Set Livechat department before register guest ([#12161](https://github.com/RocketChat/Rocket.Chat/pull/12161)) + - Add missing livechat i18n keys ([#12330](https://github.com/RocketChat/Rocket.Chat/pull/12330) by [@MarcosEllys](https://github.com/MarcosEllys)) + - Avoid unnecessary calls to Meteor.user() on client ([#11212](https://github.com/RocketChat/Rocket.Chat/pull/11212)) + - Allow the imports to accept any file type ([#12425](https://github.com/RocketChat/Rocket.Chat/pull/12425)) ### ๐Ÿ› Bug fixes + - Add image dimensions to attachment even when no reorientation is required ([#11521](https://github.com/RocketChat/Rocket.Chat/pull/11521)) + - iframe login token not checked ([#12158](https://github.com/RocketChat/Rocket.Chat/pull/12158) by [@nimetu](https://github.com/nimetu)) + - REST `users.setAvatar` endpoint wasn't allowing update the avatar of other users even with correct permissions ([#11431](https://github.com/RocketChat/Rocket.Chat/pull/11431)) + - Slack importer: image previews not showing ([#11875](https://github.com/RocketChat/Rocket.Chat/pull/11875) by [@Hudell](https://github.com/Hudell) & [@madguy02](https://github.com/madguy02)) + - Edit room name with uppercase letters ([#12235](https://github.com/RocketChat/Rocket.Chat/pull/12235) by [@nikeee](https://github.com/nikeee)) + - Custom OAuth Configuration can't be removed ([#12256](https://github.com/RocketChat/Rocket.Chat/pull/12256) by [@Hudell](https://github.com/Hudell)) + - Remove e2e from users endpoint responses ([#12344](https://github.com/RocketChat/Rocket.Chat/pull/12344)) + - email api TAPi18n is undefined ([#12373](https://github.com/RocketChat/Rocket.Chat/pull/12373)) + - Blockstack errors in IE 11 ([#12338](https://github.com/RocketChat/Rocket.Chat/pull/12338)) + - avatar?_dc=undefined ([#12365](https://github.com/RocketChat/Rocket.Chat/pull/12365)) + - users.register endpoint to not create an user if username already being used ([#12297](https://github.com/RocketChat/Rocket.Chat/pull/12297)) + - Date range check on livechat analytics ([#12345](https://github.com/RocketChat/Rocket.Chat/pull/12345) by [@teresy](https://github.com/teresy)) + - Cast env var setting to int based on option type ([#12194](https://github.com/RocketChat/Rocket.Chat/pull/12194) by [@crazy-max](https://github.com/crazy-max)) + - Links in home layout ([#12355](https://github.com/RocketChat/Rocket.Chat/pull/12355) by [@upiksaleh](https://github.com/upiksaleh)) + - Last message not updating after message delete if show deleted status is on ([#12350](https://github.com/RocketChat/Rocket.Chat/pull/12350)) + - Invalid destructuring on Livechat API endpoint ([#12354](https://github.com/RocketChat/Rocket.Chat/pull/12354)) + - E2E: Decrypting UTF-8 encoded messages ([#12398](https://github.com/RocketChat/Rocket.Chat/pull/12398) by [@pmmaga](https://github.com/pmmaga)) + - Ignore errors when creating image preview for uploads ([#12424](https://github.com/RocketChat/Rocket.Chat/pull/12424)) + - Attachment actions not being collapsable ([#12436](https://github.com/RocketChat/Rocket.Chat/pull/12436)) + - Attachment timestamp from and to Apps system not working ([#12445](https://github.com/RocketChat/Rocket.Chat/pull/12445)) + - Apps not being able to state how the action buttons are aligned ([#12391](https://github.com/RocketChat/Rocket.Chat/pull/12391))
๐Ÿ” Minor changes + - Fix: wrong saveUser permission validations ([#12384](https://github.com/RocketChat/Rocket.Chat/pull/12384)) + - Regression: do not render pdf preview on safari <= 12 ([#12375](https://github.com/RocketChat/Rocket.Chat/pull/12375)) + - Improve: Drop database between running tests on CI ([#12358](https://github.com/RocketChat/Rocket.Chat/pull/12358)) + - Fix: update check on err.details ([#12346](https://github.com/RocketChat/Rocket.Chat/pull/12346) by [@teresy](https://github.com/teresy)) + - Update Apps Framework to version 1.2.1 ([#12442](https://github.com/RocketChat/Rocket.Chat/pull/12442)) + - Regression: Change `starred` message property from object to array ([#12405](https://github.com/RocketChat/Rocket.Chat/pull/12405)) + - Apps: Roomโ€™s usernames was not working ([#12409](https://github.com/RocketChat/Rocket.Chat/pull/12409)) + - Regression: Fix email headers not being used ([#12392](https://github.com/RocketChat/Rocket.Chat/pull/12392))
@@ -3354,6 +4953,7 @@ ### ๐Ÿ› Bug fixes + - Reset password email ([#12898](https://github.com/RocketChat/Rocket.Chat/pull/12898)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -3369,12 +4969,15 @@ ### ๐Ÿ› Bug fixes + - Modal confirm on enter ([#12283](https://github.com/RocketChat/Rocket.Chat/pull/12283))
๐Ÿ” Minor changes + - Release 0.70.4 ([#12299](https://github.com/RocketChat/Rocket.Chat/pull/12299)) + - Fix: Add wizard opt-in fields ([#12298](https://github.com/RocketChat/Rocket.Chat/pull/12298))
@@ -3392,12 +4995,15 @@ ### ๐Ÿ› Bug fixes + - E2E alert shows up when encryption is disabled ([#12272](https://github.com/RocketChat/Rocket.Chat/pull/12272) by [@Hudell](https://github.com/Hudell))
๐Ÿ” Minor changes + - Release 0.70.3 ([#12281](https://github.com/RocketChat/Rocket.Chat/pull/12281)) + - Release 0.70.2 ([#12276](https://github.com/RocketChat/Rocket.Chat/pull/12276) by [@Hudell](https://github.com/Hudell))
@@ -3419,22 +5025,35 @@ ### ๐Ÿ› Bug fixes + - E2E data not cleared on logout ([#12254](https://github.com/RocketChat/Rocket.Chat/pull/12254) by [@Hudell](https://github.com/Hudell)) + - E2E password request not closing after entering password ([#12232](https://github.com/RocketChat/Rocket.Chat/pull/12232) by [@Hudell](https://github.com/Hudell)) + - Message editing was duplicating reply quotes ([#12263](https://github.com/RocketChat/Rocket.Chat/pull/12263)) + - Livechat integration with RDStation ([#12257](https://github.com/RocketChat/Rocket.Chat/pull/12257)) + - Livechat triggers being registered twice after setting department via API ([#12255](https://github.com/RocketChat/Rocket.Chat/pull/12255) by [@edzluhan](https://github.com/edzluhan)) + - Livechat CRM integration running when disabled ([#12242](https://github.com/RocketChat/Rocket.Chat/pull/12242)) + - Emails' logo and links ([#12241](https://github.com/RocketChat/Rocket.Chat/pull/12241)) + - Set default action for Setup Wizard form submit ([#12240](https://github.com/RocketChat/Rocket.Chat/pull/12240))
๐Ÿ” Minor changes + - Release 0.70.1 ([#12270](https://github.com/RocketChat/Rocket.Chat/pull/12270) by [@Hudell](https://github.com/Hudell) & [@edzluhan](https://github.com/edzluhan)) + - Merge master into develop & Set version to 0.71.0-develop ([#12264](https://github.com/RocketChat/Rocket.Chat/pull/12264) by [@cardoso](https://github.com/cardoso) & [@kaiiiiiiiii](https://github.com/kaiiiiiiiii) & [@timkinnane](https://github.com/timkinnane)) + - Regression: fix modal submit ([#12233](https://github.com/RocketChat/Rocket.Chat/pull/12233)) + - Add reetp to the issues' bot whitelist ([#12227](https://github.com/RocketChat/Rocket.Chat/pull/12227)) + - Fix: Remove semver satisfies from Apps details that is already done my marketplace ([#12268](https://github.com/RocketChat/Rocket.Chat/pull/12268))
@@ -3465,93 +5084,168 @@ ### โš ๏ธ BREAKING CHANGES + - Update the default port of the Prometheus exporter ([#11351](https://github.com/RocketChat/Rocket.Chat/pull/11351) by [@thaiphv](https://github.com/thaiphv)) + - [IMPROVE] New emails design ([#12009](https://github.com/RocketChat/Rocket.Chat/pull/12009)) ### ๐ŸŽ‰ New features + - Allow multiple subcommands in MIGRATION_VERSION env variable ([#11184](https://github.com/RocketChat/Rocket.Chat/pull/11184) by [@arch119](https://github.com/arch119)) + - Support for end to end encryption ([#10094](https://github.com/RocketChat/Rocket.Chat/pull/10094) by [@mrinaldhar](https://github.com/mrinaldhar)) + - Livechat Analytics and Reports ([#11238](https://github.com/RocketChat/Rocket.Chat/pull/11238) by [@pkgodara](https://github.com/pkgodara)) + - Apps: Add handlers for message updates ([#11993](https://github.com/RocketChat/Rocket.Chat/pull/11993) by [@cardoso](https://github.com/cardoso)) + - Livechat notifications on new incoming inquiries for guest-pool ([#10588](https://github.com/RocketChat/Rocket.Chat/pull/10588) by [@mrsimpson](https://github.com/mrsimpson)) + - Customizable default directory view ([#11965](https://github.com/RocketChat/Rocket.Chat/pull/11965) by [@ohmonster](https://github.com/ohmonster)) + - Blockstack as decentralized auth provider ([#12047](https://github.com/RocketChat/Rocket.Chat/pull/12047) by [@timkinnane](https://github.com/timkinnane)) + - Livechat REST endpoints ([#11900](https://github.com/RocketChat/Rocket.Chat/pull/11900)) + - REST endpoints to get moderators from groups and channels ([#11909](https://github.com/RocketChat/Rocket.Chat/pull/11909)) + - User preference for 24- or 12-hour clock ([#11169](https://github.com/RocketChat/Rocket.Chat/pull/11169) by [@vynmera](https://github.com/vynmera)) + - REST endpoint to set groups' announcement ([#11905](https://github.com/RocketChat/Rocket.Chat/pull/11905)) + - Livechat trigger option to run only once ([#12068](https://github.com/RocketChat/Rocket.Chat/pull/12068) by [@edzluhan](https://github.com/edzluhan)) + - REST endpoints to create roles and assign roles to users ([#11855](https://github.com/RocketChat/Rocket.Chat/pull/11855) by [@aferreira44](https://github.com/aferreira44)) + - Informal German translations ([#9984](https://github.com/RocketChat/Rocket.Chat/pull/9984) by [@mrsimpson](https://github.com/mrsimpson)) + - Apps: API provider ([#11938](https://github.com/RocketChat/Rocket.Chat/pull/11938)) + - Apps are enabled by default now ([#12189](https://github.com/RocketChat/Rocket.Chat/pull/12189)) + - Add Livechat Analytics permission ([#12184](https://github.com/RocketChat/Rocket.Chat/pull/12184)) + - WebDAV Integration (User file provider) ([#11679](https://github.com/RocketChat/Rocket.Chat/pull/11679) by [@karakayasemi](https://github.com/karakayasemi)) ### ๐Ÿš€ Improvements + - Cache livechat get agent trigger call ([#12083](https://github.com/RocketChat/Rocket.Chat/pull/12083)) + - BigBlueButton joinViaHtml5 and video icon on sidebar ([#12107](https://github.com/RocketChat/Rocket.Chat/pull/12107)) + - Use eslint-config package ([#12044](https://github.com/RocketChat/Rocket.Chat/pull/12044)) ### ๐Ÿ› Bug fixes + - Livechat agent joining on pick from guest pool ([#12097](https://github.com/RocketChat/Rocket.Chat/pull/12097) by [@mrsimpson](https://github.com/mrsimpson)) + - Apps: Add missing reactions and actions properties to app message object ([#11780](https://github.com/RocketChat/Rocket.Chat/pull/11780)) + - Broken slack compatible webhook ([#11742](https://github.com/RocketChat/Rocket.Chat/pull/11742)) + - Changing Mentions.userMentionRegex pattern to include
tag ([#12043](https://github.com/RocketChat/Rocket.Chat/pull/12043) by [@rssilva](https://github.com/rssilva)) + - Double output of message actions ([#11902](https://github.com/RocketChat/Rocket.Chat/pull/11902) by [@timkinnane](https://github.com/timkinnane)) + - Login error message not obvious if user not activated ([#11785](https://github.com/RocketChat/Rocket.Chat/pull/11785) by [@crazy-max](https://github.com/crazy-max)) + - Adding scroll bar to read receipts modal ([#11919](https://github.com/RocketChat/Rocket.Chat/pull/11919) by [@rssilva](https://github.com/rssilva)) + - Fixing translation on 'yesterday' word when calling timeAgo function ([#11946](https://github.com/RocketChat/Rocket.Chat/pull/11946) by [@rssilva](https://github.com/rssilva)) + - Fixing spacement between tags and words on some labels ([#12018](https://github.com/RocketChat/Rocket.Chat/pull/12018) by [@rssilva](https://github.com/rssilva)) + - video message recording, issue #11651 ([#12031](https://github.com/RocketChat/Rocket.Chat/pull/12031) by [@flaviogrossi](https://github.com/flaviogrossi)) + - Prevent form submission in Files List search ([#11999](https://github.com/RocketChat/Rocket.Chat/pull/11999)) + - Re-add the eye-off icon ([#12079](https://github.com/RocketChat/Rocket.Chat/pull/12079) by [@MIKI785](https://github.com/MIKI785)) + - Internal error when cross-origin with CORS is disabled ([#11953](https://github.com/RocketChat/Rocket.Chat/pull/11953)) + - Message reaction in GraphQL API ([#11967](https://github.com/RocketChat/Rocket.Chat/pull/11967)) + - Direct messages leaking into logs ([#11863](https://github.com/RocketChat/Rocket.Chat/pull/11863) by [@Hudell](https://github.com/Hudell)) + - Wrong build path in install.sh ([#11879](https://github.com/RocketChat/Rocket.Chat/pull/11879)) + - Permission check on joinRoom for private room ([#11857](https://github.com/RocketChat/Rocket.Chat/pull/11857) by [@timkinnane](https://github.com/timkinnane)) + - Close popover on shortcuts and writing ([#11562](https://github.com/RocketChat/Rocket.Chat/pull/11562)) + - Typo in a configuration key for SlackBridge excluded bot names ([#11872](https://github.com/RocketChat/Rocket.Chat/pull/11872) by [@TobiasKappe](https://github.com/TobiasKappe)) + - Real Name on Direct Messages ([#12154](https://github.com/RocketChat/Rocket.Chat/pull/12154)) + - Position of popover component on mobile ([#12038](https://github.com/RocketChat/Rocket.Chat/pull/12038)) + - Duplicate email and auto-join on mentions ([#12168](https://github.com/RocketChat/Rocket.Chat/pull/12168)) + - Horizontal scroll on user info tab ([#12102](https://github.com/RocketChat/Rocket.Chat/pull/12102) by [@rssilva](https://github.com/rssilva)) + - Markdown ampersand escape on links ([#12140](https://github.com/RocketChat/Rocket.Chat/pull/12140) by [@rssilva](https://github.com/rssilva)) + - Saving user preferences ([#12170](https://github.com/RocketChat/Rocket.Chat/pull/12170)) + - Apps being able to see hidden settings ([#12159](https://github.com/RocketChat/Rocket.Chat/pull/12159)) + - Allow user with "bulk-register-user" permission to send invitations ([#12112](https://github.com/RocketChat/Rocket.Chat/pull/12112) by [@mrsimpson](https://github.com/mrsimpson)) + - IRC Federation no longer working ([#11906](https://github.com/RocketChat/Rocket.Chat/pull/11906) by [@Hudell](https://github.com/Hudell)) + - Files list missing from popover menu when owner of room ([#11565](https://github.com/RocketChat/Rocket.Chat/pull/11565)) + - Not able to set per-channel retention policies if no global policy is set for this channel type ([#11927](https://github.com/RocketChat/Rocket.Chat/pull/11927) by [@vynmera](https://github.com/vynmera)) + - app engine verbose log typo ([#12126](https://github.com/RocketChat/Rocket.Chat/pull/12126) by [@williamriancho](https://github.com/williamriancho))
๐Ÿ” Minor changes + - Release 0.69.2 ([#12026](https://github.com/RocketChat/Rocket.Chat/pull/12026) by [@cardoso](https://github.com/cardoso) & [@kaiiiiiiiii](https://github.com/kaiiiiiiiii) & [@timkinnane](https://github.com/timkinnane)) + - LingoHub based on develop ([#11936](https://github.com/RocketChat/Rocket.Chat/pull/11936)) + - Better organize package.json ([#12115](https://github.com/RocketChat/Rocket.Chat/pull/12115)) + - Fix using wrong variable ([#12114](https://github.com/RocketChat/Rocket.Chat/pull/12114)) + - Fix the style lint ([#11991](https://github.com/RocketChat/Rocket.Chat/pull/11991)) + - Merge master into develop & Set version to 0.70.0-develop ([#11921](https://github.com/RocketChat/Rocket.Chat/pull/11921) by [@Hudell](https://github.com/Hudell) & [@c0dzilla](https://github.com/c0dzilla) & [@rndmh3ro](https://github.com/rndmh3ro) & [@ubarsaiyan](https://github.com/ubarsaiyan) & [@vynmera](https://github.com/vynmera)) + - Release 0.69.2 ([#12026](https://github.com/RocketChat/Rocket.Chat/pull/12026) by [@cardoso](https://github.com/cardoso) & [@kaiiiiiiiii](https://github.com/kaiiiiiiiii) & [@timkinnane](https://github.com/timkinnane)) + - Regression: fix message box autogrow ([#12138](https://github.com/RocketChat/Rocket.Chat/pull/12138)) + - Regression: Modal height ([#12122](https://github.com/RocketChat/Rocket.Chat/pull/12122)) + - Fix: Change wording on e2e to make a little more clear ([#12124](https://github.com/RocketChat/Rocket.Chat/pull/12124)) + - Improve: Moved the e2e password request to an alert instead of a popup ([#12172](https://github.com/RocketChat/Rocket.Chat/pull/12172) by [@Hudell](https://github.com/Hudell)) + - New: Option to change E2E key ([#12169](https://github.com/RocketChat/Rocket.Chat/pull/12169) by [@Hudell](https://github.com/Hudell)) + - Improve: Decrypt last message ([#12173](https://github.com/RocketChat/Rocket.Chat/pull/12173)) + - Fix: e2e password visible on always-on alert message. ([#12139](https://github.com/RocketChat/Rocket.Chat/pull/12139) by [@Hudell](https://github.com/Hudell)) + - Improve: Expose apps enable setting at `General > Apps` ([#12196](https://github.com/RocketChat/Rocket.Chat/pull/12196)) + - Fix: Message changing order when been edited with apps enabled ([#12188](https://github.com/RocketChat/Rocket.Chat/pull/12188)) + - Improve: E2E setting description and alert ([#12191](https://github.com/RocketChat/Rocket.Chat/pull/12191)) + - Improve: Do not start E2E Encryption when accessing admin as embedded ([#12192](https://github.com/RocketChat/Rocket.Chat/pull/12192)) + - Fix: Add e2e doc to the alert ([#12187](https://github.com/RocketChat/Rocket.Chat/pull/12187)) + - Improve: Switch e2e doc to target _blank ([#12195](https://github.com/RocketChat/Rocket.Chat/pull/12195)) + - Improve: Rename E2E methods ([#12175](https://github.com/RocketChat/Rocket.Chat/pull/12175) by [@Hudell](https://github.com/Hudell))
@@ -3604,13 +5298,18 @@ ### ๐ŸŽ‰ New features + - Include room name in stream for bots ([#11812](https://github.com/RocketChat/Rocket.Chat/pull/11812) by [@timkinnane](https://github.com/timkinnane)) ### ๐Ÿ› Bug fixes + - Reset password link error if already logged in ([#12022](https://github.com/RocketChat/Rocket.Chat/pull/12022)) + - Apps: setting with 'code' type only saving last line ([#11992](https://github.com/RocketChat/Rocket.Chat/pull/11992) by [@cardoso](https://github.com/cardoso)) + - Update user information not possible by admin if disabled to users ([#11955](https://github.com/RocketChat/Rocket.Chat/pull/11955) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) + - Hidden admin sidenav on embedded layout ([#12025](https://github.com/RocketChat/Rocket.Chat/pull/12025)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜ @@ -3634,9 +5333,13 @@ ### ๐Ÿ› Bug fixes + - Hipchat import was failing when importing messages from a non existent user ([#11892](https://github.com/RocketChat/Rocket.Chat/pull/11892)) + - Hipchat importer was not importing users without emails and uploaded files ([#11910](https://github.com/RocketChat/Rocket.Chat/pull/11910)) + - App updates were not being shown correctly ([#11893](https://github.com/RocketChat/Rocket.Chat/pull/11893)) + - Duplicated message buttons ([#11853](https://github.com/RocketChat/Rocket.Chat/pull/11853) by [@ubarsaiyan](https://github.com/ubarsaiyan)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜ @@ -3656,81 +5359,147 @@ ### ๐ŸŽ‰ New features + - Beta support for Big Blue Button video conferencing system ([#11837](https://github.com/RocketChat/Rocket.Chat/pull/11837)) + - Slackbridge: send attachment notifications ([#10269](https://github.com/RocketChat/Rocket.Chat/pull/10269) by [@Hudell](https://github.com/Hudell) & [@kable-wilmoth](https://github.com/kable-wilmoth)) + - Personal access tokens for users to create API tokens ([#11638](https://github.com/RocketChat/Rocket.Chat/pull/11638)) + - REST endpoint to manage server assets ([#11697](https://github.com/RocketChat/Rocket.Chat/pull/11697)) + - Setting to enable/disable slack bridge reactions ([#10217](https://github.com/RocketChat/Rocket.Chat/pull/10217) by [@Hudell](https://github.com/Hudell) & [@kable-wilmoth](https://github.com/kable-wilmoth)) + - Rich message text and image buttons ([#11473](https://github.com/RocketChat/Rocket.Chat/pull/11473) by [@ubarsaiyan](https://github.com/ubarsaiyan)) + - Setting to block unauthenticated access to avatars ([#9749](https://github.com/RocketChat/Rocket.Chat/pull/9749) by [@Hudell](https://github.com/Hudell)) + - Setting to set a JS/CSS CDN ([#11779](https://github.com/RocketChat/Rocket.Chat/pull/11779)) + - Make font of unread items bolder for better contrast ([#8602](https://github.com/RocketChat/Rocket.Chat/pull/8602) by [@ausminternet](https://github.com/ausminternet)) + - Internal marketplace for apps ([#11864](https://github.com/RocketChat/Rocket.Chat/pull/11864) by [@gdelavald](https://github.com/gdelavald) & [@rssilva](https://github.com/rssilva)) ### ๐Ÿš€ Improvements + - Start storing Livechat department within rooms ([#11733](https://github.com/RocketChat/Rocket.Chat/pull/11733)) + - Escape parameters before send them to email template ([#11644](https://github.com/RocketChat/Rocket.Chat/pull/11644)) + - Warn about push settings that need server restart ([#11784](https://github.com/RocketChat/Rocket.Chat/pull/11784)) + - Role tag UI ([#11674](https://github.com/RocketChat/Rocket.Chat/pull/11674) by [@timkinnane](https://github.com/timkinnane)) + - Messagebox fix performance ([#11686](https://github.com/RocketChat/Rocket.Chat/pull/11686)) + - Add template tag #{userdn} to filter LDAP group member format ([#11662](https://github.com/RocketChat/Rocket.Chat/pull/11662) by [@crazy-max](https://github.com/crazy-max)) + - Add nyan rocket on Rocket.Chat preview Docker image ([#11684](https://github.com/RocketChat/Rocket.Chat/pull/11684)) + - Reducing `saveUser` code complexity ([#11645](https://github.com/RocketChat/Rocket.Chat/pull/11645) by [@Hudell](https://github.com/Hudell)) ### ๐Ÿ› Bug fixes + - Delete removed user's subscriptions ([#10700](https://github.com/RocketChat/Rocket.Chat/pull/10700) by [@Hudell](https://github.com/Hudell)) + - LiveChat switch department not working ([#11011](https://github.com/RocketChat/Rocket.Chat/pull/11011)) + - Some assets were pointing to nonexistent path ([#11796](https://github.com/RocketChat/Rocket.Chat/pull/11796)) + - Revoked `view-d-room` permission logics ([#11522](https://github.com/RocketChat/Rocket.Chat/pull/11522) by [@Hudell](https://github.com/Hudell)) + - REST `im.members` endpoint not working without sort parameter ([#11821](https://github.com/RocketChat/Rocket.Chat/pull/11821)) + - Livechat rooms starting with two unread message counter ([#11834](https://github.com/RocketChat/Rocket.Chat/pull/11834)) + - Results pagination on /directory REST endpoint ([#11551](https://github.com/RocketChat/Rocket.Chat/pull/11551)) + - re-adding margin to menu icon on header ([#11778](https://github.com/RocketChat/Rocket.Chat/pull/11778) by [@rssilva](https://github.com/rssilva)) + - minor fixes in hungarian i18n ([#11797](https://github.com/RocketChat/Rocket.Chat/pull/11797) by [@Atisom](https://github.com/Atisom)) + - permissions name no break ([#11836](https://github.com/RocketChat/Rocket.Chat/pull/11836)) + - Searching by `undefined` via REST when using `query` param ([#11657](https://github.com/RocketChat/Rocket.Chat/pull/11657)) + - Fix permalink of message when running system with subdir ([#11781](https://github.com/RocketChat/Rocket.Chat/pull/11781) by [@ura14h](https://github.com/ura14h)) + - Fix links in `onTableItemClick` of the directroy page ([#11543](https://github.com/RocketChat/Rocket.Chat/pull/11543) by [@ura14h](https://github.com/ura14h)) + - App's i18nAlert is only being displayed as "i18nAlert" ([#11802](https://github.com/RocketChat/Rocket.Chat/pull/11802)) + - Removed hardcoded values. ([#11627](https://github.com/RocketChat/Rocket.Chat/pull/11627) by [@Hudell](https://github.com/Hudell)) + - SAML is flooding logfile ([#11643](https://github.com/RocketChat/Rocket.Chat/pull/11643) by [@Hudell](https://github.com/Hudell)) + - directory search table not clickable lines ([#11809](https://github.com/RocketChat/Rocket.Chat/pull/11809)) + - REST endpoints to update user not respecting some settings ([#11474](https://github.com/RocketChat/Rocket.Chat/pull/11474)) + - Apply Cordova fix in lazy-loaded images sources ([#11807](https://github.com/RocketChat/Rocket.Chat/pull/11807)) + - Cannot set property 'input' of undefined ([#11775](https://github.com/RocketChat/Rocket.Chat/pull/11775)) + - Missing twitter:image and og:image tags ([#11687](https://github.com/RocketChat/Rocket.Chat/pull/11687)) + - Return room ID for groups where user joined ([#11703](https://github.com/RocketChat/Rocket.Chat/pull/11703) by [@timkinnane](https://github.com/timkinnane)) + - "User is typing" not working in new Livechat session ([#11670](https://github.com/RocketChat/Rocket.Chat/pull/11670)) + - wrong create date of channels and users on directory view ([#11682](https://github.com/RocketChat/Rocket.Chat/pull/11682) by [@gsperezb](https://github.com/gsperezb)) + - Escape meta data before inject in head tag ([#11730](https://github.com/RocketChat/Rocket.Chat/pull/11730)) + - minor fixes in i18n ([#11761](https://github.com/RocketChat/Rocket.Chat/pull/11761) by [@Atisom](https://github.com/Atisom)) + - Code tag duplicating characters ([#11467](https://github.com/RocketChat/Rocket.Chat/pull/11467) by [@vynmera](https://github.com/vynmera)) + - Custom sound uploader not working in Firefox and IE ([#11139](https://github.com/RocketChat/Rocket.Chat/pull/11139) by [@vynmera](https://github.com/vynmera)) + - Fixing timeAgo function on directory ([#11728](https://github.com/RocketChat/Rocket.Chat/pull/11728) by [@rssilva](https://github.com/rssilva)) + - Render Attachment Pretext When Markdown Specified ([#11578](https://github.com/RocketChat/Rocket.Chat/pull/11578) by [@glstewart17](https://github.com/glstewart17)) + - Message attachments was not respecting sort and lost spacing ([#11740](https://github.com/RocketChat/Rocket.Chat/pull/11740)) + - Closed connections being storing on db ([#11709](https://github.com/RocketChat/Rocket.Chat/pull/11709)) + - Login logo now centered on small screens ([#11626](https://github.com/RocketChat/Rocket.Chat/pull/11626) by [@wreiske](https://github.com/wreiske)) + - Push notifications stuck after db failure ([#11667](https://github.com/RocketChat/Rocket.Chat/pull/11667)) + - Translations were not unique per app allowing conflicts among apps ([#11878](https://github.com/RocketChat/Rocket.Chat/pull/11878))
๐Ÿ” Minor changes + - Release 0.68.5 ([#11852](https://github.com/RocketChat/Rocket.Chat/pull/11852)) + - Release 0.68.5 ([#11852](https://github.com/RocketChat/Rocket.Chat/pull/11852)) + - Fixed deutsch message pruning translations ([#11691](https://github.com/RocketChat/Rocket.Chat/pull/11691) by [@TheReal1604](https://github.com/TheReal1604)) + - Fixed the Finnish translation and removed some profanities ([#11794](https://github.com/RocketChat/Rocket.Chat/pull/11794) by [@jukper](https://github.com/jukper)) + - LingoHub based on develop ([#11838](https://github.com/RocketChat/Rocket.Chat/pull/11838)) + - Regression: Fix livechat code issues after new lint rules ([#11814](https://github.com/RocketChat/Rocket.Chat/pull/11814)) + - Do not remove package-lock.json of livechat package ([#11816](https://github.com/RocketChat/Rocket.Chat/pull/11816)) + - Run eslint and unit tests on pre-push hook ([#11815](https://github.com/RocketChat/Rocket.Chat/pull/11815)) + - Additional eslint rules ([#11804](https://github.com/RocketChat/Rocket.Chat/pull/11804)) + - Add new eslint rules (automatically fixed) ([#11800](https://github.com/RocketChat/Rocket.Chat/pull/11800)) + - Merge master into develop & Set version to 0.69.0-develop ([#11606](https://github.com/RocketChat/Rocket.Chat/pull/11606)) + - App engine merge ([#11835](https://github.com/RocketChat/Rocket.Chat/pull/11835)) + - Regression: role tag background, unread item font and message box autogrow ([#11861](https://github.com/RocketChat/Rocket.Chat/pull/11861))
@@ -3775,6 +5544,7 @@ ### ๐Ÿ› Bug fixes + - Livechat open room method ([#11830](https://github.com/RocketChat/Rocket.Chat/pull/11830)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -3790,8 +5560,11 @@ ### ๐Ÿ› Bug fixes + - Default server language not being applied ([#11719](https://github.com/RocketChat/Rocket.Chat/pull/11719)) + - Broken logo on setup wizard ([#11708](https://github.com/RocketChat/Rocket.Chat/pull/11708)) + - Regression in prune by user, and update lastMessage ([#11646](https://github.com/RocketChat/Rocket.Chat/pull/11646) by [@vynmera](https://github.com/vynmera)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜ @@ -3812,15 +5585,21 @@ ### ๐Ÿ› Bug fixes + - Missing chat history for users without permission `preview-c-room` ([#11639](https://github.com/RocketChat/Rocket.Chat/pull/11639) by [@Hudell](https://github.com/Hudell)) + - User info APIs not returning customFields correctly ([#11625](https://github.com/RocketChat/Rocket.Chat/pull/11625)) + - Prune translations in German ([#11631](https://github.com/RocketChat/Rocket.Chat/pull/11631) by [@rndmh3ro](https://github.com/rndmh3ro)) + - Prune translation on room info panel ([#11635](https://github.com/RocketChat/Rocket.Chat/pull/11635)) + - SAML login not working when user has multiple emails ([#11642](https://github.com/RocketChat/Rocket.Chat/pull/11642) by [@Hudell](https://github.com/Hudell))
๐Ÿ” Minor changes + - Release 0.68.3 ([#11650](https://github.com/RocketChat/Rocket.Chat/pull/11650) by [@Hudell](https://github.com/Hudell) & [@rndmh3ro](https://github.com/rndmh3ro))
@@ -3844,11 +5623,13 @@ ### ๐Ÿ› Bug fixes + - Incorrect migration version in v130.js ([#11544](https://github.com/RocketChat/Rocket.Chat/pull/11544) by [@c0dzilla](https://github.com/c0dzilla))
๐Ÿ” Minor changes + - Release 0.68.2 ([#11630](https://github.com/RocketChat/Rocket.Chat/pull/11630) by [@c0dzilla](https://github.com/c0dzilla))
@@ -3870,12 +5651,15 @@ ### ๐Ÿ› Bug fixes + - `Jump to message` search result action ([#11613](https://github.com/RocketChat/Rocket.Chat/pull/11613)) + - HipChat importer wasnโ€™t compatible with latest exports ([#11597](https://github.com/RocketChat/Rocket.Chat/pull/11597))
๐Ÿ” Minor changes + - Release 0.68.1 ([#11616](https://github.com/RocketChat/Rocket.Chat/pull/11616))
@@ -3896,69 +5680,120 @@ ### โš ๏ธ BREAKING CHANGES + - Remove deprecated /user.roles endpoint ([#11493](https://github.com/RocketChat/Rocket.Chat/pull/11493)) + - Update GraphQL dependencies ([#11430](https://github.com/RocketChat/Rocket.Chat/pull/11430)) ### ๐ŸŽ‰ New features + - Setting to disable 2FA globally ([#11328](https://github.com/RocketChat/Rocket.Chat/pull/11328) by [@Hudell](https://github.com/Hudell)) + - Add /users.deleteOwnAccount REST endpoint to an user delete his own account ([#11488](https://github.com/RocketChat/Rocket.Chat/pull/11488)) + - Add /roles.list REST endpoint to retrieve all server roles ([#11500](https://github.com/RocketChat/Rocket.Chat/pull/11500)) + - Message retention policy and pruning ([#11236](https://github.com/RocketChat/Rocket.Chat/pull/11236) by [@vynmera](https://github.com/vynmera)) + - Send user status to client ([#11303](https://github.com/RocketChat/Rocket.Chat/pull/11303) by [@HappyTobi](https://github.com/HappyTobi)) + - Room files search form ([#11486](https://github.com/RocketChat/Rocket.Chat/pull/11486)) + - search only default tone emoji Popup search ([#10017](https://github.com/RocketChat/Rocket.Chat/pull/10017) by [@Joe-mcgee](https://github.com/Joe-mcgee)) + - Privacy for custom user fields ([#11332](https://github.com/RocketChat/Rocket.Chat/pull/11332) by [@vynmera](https://github.com/vynmera)) + - Replaced old logo with the new ones ([#11491](https://github.com/RocketChat/Rocket.Chat/pull/11491)) + - Sorting channels by number of users in directory ([#9972](https://github.com/RocketChat/Rocket.Chat/pull/9972) by [@arungalva](https://github.com/arungalva)) + - Make WebRTC not enabled by default ([#11489](https://github.com/RocketChat/Rocket.Chat/pull/11489)) + - Accept resumeToken as query param to log in ([#11443](https://github.com/RocketChat/Rocket.Chat/pull/11443)) + - Livechat File Upload ([#10514](https://github.com/RocketChat/Rocket.Chat/pull/10514)) ### ๐Ÿš€ Improvements + - Set default max upload size to 100mb ([#11327](https://github.com/RocketChat/Rocket.Chat/pull/11327) by [@cardoso](https://github.com/cardoso)) + - Typing indicators now use Real Names ([#11164](https://github.com/RocketChat/Rocket.Chat/pull/11164) by [@vynmera](https://github.com/vynmera)) + - Allow markdown in room topic, announcement, and description including single quotes ([#11408](https://github.com/RocketChat/Rocket.Chat/pull/11408)) ### ๐Ÿ› Bug fixes + - New favicons size too small ([#11524](https://github.com/RocketChat/Rocket.Chat/pull/11524)) + - Render reply preview with message as a common message ([#11534](https://github.com/RocketChat/Rocket.Chat/pull/11534)) + - Unreads counter for new rooms on /channels.counters REST endpoint ([#11531](https://github.com/RocketChat/Rocket.Chat/pull/11531)) + - Marked parser breaking announcements and mentions at the start of messages ([#11357](https://github.com/RocketChat/Rocket.Chat/pull/11357) by [@vynmera](https://github.com/vynmera)) + - Send Livechat back to Guest Pool ([#10731](https://github.com/RocketChat/Rocket.Chat/pull/10731)) + - Add customFields property to /me REST endpoint response ([#11496](https://github.com/RocketChat/Rocket.Chat/pull/11496)) + - Invalid permalink URLs for Direct Messages ([#11507](https://github.com/RocketChat/Rocket.Chat/pull/11507) by [@Hudell](https://github.com/Hudell)) + - Unlimited upload file size not working ([#11471](https://github.com/RocketChat/Rocket.Chat/pull/11471) by [@Hudell](https://github.com/Hudell)) + - Mixed case channel slugs ([#9449](https://github.com/RocketChat/Rocket.Chat/pull/9449) by [@soundstorm](https://github.com/soundstorm)) + - SAML issues ([#11135](https://github.com/RocketChat/Rocket.Chat/pull/11135) by [@Hudell](https://github.com/Hudell) & [@arminfelder](https://github.com/arminfelder)) + - Loading and setting fixes for i18n and RTL ([#11363](https://github.com/RocketChat/Rocket.Chat/pull/11363)) + - Check for channels property on message object before parsing mentions ([#11527](https://github.com/RocketChat/Rocket.Chat/pull/11527)) + - empty blockquote ([#11526](https://github.com/RocketChat/Rocket.Chat/pull/11526)) + - Snap font issue for sharp ([#11514](https://github.com/RocketChat/Rocket.Chat/pull/11514)) + - RocketChat.settings.get causing memory leak (sometimes) ([#11487](https://github.com/RocketChat/Rocket.Chat/pull/11487)) + - Refinements in message popup mentions ([#11441](https://github.com/RocketChat/Rocket.Chat/pull/11441)) + - Decrease room leader bar z-index ([#11450](https://github.com/RocketChat/Rocket.Chat/pull/11450)) + - Remove title attribute from sidebar items ([#11298](https://github.com/RocketChat/Rocket.Chat/pull/11298)) + - Only escape HTML from details in toast error messages ([#11459](https://github.com/RocketChat/Rocket.Chat/pull/11459)) + - broadcast channel reply ([#11462](https://github.com/RocketChat/Rocket.Chat/pull/11462)) + - Fixed svg for older chrome browsers bug #11414 ([#11416](https://github.com/RocketChat/Rocket.Chat/pull/11416) by [@tpDBL](https://github.com/tpDBL)) + - Wrap custom fields in user profile to new line ([#10119](https://github.com/RocketChat/Rocket.Chat/pull/10119) by [@PhpXp](https://github.com/PhpXp) & [@karlprieb](https://github.com/karlprieb)) + - Record popup ([#11349](https://github.com/RocketChat/Rocket.Chat/pull/11349))
๐Ÿ” Minor changes + - Revert: Mixed case channel slugs #9449 ([#11537](https://github.com/RocketChat/Rocket.Chat/pull/11537)) + - Merge master into develop & Set version to 0.68.0-develop ([#11536](https://github.com/RocketChat/Rocket.Chat/pull/11536)) + - Regression: Add missing LiveChat permission to allow removing closed rooms ([#11423](https://github.com/RocketChat/Rocket.Chat/pull/11423)) + - Update release issue template to use Houston CLI ([#11499](https://github.com/RocketChat/Rocket.Chat/pull/11499)) + - Regression: Remove safe area margins from logos ([#11508](https://github.com/RocketChat/Rocket.Chat/pull/11508)) + - Regression: Update cachedCollection version ([#11561](https://github.com/RocketChat/Rocket.Chat/pull/11561)) + - Regression: nonReactive to nonreactive ([#11550](https://github.com/RocketChat/Rocket.Chat/pull/11550)) + - LingoHub based on develop ([#11587](https://github.com/RocketChat/Rocket.Chat/pull/11587)) + - Regression: Make message popup user mentions reactive again ([#11567](https://github.com/RocketChat/Rocket.Chat/pull/11567)) + - Regression: Fix purge message's translations ([#11590](https://github.com/RocketChat/Rocket.Chat/pull/11590))
@@ -3999,32 +5834,46 @@ ### โš ๏ธ BREAKING CHANGES + - Remove cache layer and internal calculated property `room.usernames` ([#10749](https://github.com/RocketChat/Rocket.Chat/pull/10749)) ### ๐ŸŽ‰ New features + - Additional Livechat iFrame API's ([#10918](https://github.com/RocketChat/Rocket.Chat/pull/10918)) ### ๐Ÿš€ Improvements + - Stop sort callbacks on run ([#11330](https://github.com/RocketChat/Rocket.Chat/pull/11330)) ### ๐Ÿ› Bug fixes + - sort fname sidenav ([#11358](https://github.com/RocketChat/Rocket.Chat/pull/11358)) + - SVG icons code ([#11319](https://github.com/RocketChat/Rocket.Chat/pull/11319)) + - Message popup responsiveness in slash commands ([#11313](https://github.com/RocketChat/Rocket.Chat/pull/11313)) + - web app manifest errors as reported by Chrome DevTools ([#9991](https://github.com/RocketChat/Rocket.Chat/pull/9991) by [@justinribeiro](https://github.com/justinribeiro)) + - Message attachment's fields with different sizes ([#11342](https://github.com/RocketChat/Rocket.Chat/pull/11342)) + - Parse inline code without space before initial backtick ([#9754](https://github.com/RocketChat/Rocket.Chat/pull/9754) by [@c0dzilla](https://github.com/c0dzilla) & [@gdelavald](https://github.com/gdelavald))
๐Ÿ” Minor changes + - Fix dependency issue in redhat image ([#11497](https://github.com/RocketChat/Rocket.Chat/pull/11497)) + - Merge master into develop & Set version to 0.67.0-develop ([#11417](https://github.com/RocketChat/Rocket.Chat/pull/11417)) + - Merge master into develop & Set version to 0.67.0-develop ([#11399](https://github.com/RocketChat/Rocket.Chat/pull/11399)) + - Merge master into develop & Set version to 0.67.0-develop ([#11348](https://github.com/RocketChat/Rocket.Chat/pull/11348) by [@Hudell](https://github.com/Hudell) & [@gdelavald](https://github.com/gdelavald)) + - Merge master into develop & Set version to 0.67.0-develop ([#11290](https://github.com/RocketChat/Rocket.Chat/pull/11290))
@@ -4055,7 +5904,9 @@ ### ๐Ÿ› Bug fixes + - All messages notifications via email were sent as mention alert ([#11398](https://github.com/RocketChat/Rocket.Chat/pull/11398)) + - Livechat taking inquiry leading to 404 page ([#11406](https://github.com/RocketChat/Rocket.Chat/pull/11406)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -4072,13 +5923,17 @@ ### ๐Ÿ› Bug fixes + - Remove file snap store doesn't like ([#11365](https://github.com/RocketChat/Rocket.Chat/pull/11365)) + - Livechat not sending desktop notifications ([#11266](https://github.com/RocketChat/Rocket.Chat/pull/11266))
๐Ÿ” Minor changes + - Send setting Allow_Marketing_Emails to statistics collector ([#11359](https://github.com/RocketChat/Rocket.Chat/pull/11359)) + - Regression: Fix migration 125 checking for settings field ([#11364](https://github.com/RocketChat/Rocket.Chat/pull/11364))
@@ -4099,14 +5954,20 @@ ### ๐Ÿš€ Improvements + - Setup Wizard username validation, step progress and optin/optout ([#11254](https://github.com/RocketChat/Rocket.Chat/pull/11254)) ### ๐Ÿ› Bug fixes + - Some updates were returning errors when based on queries with position operators ([#11335](https://github.com/RocketChat/Rocket.Chat/pull/11335)) + - SAML attributes with periods are not properly read. ([#11315](https://github.com/RocketChat/Rocket.Chat/pull/11315) by [@Hudell](https://github.com/Hudell)) + - Outgoing integrations were stopping the oplog tailing sometimes ([#11333](https://github.com/RocketChat/Rocket.Chat/pull/11333)) + - Livestream muted when audio only option was enabled ([#11267](https://github.com/RocketChat/Rocket.Chat/pull/11267) by [@gdelavald](https://github.com/gdelavald)) + - Notification preferences being lost when switching view mode ([#11295](https://github.com/RocketChat/Rocket.Chat/pull/11295)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜ @@ -4130,147 +5991,276 @@ ### โš ๏ธ BREAKING CHANGES + - Always remove the field `services` from user data responses in REST API ([#10799](https://github.com/RocketChat/Rocket.Chat/pull/10799)) ### ๐ŸŽ‰ New features + - Youtube Broadcasting ([#10127](https://github.com/RocketChat/Rocket.Chat/pull/10127) by [@gdelavald](https://github.com/gdelavald)) + - REST API endpoints `permissions.list` and `permissions.update`. Deprecated endpoint `permissions` ([#10975](https://github.com/RocketChat/Rocket.Chat/pull/10975) by [@vynmera](https://github.com/vynmera)) + - REST API endpoint `channels.setDefault` ([#10941](https://github.com/RocketChat/Rocket.Chat/pull/10941) by [@vynmera](https://github.com/vynmera)) + - Set Document Domain property in IFrame ([#9751](https://github.com/RocketChat/Rocket.Chat/pull/9751) by [@kb0304](https://github.com/kb0304)) + - Custom login wallpapers ([#11025](https://github.com/RocketChat/Rocket.Chat/pull/11025) by [@vynmera](https://github.com/vynmera)) + - Support for dynamic slack and rocket.chat channels ([#10205](https://github.com/RocketChat/Rocket.Chat/pull/10205) by [@Hudell](https://github.com/Hudell) & [@kable-wilmoth](https://github.com/kable-wilmoth)) + - Add prometheus port config ([#11115](https://github.com/RocketChat/Rocket.Chat/pull/11115) by [@brylie](https://github.com/brylie) & [@stuartpb](https://github.com/stuartpb) & [@thaiphv](https://github.com/thaiphv)) + - Button to remove closed LiveChat rooms ([#10301](https://github.com/RocketChat/Rocket.Chat/pull/10301)) + - Update katex to v0.9.0 ([#8402](https://github.com/RocketChat/Rocket.Chat/pull/8402) by [@pitamar](https://github.com/pitamar)) + - WebDAV(Nextcloud/ownCloud) Storage Server Option ([#11027](https://github.com/RocketChat/Rocket.Chat/pull/11027) by [@karakayasemi](https://github.com/karakayasemi)) + - Don't ask me again checkbox on hide room modal ([#10973](https://github.com/RocketChat/Rocket.Chat/pull/10973) by [@karlprieb](https://github.com/karlprieb)) + - Add input to set time for avatar cache control ([#10958](https://github.com/RocketChat/Rocket.Chat/pull/10958)) + - Command /hide to hide channels ([#10727](https://github.com/RocketChat/Rocket.Chat/pull/10727) by [@mikaelmello](https://github.com/mikaelmello)) + - Do not wait method calls response on websocket before next method call ([#11087](https://github.com/RocketChat/Rocket.Chat/pull/11087)) + - Disconnect users from websocket when away from the login screen for 10min ([#11086](https://github.com/RocketChat/Rocket.Chat/pull/11086)) + - Reduce the amount of DDP API calls on login screen ([#11083](https://github.com/RocketChat/Rocket.Chat/pull/11083)) + - Option to trace Methods and Subscription calls ([#11085](https://github.com/RocketChat/Rocket.Chat/pull/11085)) + - Replace variable 'mergeChannels' with 'groupByType'. ([#10954](https://github.com/RocketChat/Rocket.Chat/pull/10954) by [@mikaelmello](https://github.com/mikaelmello)) + - Send LiveChat visitor navigation history as messages ([#10091](https://github.com/RocketChat/Rocket.Chat/pull/10091)) + - Make supplying an AWS access key and secret optional for S3 uploads ([#10673](https://github.com/RocketChat/Rocket.Chat/pull/10673) by [@saplla](https://github.com/saplla)) + - Direct Reply: separate Reply-To email from account username field ([#10988](https://github.com/RocketChat/Rocket.Chat/pull/10988) by [@pkgodara](https://github.com/pkgodara)) + - Changes all 'mergeChannels' to 'groupByType'. ([#10055](https://github.com/RocketChat/Rocket.Chat/pull/10055) by [@mikaelmello](https://github.com/mikaelmello)) + - Update WeDeploy deployment ([#10841](https://github.com/RocketChat/Rocket.Chat/pull/10841) by [@jonnilundy](https://github.com/jonnilundy)) ### ๐Ÿš€ Improvements + - Listing of apps in the admin page ([#11166](https://github.com/RocketChat/Rocket.Chat/pull/11166) by [@gdelavald](https://github.com/gdelavald) & [@karlprieb](https://github.com/karlprieb)) + - UI design for Tables and tabs component on Directory ([#11026](https://github.com/RocketChat/Rocket.Chat/pull/11026) by [@karlprieb](https://github.com/karlprieb)) + - User mentions ([#11001](https://github.com/RocketChat/Rocket.Chat/pull/11001) by [@vynmera](https://github.com/vynmera)) ### ๐Ÿ› Bug fixes + - Wordpress oauth configuration not loading properly ([#11187](https://github.com/RocketChat/Rocket.Chat/pull/11187) by [@Hudell](https://github.com/Hudell)) + - REST API: Add more test cases for `/login` ([#10999](https://github.com/RocketChat/Rocket.Chat/pull/10999)) + - Wrong font-family order ([#11191](https://github.com/RocketChat/Rocket.Chat/pull/11191) by [@Hudell](https://github.com/Hudell) & [@myfonj](https://github.com/myfonj)) + - REST endpoint `users.updateOwnBasicInfo` was not returning errors for invalid names and trying to save custom fields when empty ([#11204](https://github.com/RocketChat/Rocket.Chat/pull/11204)) + - Livechat visitor not being prompted for transcript when himself is closing the chat ([#10767](https://github.com/RocketChat/Rocket.Chat/pull/10767)) + - HipChat Cloud import fails to import rooms ([#11188](https://github.com/RocketChat/Rocket.Chat/pull/11188) by [@Hudell](https://github.com/Hudell)) + - Failure to download user data ([#11190](https://github.com/RocketChat/Rocket.Chat/pull/11190) by [@Hudell](https://github.com/Hudell)) + - Add parameter to REST chat.react endpoint, to make it work like a setter ([#10447](https://github.com/RocketChat/Rocket.Chat/pull/10447)) + - Default selected language ([#11150](https://github.com/RocketChat/Rocket.Chat/pull/11150)) + - Rendering of emails and mentions in messages ([#11165](https://github.com/RocketChat/Rocket.Chat/pull/11165)) + - Livechat icon with status ([#11177](https://github.com/RocketChat/Rocket.Chat/pull/11177)) + - remove sidebar on embedded view ([#11183](https://github.com/RocketChat/Rocket.Chat/pull/11183)) + - Missing language constants ([#11173](https://github.com/RocketChat/Rocket.Chat/pull/11173) by [@rw4lll](https://github.com/rw4lll)) + - Room creation error due absence of subscriptions ([#11178](https://github.com/RocketChat/Rocket.Chat/pull/11178)) + - Remove failed upload messages when switching rooms ([#11132](https://github.com/RocketChat/Rocket.Chat/pull/11132)) + - Wordpress OAuth not providing enough info to log in ([#11152](https://github.com/RocketChat/Rocket.Chat/pull/11152) by [@Hudell](https://github.com/Hudell)) + - /groups.invite not allow a user to invite even with permission ([#11010](https://github.com/RocketChat/Rocket.Chat/pull/11010) by [@Hudell](https://github.com/Hudell)) + - Various lang fixes [RU] ([#10095](https://github.com/RocketChat/Rocket.Chat/pull/10095) by [@rw4lll](https://github.com/rw4lll)) + - set-toolbar-items postMessage ([#11109](https://github.com/RocketChat/Rocket.Chat/pull/11109)) + - title and value attachments are optionals on sendMessage method ([#11021](https://github.com/RocketChat/Rocket.Chat/pull/11021)) + - Some typos in the error message names ([#11136](https://github.com/RocketChat/Rocket.Chat/pull/11136) by [@vynmera](https://github.com/vynmera)) + - open conversation from room info ([#11050](https://github.com/RocketChat/Rocket.Chat/pull/11050)) + - Users model was not receiving options ([#11129](https://github.com/RocketChat/Rocket.Chat/pull/11129)) + - Popover position ([#11113](https://github.com/RocketChat/Rocket.Chat/pull/11113)) + - Generated random password visible to the user ([#11096](https://github.com/RocketChat/Rocket.Chat/pull/11096)) + - LiveChat appearance changes not being saved ([#11111](https://github.com/RocketChat/Rocket.Chat/pull/11111)) + - Confirm password on set new password user profile ([#11095](https://github.com/RocketChat/Rocket.Chat/pull/11095)) + - Message_AllowedMaxSize fails for emoji sequences ([#10431](https://github.com/RocketChat/Rocket.Chat/pull/10431) by [@c0dzilla](https://github.com/c0dzilla)) + - Can't access the `/account/profile` ([#11089](https://github.com/RocketChat/Rocket.Chat/pull/11089)) + - Idle time limit wasnโ€™t working as expected ([#11084](https://github.com/RocketChat/Rocket.Chat/pull/11084)) + - Rooms list sorting by activity multiple re-renders and case sensitive sorting alphabetically ([#9959](https://github.com/RocketChat/Rocket.Chat/pull/9959) by [@JoseRenan](https://github.com/JoseRenan) & [@karlprieb](https://github.com/karlprieb)) + - Notification not working for group mentions and not respecting ignored users ([#11024](https://github.com/RocketChat/Rocket.Chat/pull/11024)) + - Overlapping of search text and cancel search icon (X) ([#10294](https://github.com/RocketChat/Rocket.Chat/pull/10294) by [@taeven](https://github.com/taeven)) + - Link previews not being removed from messages after removed on editing ([#11063](https://github.com/RocketChat/Rocket.Chat/pull/11063)) + - avoid send presence without login ([#11074](https://github.com/RocketChat/Rocket.Chat/pull/11074)) + - Exception in metrics generation ([#11072](https://github.com/RocketChat/Rocket.Chat/pull/11072)) + - Build for Sandstorm missing dependence for capnp ([#11056](https://github.com/RocketChat/Rocket.Chat/pull/11056) by [@peterlee0127](https://github.com/peterlee0127)) + - flex-tab icons missing ([#11049](https://github.com/RocketChat/Rocket.Chat/pull/11049)) + - Update ja.i18n.json ([#11020](https://github.com/RocketChat/Rocket.Chat/pull/11020) by [@Hudell](https://github.com/Hudell) & [@noobbbbb](https://github.com/noobbbbb)) + - Strange msg when setting room announcement, topic or description to be empty ([#11012](https://github.com/RocketChat/Rocket.Chat/pull/11012) by [@vynmera](https://github.com/vynmera)) + - Exception thrown on avatar validation ([#11009](https://github.com/RocketChat/Rocket.Chat/pull/11009) by [@Hudell](https://github.com/Hudell)) + - Preview of large images not resizing to fit the area and having scrollbars ([#10998](https://github.com/RocketChat/Rocket.Chat/pull/10998) by [@vynmera](https://github.com/vynmera)) + - Allow inviting livechat managers to the same LiveChat room ([#10956](https://github.com/RocketChat/Rocket.Chat/pull/10956)) + - Cannot read property 'debug' of undefined when trying to use REST API ([#10805](https://github.com/RocketChat/Rocket.Chat/pull/10805) by [@haffla](https://github.com/haffla)) + - Icons svg xml structure ([#10771](https://github.com/RocketChat/Rocket.Chat/pull/10771) by [@timkinnane](https://github.com/timkinnane)) + - Remove outdated 2FA warning for mobile clients ([#10916](https://github.com/RocketChat/Rocket.Chat/pull/10916) by [@cardoso](https://github.com/cardoso)) + - Update Sandstorm build config ([#10867](https://github.com/RocketChat/Rocket.Chat/pull/10867) by [@ocdtrekkie](https://github.com/ocdtrekkie)) + - "blank messages" on iOS < 11 ([#11221](https://github.com/RocketChat/Rocket.Chat/pull/11221)) + - "blank" screen on iOS < 11 ([#11199](https://github.com/RocketChat/Rocket.Chat/pull/11199)) + - The process was freezing in some cases when HTTP calls exceeds timeout on integrations ([#11253](https://github.com/RocketChat/Rocket.Chat/pull/11253)) + - LDAP was accepting login with empty passwords for certain AD configurations ([#11264](https://github.com/RocketChat/Rocket.Chat/pull/11264)) + - Update capnproto dependence for Sandstorm Build ([#11263](https://github.com/RocketChat/Rocket.Chat/pull/11263) by [@peterlee0127](https://github.com/peterlee0127)) + - Internal Server Error on first login with CAS integration ([#11257](https://github.com/RocketChat/Rocket.Chat/pull/11257) by [@Hudell](https://github.com/Hudell)) + - Armhf snap build ([#11268](https://github.com/RocketChat/Rocket.Chat/pull/11268)) + - Reaction Toggle was not working when omitting the last parameter from the API (DDP and REST) ([#11276](https://github.com/RocketChat/Rocket.Chat/pull/11276) by [@Hudell](https://github.com/Hudell))
๐Ÿ” Minor changes + - Merge master into develop & Set version to 0.66.0-develop ([#11277](https://github.com/RocketChat/Rocket.Chat/pull/11277) by [@Hudell](https://github.com/Hudell) & [@brylie](https://github.com/brylie) & [@stuartpb](https://github.com/stuartpb)) + - Regression: Directory css ([#11206](https://github.com/RocketChat/Rocket.Chat/pull/11206) by [@karlprieb](https://github.com/karlprieb)) + - LingoHub based on develop ([#11208](https://github.com/RocketChat/Rocket.Chat/pull/11208)) + - IRC Federation: RFC2813 implementation (ngIRCd) ([#10113](https://github.com/RocketChat/Rocket.Chat/pull/10113) by [@Hudell](https://github.com/Hudell) & [@cpitman](https://github.com/cpitman) & [@lindoelio](https://github.com/lindoelio)) + - Add verification to make sure the user exists in REST insert object helper ([#11008](https://github.com/RocketChat/Rocket.Chat/pull/11008)) + - Regression: Directory user table infinite scroll doesn't working ([#11200](https://github.com/RocketChat/Rocket.Chat/pull/11200) by [@karlprieb](https://github.com/karlprieb)) + - [FIX Readme] Nodejs + Python version spicifications ([#11181](https://github.com/RocketChat/Rocket.Chat/pull/11181) by [@mahdiyari](https://github.com/mahdiyari)) + - Regression: sorting direct message by asc on favorites group ([#11090](https://github.com/RocketChat/Rocket.Chat/pull/11090)) + - Fix PR Docker image creation by splitting in two build jobs ([#11107](https://github.com/RocketChat/Rocket.Chat/pull/11107)) + - Update v126.js ([#11103](https://github.com/RocketChat/Rocket.Chat/pull/11103)) + - Speed up the build time by removing JSON Minify from i18n package ([#11097](https://github.com/RocketChat/Rocket.Chat/pull/11097)) + - Fix Docker image for develop commits ([#11093](https://github.com/RocketChat/Rocket.Chat/pull/11093)) + - Build Docker image on CI ([#11076](https://github.com/RocketChat/Rocket.Chat/pull/11076)) + - Update issue templates ([#11070](https://github.com/RocketChat/Rocket.Chat/pull/11070)) + - LingoHub based on develop ([#11062](https://github.com/RocketChat/Rocket.Chat/pull/11062)) + - LingoHub based on develop ([#11054](https://github.com/RocketChat/Rocket.Chat/pull/11054)) + - LingoHub based on develop ([#11053](https://github.com/RocketChat/Rocket.Chat/pull/11053)) + - LingoHub based on develop ([#11051](https://github.com/RocketChat/Rocket.Chat/pull/11051)) + - LingoHub based on develop ([#11045](https://github.com/RocketChat/Rocket.Chat/pull/11045)) + - LingoHub based on develop ([#11044](https://github.com/RocketChat/Rocket.Chat/pull/11044)) + - LingoHub based on develop ([#11043](https://github.com/RocketChat/Rocket.Chat/pull/11043)) + - LingoHub based on develop ([#11042](https://github.com/RocketChat/Rocket.Chat/pull/11042)) + - Changed 'confirm password' placeholder text on user registration form ([#9969](https://github.com/RocketChat/Rocket.Chat/pull/9969) by [@kumarnitj](https://github.com/kumarnitj)) + - LingoHub based on develop ([#11039](https://github.com/RocketChat/Rocket.Chat/pull/11039)) + - LingoHub based on develop ([#11035](https://github.com/RocketChat/Rocket.Chat/pull/11035)) + - Update Documentation: README.md ([#10207](https://github.com/RocketChat/Rocket.Chat/pull/10207) by [@rakhi2104](https://github.com/rakhi2104)) + - NPM Dependencies Update ([#10913](https://github.com/RocketChat/Rocket.Chat/pull/10913)) + - update meteor to 1.6.1 for sandstorm build ([#10131](https://github.com/RocketChat/Rocket.Chat/pull/10131) by [@peterlee0127](https://github.com/peterlee0127)) + - Renaming username.username to username.value for clarity ([#10986](https://github.com/RocketChat/Rocket.Chat/pull/10986)) + - Fix readme typo ([#5](https://github.com/RocketChat/Rocket.Chat/pull/5) by [@filipealva](https://github.com/filipealva)) + - Remove wrong and not needed time unit ([#10807](https://github.com/RocketChat/Rocket.Chat/pull/10807) by [@cliffparnitzky](https://github.com/cliffparnitzky)) + - Develop sync commits ([#10909](https://github.com/RocketChat/Rocket.Chat/pull/10909) by [@nsuchy](https://github.com/nsuchy) & [@rafaelks](https://github.com/rafaelks)) + - Develop sync2 ([#10908](https://github.com/RocketChat/Rocket.Chat/pull/10908) by [@nsuchy](https://github.com/nsuchy) & [@rafaelks](https://github.com/rafaelks)) + - Merge master into develop & Set version to 0.66.0-develop ([#10903](https://github.com/RocketChat/Rocket.Chat/pull/10903) by [@nsuchy](https://github.com/nsuchy) & [@rafaelks](https://github.com/rafaelks)) + - Regression: Fix directory table loading ([#11223](https://github.com/RocketChat/Rocket.Chat/pull/11223) by [@karlprieb](https://github.com/karlprieb)) + - Regression: Fix latest and release-candidate docker images building ([#11215](https://github.com/RocketChat/Rocket.Chat/pull/11215)) + - Regression: check username or usersCount on browseChannels ([#11216](https://github.com/RocketChat/Rocket.Chat/pull/11216)) + - Regression: Sending message with a mention is not showing to sender ([#11211](https://github.com/RocketChat/Rocket.Chat/pull/11211)) + - Regression: Prometheus was not being enabled in some cases ([#11249](https://github.com/RocketChat/Rocket.Chat/pull/11249)) + - Regression: Skip operations if no actions on livechat migration ([#11232](https://github.com/RocketChat/Rocket.Chat/pull/11232)) + - Regression: Directory sort users, fix null results, text for empty results ([#11224](https://github.com/RocketChat/Rocket.Chat/pull/11224)) + - LingoHub based on develop ([#11246](https://github.com/RocketChat/Rocket.Chat/pull/11246)) + - Update Meteor to 1.6.1.3 ([#11247](https://github.com/RocketChat/Rocket.Chat/pull/11247)) + - New history source format & add Node and NPM versions ([#11237](https://github.com/RocketChat/Rocket.Chat/pull/11237)) + - Add Dockerfile with MongoDB ([#10971](https://github.com/RocketChat/Rocket.Chat/pull/10971)) + - Regression: sidebar sorting was being wrong in some cases where the rooms records were returned before the subscriptions ([#11273](https://github.com/RocketChat/Rocket.Chat/pull/11273)) + - Fix Docker image build on tags ([#11271](https://github.com/RocketChat/Rocket.Chat/pull/11271))
@@ -4335,11 +6325,13 @@ ### ๐Ÿ› Bug fixes + - i18n - add semantic markup ([#9534](https://github.com/RocketChat/Rocket.Chat/pull/9534) by [@brylie](https://github.com/brylie))
๐Ÿ” Minor changes + - Release 0.65.1 ([#10947](https://github.com/RocketChat/Rocket.Chat/pull/10947))
@@ -4363,10 +6355,15 @@ ### ๐Ÿ› Bug fixes + - Livechat not loading ([#10940](https://github.com/RocketChat/Rocket.Chat/pull/10940)) + - Application crashing on startup when trying to log errors to `exceptions` channel ([#10934](https://github.com/RocketChat/Rocket.Chat/pull/10934)) + - Incomplete email notification link ([#10928](https://github.com/RocketChat/Rocket.Chat/pull/10928)) + - Image lazy load was breaking attachments ([#10904](https://github.com/RocketChat/Rocket.Chat/pull/10904)) + - Leave room wasn't working as expected ([#10851](https://github.com/RocketChat/Rocket.Chat/pull/10851)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -4384,56 +6381,100 @@ ### ๐ŸŽ‰ New features + - Implement a local password policy ([#9857](https://github.com/RocketChat/Rocket.Chat/pull/9857)) + - Options to enable/disable each Livechat registration form field ([#10584](https://github.com/RocketChat/Rocket.Chat/pull/10584)) + - Return the result of the `/me` endpoint within the result of the `/login` endpoint ([#10677](https://github.com/RocketChat/Rocket.Chat/pull/10677)) + - Lazy load image attachments ([#10608](https://github.com/RocketChat/Rocket.Chat/pull/10608) by [@karlprieb](https://github.com/karlprieb)) + - View pinned message's attachment ([#10214](https://github.com/RocketChat/Rocket.Chat/pull/10214) by [@c0dzilla](https://github.com/c0dzilla) & [@karlprieb](https://github.com/karlprieb)) + - Add REST API endpoint `users.getUsernameSuggestion` to get username suggestion ([#10702](https://github.com/RocketChat/Rocket.Chat/pull/10702)) + - REST API endpoint `settings` now allow set colors and trigger actions ([#10488](https://github.com/RocketChat/Rocket.Chat/pull/10488) by [@ThomasRoehl](https://github.com/ThomasRoehl)) + - Add REST endpoint `subscriptions.unread` to mark messages as unread ([#10778](https://github.com/RocketChat/Rocket.Chat/pull/10778)) + - REST API endpoint `/me` now returns all the settings, including the default values ([#10662](https://github.com/RocketChat/Rocket.Chat/pull/10662)) + - Now is possible to access files using header authorization (`x-user-id` and `x-auth-token`) ([#10741](https://github.com/RocketChat/Rocket.Chat/pull/10741)) + - Add REST API endpoints `channels.counters`, `groups.counters and `im.counters` ([#9679](https://github.com/RocketChat/Rocket.Chat/pull/9679) by [@xbolshe](https://github.com/xbolshe)) + - Add REST API endpoints `channels.setCustomFields` and `groups.setCustomFields` ([#9733](https://github.com/RocketChat/Rocket.Chat/pull/9733) by [@xbolshe](https://github.com/xbolshe)) + - Add permission `view-broadcast-member-list` ([#10753](https://github.com/RocketChat/Rocket.Chat/pull/10753) by [@cardoso](https://github.com/cardoso)) ### ๐Ÿ› Bug fixes + - Livechat managers were not being able to send messages in some cases ([#10663](https://github.com/RocketChat/Rocket.Chat/pull/10663)) + - Livechat settings not appearing correctly ([#10612](https://github.com/RocketChat/Rocket.Chat/pull/10612)) + - Enabling `Collapse Embedded Media by Default` was hiding replies and quotes ([#10427](https://github.com/RocketChat/Rocket.Chat/pull/10427) by [@c0dzilla](https://github.com/c0dzilla)) + - Missing option to disable/enable System Messages ([#10704](https://github.com/RocketChat/Rocket.Chat/pull/10704)) + - Remove outdated translations of Internal Hubot's description of Scripts to Load that were pointing to a non existent address ([#10448](https://github.com/RocketChat/Rocket.Chat/pull/10448) by [@Hudell](https://github.com/Hudell)) + - UI was not disabling the actions when users has had no permissions to create channels or add users to rooms ([#10564](https://github.com/RocketChat/Rocket.Chat/pull/10564) by [@cfunkles](https://github.com/cfunkles) & [@chuckAtCataworx](https://github.com/chuckAtCataworx)) + - Private settings were not being cleared from client cache in some cases ([#10625](https://github.com/RocketChat/Rocket.Chat/pull/10625) by [@Hudell](https://github.com/Hudell)) + - Internal Error when requesting user data download ([#10837](https://github.com/RocketChat/Rocket.Chat/pull/10837) by [@Hudell](https://github.com/Hudell)) + - Broadcast channels were showing reply button for deleted messages and generating wrong reply links some times ([#10835](https://github.com/RocketChat/Rocket.Chat/pull/10835)) + - User's preference `Unread on Top` wasn't working for LiveChat rooms ([#10734](https://github.com/RocketChat/Rocket.Chat/pull/10734)) + - Cancel button wasn't working while uploading file ([#10715](https://github.com/RocketChat/Rocket.Chat/pull/10715) by [@Mr-Gryphon](https://github.com/Mr-Gryphon) & [@karlprieb](https://github.com/karlprieb)) + - Missing pagination fields in the response of REST /directory endpoint ([#10840](https://github.com/RocketChat/Rocket.Chat/pull/10840)) + - Layout badge cutting on unread messages for long names ([#10846](https://github.com/RocketChat/Rocket.Chat/pull/10846) by [@kos4live](https://github.com/kos4live)) + - Slack-Bridge bug when migrating to 0.64.1 ([#10875](https://github.com/RocketChat/Rocket.Chat/pull/10875)) + - Horizontally align items in preview message ([#10883](https://github.com/RocketChat/Rocket.Chat/pull/10883) by [@gdelavald](https://github.com/gdelavald)) + - The first users was not set as admin some times ([#10878](https://github.com/RocketChat/Rocket.Chat/pull/10878))
๐Ÿ” Minor changes + - Release 0.65.0 ([#10893](https://github.com/RocketChat/Rocket.Chat/pull/10893) by [@Hudell](https://github.com/Hudell) & [@Sameesunkaria](https://github.com/Sameesunkaria) & [@cardoso](https://github.com/cardoso) & [@erhan-](https://github.com/erhan-) & [@gdelavald](https://github.com/gdelavald) & [@karlprieb](https://github.com/karlprieb) & [@peccu](https://github.com/peccu) & [@winterstefan](https://github.com/winterstefan)) + - Apps: Command Previews, Message and Room Removal Events ([#10822](https://github.com/RocketChat/Rocket.Chat/pull/10822)) + - Develop sync ([#10815](https://github.com/RocketChat/Rocket.Chat/pull/10815) by [@nsuchy](https://github.com/nsuchy) & [@rafaelks](https://github.com/rafaelks)) + - Major dependencies update ([#10661](https://github.com/RocketChat/Rocket.Chat/pull/10661)) + - Prevent setup wizard redirects ([#10811](https://github.com/RocketChat/Rocket.Chat/pull/10811)) + - Fix: Regression in REST API endpoint `/me` ([#10833](https://github.com/RocketChat/Rocket.Chat/pull/10833)) + - Regression: Fix email notification preference not showing correct selected value ([#10847](https://github.com/RocketChat/Rocket.Chat/pull/10847)) + - Apps: Command previews are clickable & Apps Framework is controlled via a setting ([#10853](https://github.com/RocketChat/Rocket.Chat/pull/10853)) + - Regression: Make settings `Site_Name` and `Language` public again ([#10848](https://github.com/RocketChat/Rocket.Chat/pull/10848)) + - Fix: Clarify the wording of the release issue template ([#10520](https://github.com/RocketChat/Rocket.Chat/pull/10520)) + - Fix: Regression on users avatar in admin pages ([#10836](https://github.com/RocketChat/Rocket.Chat/pull/10836)) + - Fix: Manage apps layout was a bit confuse ([#10882](https://github.com/RocketChat/Rocket.Chat/pull/10882) by [@gdelavald](https://github.com/gdelavald)) + - LingoHub based on develop ([#10886](https://github.com/RocketChat/Rocket.Chat/pull/10886)) + - Fix: Regression Lazyload fix shuffle avatars ([#10887](https://github.com/RocketChat/Rocket.Chat/pull/10887)) + - Fix: typo on error message for push token API ([#10857](https://github.com/RocketChat/Rocket.Chat/pull/10857) by [@rafaelks](https://github.com/rafaelks))
@@ -4478,67 +6519,122 @@ ### ๐ŸŽ‰ New features + - Add REST endpoints `channels.roles` & `groups.roles` ([#10607](https://github.com/RocketChat/Rocket.Chat/pull/10607) by [@cardoso](https://github.com/cardoso) & [@rafaelks](https://github.com/rafaelks)) + - Add more options for Wordpress OAuth configuration ([#10724](https://github.com/RocketChat/Rocket.Chat/pull/10724) by [@Hudell](https://github.com/Hudell)) + - Setup Wizard ([#10523](https://github.com/RocketChat/Rocket.Chat/pull/10523) by [@karlprieb](https://github.com/karlprieb)) + - Improvements to notifications logic ([#10686](https://github.com/RocketChat/Rocket.Chat/pull/10686)) + - Add REST endpoints `channels.roles` & `groups.roles` ([#10607](https://github.com/RocketChat/Rocket.Chat/pull/10607) by [@cardoso](https://github.com/cardoso) & [@rafaelks](https://github.com/rafaelks)) + - Add more options for Wordpress OAuth configuration ([#10724](https://github.com/RocketChat/Rocket.Chat/pull/10724) by [@Hudell](https://github.com/Hudell)) + - Setup Wizard ([#10523](https://github.com/RocketChat/Rocket.Chat/pull/10523) by [@karlprieb](https://github.com/karlprieb)) + - Improvements to notifications logic ([#10686](https://github.com/RocketChat/Rocket.Chat/pull/10686)) ### ๐Ÿ› Bug fixes + - Not escaping special chars on mentions ([#10793](https://github.com/RocketChat/Rocket.Chat/pull/10793) by [@erhan-](https://github.com/erhan-)) + - Send a message when muted returns inconsistent result in chat.sendMessage ([#10720](https://github.com/RocketChat/Rocket.Chat/pull/10720)) + - Regression: Empty content on announcement modal ([#10733](https://github.com/RocketChat/Rocket.Chat/pull/10733) by [@gdelavald](https://github.com/gdelavald)) + - Missing attachment description when Rocket.Chat Apps were enabled ([#10705](https://github.com/RocketChat/Rocket.Chat/pull/10705) by [@Hudell](https://github.com/Hudell)) + - Improve desktop notification formatting ([#10445](https://github.com/RocketChat/Rocket.Chat/pull/10445) by [@Sameesunkaria](https://github.com/Sameesunkaria)) + - Message box emoji icon was flickering when typing a text ([#10678](https://github.com/RocketChat/Rocket.Chat/pull/10678) by [@gdelavald](https://github.com/gdelavald)) + - Channel owner was being set as muted when creating a read-only channel ([#10665](https://github.com/RocketChat/Rocket.Chat/pull/10665)) + - SAML wasn't working correctly when running multiple instances ([#10681](https://github.com/RocketChat/Rocket.Chat/pull/10681) by [@Hudell](https://github.com/Hudell)) + - Send a message when muted returns inconsistent result in chat.sendMessage ([#10720](https://github.com/RocketChat/Rocket.Chat/pull/10720)) + - Regression: Empty content on announcement modal ([#10733](https://github.com/RocketChat/Rocket.Chat/pull/10733) by [@gdelavald](https://github.com/gdelavald)) + - Missing attachment description when Rocket.Chat Apps were enabled ([#10705](https://github.com/RocketChat/Rocket.Chat/pull/10705) by [@Hudell](https://github.com/Hudell)) + - Improve desktop notification formatting ([#10445](https://github.com/RocketChat/Rocket.Chat/pull/10445) by [@Sameesunkaria](https://github.com/Sameesunkaria)) + - Message box emoji icon was flickering when typing a text ([#10678](https://github.com/RocketChat/Rocket.Chat/pull/10678) by [@gdelavald](https://github.com/gdelavald)) + - Channel owner was being set as muted when creating a read-only channel ([#10665](https://github.com/RocketChat/Rocket.Chat/pull/10665)) + - SAML wasn't working correctly when running multiple instances ([#10681](https://github.com/RocketChat/Rocket.Chat/pull/10681) by [@Hudell](https://github.com/Hudell)) + - Not escaping special chars on mentions ([#10793](https://github.com/RocketChat/Rocket.Chat/pull/10793) by [@erhan-](https://github.com/erhan-))
๐Ÿ” Minor changes + - Release 0.64.2 ([#10812](https://github.com/RocketChat/Rocket.Chat/pull/10812) by [@Hudell](https://github.com/Hudell) & [@Sameesunkaria](https://github.com/Sameesunkaria) & [@cardoso](https://github.com/cardoso) & [@erhan-](https://github.com/erhan-) & [@gdelavald](https://github.com/gdelavald) & [@karlprieb](https://github.com/karlprieb) & [@peccu](https://github.com/peccu) & [@winterstefan](https://github.com/winterstefan)) + - Prometheus: Add metric to track hooks time ([#10798](https://github.com/RocketChat/Rocket.Chat/pull/10798)) + - Regression: Autorun of wizard was not destroyed after completion ([#10802](https://github.com/RocketChat/Rocket.Chat/pull/10802)) + - Prometheus: Fix notification metric ([#10803](https://github.com/RocketChat/Rocket.Chat/pull/10803)) + - Regression: Fix wrong wizard field name ([#10804](https://github.com/RocketChat/Rocket.Chat/pull/10804)) + - Prometheus: Improve metric names ([#10789](https://github.com/RocketChat/Rocket.Chat/pull/10789)) + - Improvement to push notifications on direct messages ([#10788](https://github.com/RocketChat/Rocket.Chat/pull/10788)) + - Better metric for notifications ([#10786](https://github.com/RocketChat/Rocket.Chat/pull/10786)) + - Add badge back to push notifications ([#10779](https://github.com/RocketChat/Rocket.Chat/pull/10779)) + - Wizard improvements ([#10776](https://github.com/RocketChat/Rocket.Chat/pull/10776)) + - Add setting and expose prometheus on port 9100 ([#10766](https://github.com/RocketChat/Rocket.Chat/pull/10766)) + - Regression: Fix notifications for direct messages ([#10760](https://github.com/RocketChat/Rocket.Chat/pull/10760)) + - More improvements on send notifications logic ([#10736](https://github.com/RocketChat/Rocket.Chat/pull/10736)) + - LingoHub based on develop ([#10691](https://github.com/RocketChat/Rocket.Chat/pull/10691)) + - Add `npm run postinstall` into example build script ([#10524](https://github.com/RocketChat/Rocket.Chat/pull/10524) by [@peccu](https://github.com/peccu)) + - Correct links in README file ([#10674](https://github.com/RocketChat/Rocket.Chat/pull/10674) by [@winterstefan](https://github.com/winterstefan)) + - More improvements on send notifications logic ([#10736](https://github.com/RocketChat/Rocket.Chat/pull/10736)) + - LingoHub based on develop ([#10691](https://github.com/RocketChat/Rocket.Chat/pull/10691)) + - Add `npm run postinstall` into example build script ([#10524](https://github.com/RocketChat/Rocket.Chat/pull/10524) by [@peccu](https://github.com/peccu)) + - Correct links in README file ([#10674](https://github.com/RocketChat/Rocket.Chat/pull/10674) by [@winterstefan](https://github.com/winterstefan)) + - Prometheus: Improve metric names ([#10789](https://github.com/RocketChat/Rocket.Chat/pull/10789)) + - Improvement to push notifications on direct messages ([#10788](https://github.com/RocketChat/Rocket.Chat/pull/10788)) + - Better metric for notifications ([#10786](https://github.com/RocketChat/Rocket.Chat/pull/10786)) + - Add badge back to push notifications ([#10779](https://github.com/RocketChat/Rocket.Chat/pull/10779)) + - Wizard improvements ([#10776](https://github.com/RocketChat/Rocket.Chat/pull/10776)) + - Add setting and expose prometheus on port 9100 ([#10766](https://github.com/RocketChat/Rocket.Chat/pull/10766)) + - Regression: Fix notifications for direct messages ([#10760](https://github.com/RocketChat/Rocket.Chat/pull/10760)) + - Prometheus: Add metric to track hooks time ([#10798](https://github.com/RocketChat/Rocket.Chat/pull/10798)) + - Regression: Autorun of wizard was not destroyed after completion ([#10802](https://github.com/RocketChat/Rocket.Chat/pull/10802)) + - Prometheus: Fix notification metric ([#10803](https://github.com/RocketChat/Rocket.Chat/pull/10803)) + - Regression: Fix wrong wizard field name ([#10804](https://github.com/RocketChat/Rocket.Chat/pull/10804))
@@ -4571,19 +6667,26 @@ ### ๐ŸŽ‰ New features + - Store the last sent message to show bellow the room's name by default ([#10597](https://github.com/RocketChat/Rocket.Chat/pull/10597)) ### ๐Ÿ› Bug fixes + - E-mails were hidden some information ([#10615](https://github.com/RocketChat/Rocket.Chat/pull/10615)) + - Regression on 0.64.0 was freezing the application when posting some URLs ([#10627](https://github.com/RocketChat/Rocket.Chat/pull/10627))
๐Ÿ” Minor changes + - Release 0.64.1 ([#10660](https://github.com/RocketChat/Rocket.Chat/pull/10660) by [@saplla](https://github.com/saplla)) + - Support passing extra connection options to the Mongo driver ([#10529](https://github.com/RocketChat/Rocket.Chat/pull/10529) by [@saplla](https://github.com/saplla)) + - Regression: Updating an App on multi-instance servers wasn't working ([#10611](https://github.com/RocketChat/Rocket.Chat/pull/10611)) + - Dependencies update ([#10648](https://github.com/RocketChat/Rocket.Chat/pull/10648))
@@ -4608,110 +6711,205 @@ ### โš ๏ธ BREAKING CHANGES + - Validate incoming message schema ([#9922](https://github.com/RocketChat/Rocket.Chat/pull/9922)) + - The property "settings" is no longer available to regular users via rest api ([#10411](https://github.com/RocketChat/Rocket.Chat/pull/10411)) ### ๐ŸŽ‰ New features + - Option to mute group mentions (@all and @here) ([#10502](https://github.com/RocketChat/Rocket.Chat/pull/10502) by [@Hudell](https://github.com/Hudell)) + - GDPR - Right to access and Data Portability ([#9906](https://github.com/RocketChat/Rocket.Chat/pull/9906) by [@Hudell](https://github.com/Hudell)) + - Broadcast Channels ([#9950](https://github.com/RocketChat/Rocket.Chat/pull/9950)) + - Option to ignore users on channels ([#10517](https://github.com/RocketChat/Rocket.Chat/pull/10517) by [@gdelavald](https://github.com/gdelavald) & [@karlprieb](https://github.com/karlprieb)) + - Search Provider Framework ([#10110](https://github.com/RocketChat/Rocket.Chat/pull/10110) by [@tkurz](https://github.com/tkurz)) + - REST API endpoint `/directory` ([#10442](https://github.com/RocketChat/Rocket.Chat/pull/10442)) + - Body of the payload on an incoming webhook is included on the request object ([#10259](https://github.com/RocketChat/Rocket.Chat/pull/10259) by [@Hudell](https://github.com/Hudell)) + - REST endpoint to recover forgotten password ([#10371](https://github.com/RocketChat/Rocket.Chat/pull/10371)) + - REST endpoint to report messages ([#10354](https://github.com/RocketChat/Rocket.Chat/pull/10354)) + - Livechat setting to customize ended conversation message ([#10108](https://github.com/RocketChat/Rocket.Chat/pull/10108)) + - Twilio MMS support for LiveChat integration ([#7964](https://github.com/RocketChat/Rocket.Chat/pull/7964) by [@t3hchipmunk](https://github.com/t3hchipmunk)) + - REST API endpoint `rooms.favorite` to favorite and unfavorite rooms ([#10342](https://github.com/RocketChat/Rocket.Chat/pull/10342)) + - Add internal API to handle room announcements ([#10396](https://github.com/RocketChat/Rocket.Chat/pull/10396) by [@gdelavald](https://github.com/gdelavald)) + - Add message preview when quoting another message ([#10437](https://github.com/RocketChat/Rocket.Chat/pull/10437) by [@gdelavald](https://github.com/gdelavald)) + - Prevent the browser to autocomplete some setting fields ([#10439](https://github.com/RocketChat/Rocket.Chat/pull/10439) by [@gdelavald](https://github.com/gdelavald)) + - Shows user's real name on autocomplete popup ([#10444](https://github.com/RocketChat/Rocket.Chat/pull/10444) by [@gdelavald](https://github.com/gdelavald)) + - Automatically trigger Redhat registry build when tagging new release ([#10414](https://github.com/RocketChat/Rocket.Chat/pull/10414)) + - Add information regarding Zapier and Bots to the integrations page ([#10574](https://github.com/RocketChat/Rocket.Chat/pull/10574)) ### ๐Ÿ› Bug fixes + - Missing "Administration" menu for users with some administration permissions ([#10551](https://github.com/RocketChat/Rocket.Chat/pull/10551) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) + - Member list search with no results ([#10599](https://github.com/RocketChat/Rocket.Chat/pull/10599)) + - Integrations with room data not having the usernames filled in ([#10576](https://github.com/RocketChat/Rocket.Chat/pull/10576)) + - Add user object to responses in /*.files Rest endpoints ([#10480](https://github.com/RocketChat/Rocket.Chat/pull/10480)) + - Missing user data on files uploaded through the API ([#10473](https://github.com/RocketChat/Rocket.Chat/pull/10473) by [@Hudell](https://github.com/Hudell)) + - Rename method to clean history of messages ([#10498](https://github.com/RocketChat/Rocket.Chat/pull/10498)) + - REST spotlight API wasn't allowing searches with # and @ ([#10410](https://github.com/RocketChat/Rocket.Chat/pull/10410)) + - Dropdown elements were using old styles ([#10482](https://github.com/RocketChat/Rocket.Chat/pull/10482) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) + - Directory sort and column sizes were wrong ([#10403](https://github.com/RocketChat/Rocket.Chat/pull/10403) by [@karlprieb](https://github.com/karlprieb)) + - REST API OAuth services endpoint were missing fields and flag to indicate custom services ([#10299](https://github.com/RocketChat/Rocket.Chat/pull/10299)) + - Error messages weren't been displayed when email verification fails ([#10446](https://github.com/RocketChat/Rocket.Chat/pull/10446) by [@Hudell](https://github.com/Hudell) & [@karlprieb](https://github.com/karlprieb)) + - Wrong column positions in the directory search for users ([#10454](https://github.com/RocketChat/Rocket.Chat/pull/10454) by [@karlprieb](https://github.com/karlprieb) & [@lunaticmonk](https://github.com/lunaticmonk)) + - Custom fields was misaligned in registration form ([#10463](https://github.com/RocketChat/Rocket.Chat/pull/10463) by [@dschuan](https://github.com/dschuan)) + - Unique identifier file not really being unique ([#10341](https://github.com/RocketChat/Rocket.Chat/pull/10341) by [@abernix](https://github.com/abernix)) + - Empty panel after changing a user's username ([#10404](https://github.com/RocketChat/Rocket.Chat/pull/10404) by [@Hudell](https://github.com/Hudell)) + - Russian translation of "False" ([#10418](https://github.com/RocketChat/Rocket.Chat/pull/10418) by [@strangerintheq](https://github.com/strangerintheq)) + - Links being embedded inside of blockquotes ([#10496](https://github.com/RocketChat/Rocket.Chat/pull/10496) by [@gdelavald](https://github.com/gdelavald)) + - The 'channel.messages' REST API Endpoint error ([#10485](https://github.com/RocketChat/Rocket.Chat/pull/10485) by [@rafaelks](https://github.com/rafaelks)) + - Button on user info contextual bar scrolling with the content ([#10358](https://github.com/RocketChat/Rocket.Chat/pull/10358) by [@karlprieb](https://github.com/karlprieb) & [@okaybroda](https://github.com/okaybroda)) + - "Idle Time Limit" using milliseconds instead of seconds ([#9824](https://github.com/RocketChat/Rocket.Chat/pull/9824) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) + - Missing i18n translation key for "Unread" ([#10387](https://github.com/RocketChat/Rocket.Chat/pull/10387) by [@Hudell](https://github.com/Hudell)) + - Owner unable to delete channel or group from APIs ([#9729](https://github.com/RocketChat/Rocket.Chat/pull/9729) by [@c0dzilla](https://github.com/c0dzilla)) + - Livechat translation files being ignored ([#10369](https://github.com/RocketChat/Rocket.Chat/pull/10369)) + - Missing page "not found" ([#6673](https://github.com/RocketChat/Rocket.Chat/pull/6673) by [@Prakharsvnit](https://github.com/Prakharsvnit) & [@karlprieb](https://github.com/karlprieb)) + - "Highlight Words" wasn't working with more than one word ([#10083](https://github.com/RocketChat/Rocket.Chat/pull/10083) by [@gdelavald](https://github.com/gdelavald) & [@nemaniarjun](https://github.com/nemaniarjun)) + - Missing "Administration" menu for user with manage-emoji permission ([#10171](https://github.com/RocketChat/Rocket.Chat/pull/10171) by [@c0dzilla](https://github.com/c0dzilla) & [@karlprieb](https://github.com/karlprieb)) + - Message view mode setting was missing at user's preferences ([#10395](https://github.com/RocketChat/Rocket.Chat/pull/10395) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii) & [@karlprieb](https://github.com/karlprieb)) + - Profile image was not being shown in user's directory search ([#10399](https://github.com/RocketChat/Rocket.Chat/pull/10399) by [@karlprieb](https://github.com/karlprieb) & [@lunaticmonk](https://github.com/lunaticmonk)) + - Wrong positioning of popover when using RTL languages ([#10428](https://github.com/RocketChat/Rocket.Chat/pull/10428) by [@karlprieb](https://github.com/karlprieb)) + - Messages was grouping wrong some times when server is slow ([#10472](https://github.com/RocketChat/Rocket.Chat/pull/10472) by [@gdelavald](https://github.com/gdelavald) & [@karlprieb](https://github.com/karlprieb)) + - GitLab authentication scope was too open, reduced to read only access ([#10225](https://github.com/RocketChat/Rocket.Chat/pull/10225) by [@rafaelks](https://github.com/rafaelks)) + - Renaming agent's username within Livechat's department ([#10344](https://github.com/RocketChat/Rocket.Chat/pull/10344)) + - Missing RocketApps input types ([#10394](https://github.com/RocketChat/Rocket.Chat/pull/10394) by [@karlprieb](https://github.com/karlprieb)) + - Livechat desktop notifications not being displayed ([#10221](https://github.com/RocketChat/Rocket.Chat/pull/10221)) + - Autocomplete list when inviting a user was partial hidden ([#10409](https://github.com/RocketChat/Rocket.Chat/pull/10409) by [@karlprieb](https://github.com/karlprieb)) + - Remove a user from the user's list when creating a new channel removes the wrong user ([#10423](https://github.com/RocketChat/Rocket.Chat/pull/10423) by [@gdelavald](https://github.com/gdelavald) & [@karlprieb](https://github.com/karlprieb)) + - Room's name was cutting instead of having ellipses on sidebar ([#10430](https://github.com/RocketChat/Rocket.Chat/pull/10430)) + - Button to delete rooms by the owners wasn't appearing ([#10438](https://github.com/RocketChat/Rocket.Chat/pull/10438) by [@karlprieb](https://github.com/karlprieb)) + - Updated OpenShift Template to take an Image as a Param ([#9946](https://github.com/RocketChat/Rocket.Chat/pull/9946) by [@christianh814](https://github.com/christianh814)) + - Incoming integrations being able to trigger an empty message with a GET ([#9576](https://github.com/RocketChat/Rocket.Chat/pull/9576)) + - Snaps installations are breaking on avatar requests ([#10390](https://github.com/RocketChat/Rocket.Chat/pull/10390)) + - Wordpress oAuth authentication wasn't behaving correctly ([#10550](https://github.com/RocketChat/Rocket.Chat/pull/10550) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) + - Switch buttons were cutting in RTL mode ([#10558](https://github.com/RocketChat/Rocket.Chat/pull/10558)) + - Stop Firefox announcement overflowing viewport ([#10503](https://github.com/RocketChat/Rocket.Chat/pull/10503) by [@brendangadd](https://github.com/brendangadd))
๐Ÿ” Minor changes + - Release 0.64.0 ([#10613](https://github.com/RocketChat/Rocket.Chat/pull/10613) by [@TwizzyDizzy](https://github.com/TwizzyDizzy) & [@christianh814](https://github.com/christianh814) & [@gdelavald](https://github.com/gdelavald) & [@tttt-conan](https://github.com/tttt-conan)) + - Regression: Various search provider fixes ([#10591](https://github.com/RocketChat/Rocket.Chat/pull/10591) by [@tkurz](https://github.com/tkurz)) + - Regression: /api/v1/settings.oauth not sending needed info for SAML & CAS ([#10596](https://github.com/RocketChat/Rocket.Chat/pull/10596) by [@cardoso](https://github.com/cardoso)) + - Regression: Apps and Livechats not getting along well with each other ([#10598](https://github.com/RocketChat/Rocket.Chat/pull/10598)) + - Development: Add Visual Studio Code debugging configuration ([#10586](https://github.com/RocketChat/Rocket.Chat/pull/10586)) + - Included missing lib for migrations ([#10532](https://github.com/RocketChat/Rocket.Chat/pull/10532) by [@Hudell](https://github.com/Hudell)) + - Develop sync ([#10505](https://github.com/RocketChat/Rocket.Chat/pull/10505) by [@nsuchy](https://github.com/nsuchy) & [@rafaelks](https://github.com/rafaelks)) + - Fix: Remove "secret" from REST endpoint /settings.oauth response ([#10513](https://github.com/RocketChat/Rocket.Chat/pull/10513)) + - [OTHER] More Listeners for Apps & Utilize Promises inside Apps ([#10335](https://github.com/RocketChat/Rocket.Chat/pull/10335)) + - [OTHER] Develop sync ([#10487](https://github.com/RocketChat/Rocket.Chat/pull/10487)) + - Change Docker-Compose to use mmapv1 storage engine for mongo ([#10336](https://github.com/RocketChat/Rocket.Chat/pull/10336)) + - Add some missing translations ([#10435](https://github.com/RocketChat/Rocket.Chat/pull/10435) by [@gdelavald](https://github.com/gdelavald)) + - [OTHER] Removed the developer warning on the rest api ([#10441](https://github.com/RocketChat/Rocket.Chat/pull/10441)) + - Fix and improve vietnamese translation ([#10397](https://github.com/RocketChat/Rocket.Chat/pull/10397) by [@TDiNguyen](https://github.com/TDiNguyen) & [@tttt-conan](https://github.com/tttt-conan)) + - Use Node 8.9 for CI build ([#10405](https://github.com/RocketChat/Rocket.Chat/pull/10405)) + - Update allowed labels for bot ([#10360](https://github.com/RocketChat/Rocket.Chat/pull/10360) by [@TwizzyDizzy](https://github.com/TwizzyDizzy)) + - Remove @core team mention from Pull Request template ([#10384](https://github.com/RocketChat/Rocket.Chat/pull/10384)) + - New issue template for *Release Process* ([#10234](https://github.com/RocketChat/Rocket.Chat/pull/10234)) + - Master into Develop Branch Sync ([#10376](https://github.com/RocketChat/Rocket.Chat/pull/10376)) + - LingoHub based on develop ([#10545](https://github.com/RocketChat/Rocket.Chat/pull/10545)) + - Regression: Revert announcement structure ([#10544](https://github.com/RocketChat/Rocket.Chat/pull/10544) by [@gdelavald](https://github.com/gdelavald)) + - Regression: Upload was not working ([#10543](https://github.com/RocketChat/Rocket.Chat/pull/10543)) + - Deps update ([#10549](https://github.com/RocketChat/Rocket.Chat/pull/10549)) + - Regression: /api/v1/settings.oauth not returning clientId for Twitter ([#10560](https://github.com/RocketChat/Rocket.Chat/pull/10560) by [@cardoso](https://github.com/cardoso)) + - Regression: Webhooks breaking due to restricted test ([#10555](https://github.com/RocketChat/Rocket.Chat/pull/10555)) + - Regression: Rooms and Apps weren't playing nice with each other ([#10559](https://github.com/RocketChat/Rocket.Chat/pull/10559)) + - Regression: Fix announcement bar being displayed without content ([#10554](https://github.com/RocketChat/Rocket.Chat/pull/10554) by [@gdelavald](https://github.com/gdelavald)) + - Regression: Inconsistent response of settings.oauth endpoint ([#10553](https://github.com/RocketChat/Rocket.Chat/pull/10553)) + - Regression: Remove added mentions on quote/reply ([#10571](https://github.com/RocketChat/Rocket.Chat/pull/10571) by [@gdelavald](https://github.com/gdelavald)) + - Regression: Attachments and fields incorrectly failing on validation ([#10573](https://github.com/RocketChat/Rocket.Chat/pull/10573)) + - Regression: Rocket.Chat App author link opens in same window ([#10575](https://github.com/RocketChat/Rocket.Chat/pull/10575) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii))
@@ -4762,6 +6960,7 @@
๐Ÿ” Minor changes + - Release 0.63.3 ([#10504](https://github.com/RocketChat/Rocket.Chat/pull/10504) by [@rafaelks](https://github.com/rafaelks))
@@ -4784,7 +6983,9 @@
๐Ÿ” Minor changes + - Release 0.63.2 ([#10476](https://github.com/RocketChat/Rocket.Chat/pull/10476)) + - add redhat dockerfile to master ([#10408](https://github.com/RocketChat/Rocket.Chat/pull/10408))
@@ -4804,6 +7005,7 @@
๐Ÿ” Minor changes + - Release 0.63.1 ([#10374](https://github.com/RocketChat/Rocket.Chat/pull/10374) by [@TechyPeople](https://github.com/TechyPeople) & [@kaiiiiiiiii](https://github.com/kaiiiiiiiii) & [@tttt-conan](https://github.com/tttt-conan))
@@ -4830,84 +7032,153 @@ ### โš ๏ธ BREAKING CHANGES + - Removed Private History Route ([#10103](https://github.com/RocketChat/Rocket.Chat/pull/10103) by [@Hudell](https://github.com/Hudell)) ### ๐ŸŽ‰ New features + - Improve history generation ([#10319](https://github.com/RocketChat/Rocket.Chat/pull/10319)) + - Interface to install and manage RocketChat Apps (alpha) ([#10246](https://github.com/RocketChat/Rocket.Chat/pull/10246)) + - Livechat messages rest APIs ([#10054](https://github.com/RocketChat/Rocket.Chat/pull/10054) by [@hmagarotto](https://github.com/hmagarotto)) + - Endpoint to retrieve message read receipts ([#9907](https://github.com/RocketChat/Rocket.Chat/pull/9907)) + - Add option to login via REST using Facebook and Twitter tokens ([#9816](https://github.com/RocketChat/Rocket.Chat/pull/9816)) + - Add REST endpoint to get the list of custom emojis ([#9629](https://github.com/RocketChat/Rocket.Chat/pull/9629)) + - GDPR Right to be forgotten/erased ([#9947](https://github.com/RocketChat/Rocket.Chat/pull/9947) by [@Hudell](https://github.com/Hudell)) + - Added endpoint to retrieve mentions of a channel ([#10105](https://github.com/RocketChat/Rocket.Chat/pull/10105)) + - Add leave public channel & leave private channel permissions ([#9584](https://github.com/RocketChat/Rocket.Chat/pull/9584) by [@kb0304](https://github.com/kb0304)) + - Added GET/POST channels.notifications ([#10128](https://github.com/RocketChat/Rocket.Chat/pull/10128)) + - Reply preview ([#10086](https://github.com/RocketChat/Rocket.Chat/pull/10086) by [@ubarsaiyan](https://github.com/ubarsaiyan)) + - Support for agent's phone field ([#10123](https://github.com/RocketChat/Rocket.Chat/pull/10123)) + - Added endpoint to get the list of available oauth services ([#10144](https://github.com/RocketChat/Rocket.Chat/pull/10144)) + - REST API method to set room's announcement (channels.setAnnouncement) ([#9742](https://github.com/RocketChat/Rocket.Chat/pull/9742) by [@TopHattedCat](https://github.com/TopHattedCat)) + - Audio recording as mp3 and better ui for recording ([#9726](https://github.com/RocketChat/Rocket.Chat/pull/9726) by [@kb0304](https://github.com/kb0304)) + - Setting to configure max delta for 2fa ([#9732](https://github.com/RocketChat/Rocket.Chat/pull/9732) by [@Hudell](https://github.com/Hudell)) + - Livechat webhook request on message ([#9870](https://github.com/RocketChat/Rocket.Chat/pull/9870) by [@hmagarotto](https://github.com/hmagarotto)) + - Announcement bar color wasn't using color from theming variables ([#9367](https://github.com/RocketChat/Rocket.Chat/pull/9367) by [@cyclops24](https://github.com/cyclops24) & [@karlprieb](https://github.com/karlprieb)) ### ๐Ÿ› Bug fixes + - Audio Message UI fixes ([#10303](https://github.com/RocketChat/Rocket.Chat/pull/10303) by [@kb0304](https://github.com/kb0304)) + - "View All Members" button inside channel's "User Info" is over sized ([#10012](https://github.com/RocketChat/Rocket.Chat/pull/10012) by [@karlprieb](https://github.com/karlprieb)) + - Apostrophe-containing URL misparsed" ([#10242](https://github.com/RocketChat/Rocket.Chat/pull/10242)) + - user status on sidenav ([#10222](https://github.com/RocketChat/Rocket.Chat/pull/10222)) + - Dynamic CSS script isn't working on older browsers ([#10152](https://github.com/RocketChat/Rocket.Chat/pull/10152) by [@karlprieb](https://github.com/karlprieb)) + - Extended view mode on sidebar ([#10160](https://github.com/RocketChat/Rocket.Chat/pull/10160) by [@karlprieb](https://github.com/karlprieb)) + - Cannot answer to a livechat as a manager if agent has not answered yet ([#10082](https://github.com/RocketChat/Rocket.Chat/pull/10082) by [@kb0304](https://github.com/kb0304)) + - User status missing on user info ([#9866](https://github.com/RocketChat/Rocket.Chat/pull/9866) by [@lunaticmonk](https://github.com/lunaticmonk)) + - Name of files in file upload list cuts down at bottom due to overflow ([#9672](https://github.com/RocketChat/Rocket.Chat/pull/9672) by [@lunaticmonk](https://github.com/lunaticmonk)) + - No pattern for user's status text capitalization ([#9783](https://github.com/RocketChat/Rocket.Chat/pull/9783) by [@lunaticmonk](https://github.com/lunaticmonk)) + - Apostrophe-containing URL misparsed ([#9739](https://github.com/RocketChat/Rocket.Chat/pull/9739) by [@lunaticmonk](https://github.com/lunaticmonk)) + - Popover divs don't scroll if they overflow the viewport ([#9860](https://github.com/RocketChat/Rocket.Chat/pull/9860) by [@Joe-mcgee](https://github.com/Joe-mcgee)) + - Reactions not working on mobile ([#10104](https://github.com/RocketChat/Rocket.Chat/pull/10104)) + - Broken video call accept dialog ([#9872](https://github.com/RocketChat/Rocket.Chat/pull/9872) by [@ramrami](https://github.com/ramrami)) + - Wrong switch button border color ([#10081](https://github.com/RocketChat/Rocket.Chat/pull/10081) by [@kb0304](https://github.com/kb0304)) + - Nextcloud as custom oauth provider wasn't mapping data correctly ([#10090](https://github.com/RocketChat/Rocket.Chat/pull/10090) by [@pierreozoux](https://github.com/pierreozoux)) + - Missing sidebar default options on admin ([#10016](https://github.com/RocketChat/Rocket.Chat/pull/10016) by [@karlprieb](https://github.com/karlprieb)) + - Able to react with invalid emoji ([#8667](https://github.com/RocketChat/Rocket.Chat/pull/8667) by [@mutdmour](https://github.com/mutdmour)) + - User preferences can't be saved when roles are hidden in admin settings ([#10051](https://github.com/RocketChat/Rocket.Chat/pull/10051) by [@Hudell](https://github.com/Hudell)) + - Browser was auto-filling values when editing another user profile ([#9932](https://github.com/RocketChat/Rocket.Chat/pull/9932) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) + - Avatar input was accepting not supported image types ([#10011](https://github.com/RocketChat/Rocket.Chat/pull/10011) by [@karlprieb](https://github.com/karlprieb)) + - Initial loading feedback was missing ([#10028](https://github.com/RocketChat/Rocket.Chat/pull/10028) by [@karlprieb](https://github.com/karlprieb)) + - File had redirect delay when using external storage services and no option to proxy only avatars ([#10272](https://github.com/RocketChat/Rocket.Chat/pull/10272)) + - Missing pt-BR translations ([#10262](https://github.com/RocketChat/Rocket.Chat/pull/10262)) + - /me REST endpoint was missing user roles and preferences ([#10240](https://github.com/RocketChat/Rocket.Chat/pull/10240)) + - Unable to mention after newline in message ([#10078](https://github.com/RocketChat/Rocket.Chat/pull/10078) by [@c0dzilla](https://github.com/c0dzilla)) + - Wrong pagination information on /api/v1/channels.members ([#10224](https://github.com/RocketChat/Rocket.Chat/pull/10224)) + - Inline code following a url leads to autolinking of code with url ([#10163](https://github.com/RocketChat/Rocket.Chat/pull/10163) by [@c0dzilla](https://github.com/c0dzilla)) + - Incoming Webhooks were missing the raw content ([#10258](https://github.com/RocketChat/Rocket.Chat/pull/10258) by [@Hudell](https://github.com/Hudell)) + - Missing Translation Key on Reactions ([#10270](https://github.com/RocketChat/Rocket.Chat/pull/10270) by [@bernardoetrevisan](https://github.com/bernardoetrevisan))
๐Ÿ” Minor changes + - Release 0.63.0 ([#10324](https://github.com/RocketChat/Rocket.Chat/pull/10324) by [@Hudell](https://github.com/Hudell) & [@Joe-mcgee](https://github.com/Joe-mcgee) & [@TopHattedCat](https://github.com/TopHattedCat) & [@hmagarotto](https://github.com/hmagarotto) & [@kaiiiiiiiii](https://github.com/kaiiiiiiiii) & [@karlprieb](https://github.com/karlprieb) & [@kb0304](https://github.com/kb0304) & [@lunaticmonk](https://github.com/lunaticmonk) & [@ramrami](https://github.com/ramrami)) + - Fix: Reaction endpoint/api only working with regular emojis ([#10323](https://github.com/RocketChat/Rocket.Chat/pull/10323)) + - Bump snap version to include security fix ([#10313](https://github.com/RocketChat/Rocket.Chat/pull/10313)) + - Update Meteor to 1.6.1.1 ([#10314](https://github.com/RocketChat/Rocket.Chat/pull/10314)) + - LingoHub based on develop ([#10243](https://github.com/RocketChat/Rocket.Chat/pull/10243)) + - Rename migration name on 108 to match file name ([#10237](https://github.com/RocketChat/Rocket.Chat/pull/10237)) + - Fix typo for Nextcloud login ([#10159](https://github.com/RocketChat/Rocket.Chat/pull/10159) by [@pierreozoux](https://github.com/pierreozoux)) + - Add a few listener supports for the Rocket.Chat Apps ([#10154](https://github.com/RocketChat/Rocket.Chat/pull/10154)) + - Add forums as a place to suggest, discuss and upvote features ([#10148](https://github.com/RocketChat/Rocket.Chat/pull/10148) by [@SeanPackham](https://github.com/SeanPackham)) + - Fix tests breaking randomly ([#10065](https://github.com/RocketChat/Rocket.Chat/pull/10065)) + - [OTHER] Reactivate all tests ([#10036](https://github.com/RocketChat/Rocket.Chat/pull/10036)) + - [OTHER] Reactivate API tests ([#9844](https://github.com/RocketChat/Rocket.Chat/pull/9844) by [@karlprieb](https://github.com/karlprieb)) + - Start 0.63.0-develop / develop sync from master ([#9985](https://github.com/RocketChat/Rocket.Chat/pull/9985)) + - Fix: Renaming channels.notifications Get/Post endpoints ([#10257](https://github.com/RocketChat/Rocket.Chat/pull/10257)) + - Fix caddy download link to pull from github ([#10260](https://github.com/RocketChat/Rocket.Chat/pull/10260)) + - Fix: possible errors on rocket.chat side of the apps ([#10252](https://github.com/RocketChat/Rocket.Chat/pull/10252)) + - Fix snap install. Remove execstack from sharp, and bypass grpc error ([#10015](https://github.com/RocketChat/Rocket.Chat/pull/10015)) + - Fix: inputs for rocketchat apps ([#10274](https://github.com/RocketChat/Rocket.Chat/pull/10274)) + - Fix: chat.react api not accepting previous emojis ([#10290](https://github.com/RocketChat/Rocket.Chat/pull/10290)) + - Fix: Scroll on content page ([#10300](https://github.com/RocketChat/Rocket.Chat/pull/10300))
@@ -4951,16 +7222,23 @@ ### ๐Ÿ› Bug fixes + - Slack Import reports `invalid import file type` due to a call to BSON.native() which is now doesn't exist ([#10071](https://github.com/RocketChat/Rocket.Chat/pull/10071) by [@trongthanh](https://github.com/trongthanh)) + - Verified property of user is always set to false if not supplied ([#9719](https://github.com/RocketChat/Rocket.Chat/pull/9719)) + - Update preferences of users with settings: null was crashing the server ([#10076](https://github.com/RocketChat/Rocket.Chat/pull/10076)) + - REST API: Can't list all public channels when user has permission `view-joined-room` ([#10009](https://github.com/RocketChat/Rocket.Chat/pull/10009)) + - Message editing is crashing the server when read receipts are enabled ([#10061](https://github.com/RocketChat/Rocket.Chat/pull/10061)) + - Download links was duplicating Sub Paths ([#10029](https://github.com/RocketChat/Rocket.Chat/pull/10029))
๐Ÿ” Minor changes + - Release 0.62.2 ([#10087](https://github.com/RocketChat/Rocket.Chat/pull/10087))
@@ -4984,14 +7262,19 @@ ### ๐Ÿ› Bug fixes + - Delete user without username was removing direct rooms of all users ([#9986](https://github.com/RocketChat/Rocket.Chat/pull/9986)) + - New channel page on medium size screens ([#9988](https://github.com/RocketChat/Rocket.Chat/pull/9988) by [@karlprieb](https://github.com/karlprieb)) + - Empty sidenav when sorting by activity and there is a subscription without room ([#9960](https://github.com/RocketChat/Rocket.Chat/pull/9960)) + - Two factor authentication modal was not showing ([#9982](https://github.com/RocketChat/Rocket.Chat/pull/9982))
๐Ÿ” Minor changes + - Release 0.62.1 ([#9989](https://github.com/RocketChat/Rocket.Chat/pull/9989))
@@ -5015,95 +7298,175 @@ ### โš ๏ธ BREAKING CHANGES + - Remove Graphics/Image Magick support ([#9711](https://github.com/RocketChat/Rocket.Chat/pull/9711)) ### ๐ŸŽ‰ New features + - Version update check ([#9793](https://github.com/RocketChat/Rocket.Chat/pull/9793)) + - General alert banner ([#9778](https://github.com/RocketChat/Rocket.Chat/pull/9778)) + - Browse more channels / Directory ([#9642](https://github.com/RocketChat/Rocket.Chat/pull/9642) by [@karlprieb](https://github.com/karlprieb)) + - Add user settings / preferences API endpoint ([#9457](https://github.com/RocketChat/Rocket.Chat/pull/9457) by [@jgtoriginal](https://github.com/jgtoriginal)) + - New sidebar layout ([#9608](https://github.com/RocketChat/Rocket.Chat/pull/9608) by [@karlprieb](https://github.com/karlprieb)) + - Message read receipts ([#9717](https://github.com/RocketChat/Rocket.Chat/pull/9717)) + - Alert admins when user requires approval & alert users when the account is approved/activated/deactivated ([#7098](https://github.com/RocketChat/Rocket.Chat/pull/7098) by [@luisfn](https://github.com/luisfn)) + - Allow configuration of SAML logout behavior ([#9527](https://github.com/RocketChat/Rocket.Chat/pull/9527) by [@mrsimpson](https://github.com/mrsimpson)) + - Internal hubot support for Direct Messages and Private Groups ([#8933](https://github.com/RocketChat/Rocket.Chat/pull/8933) by [@ramrami](https://github.com/ramrami)) + - Improved default welcome message ([#9298](https://github.com/RocketChat/Rocket.Chat/pull/9298) by [@HammyHavoc](https://github.com/HammyHavoc)) + - Makes shield icon configurable ([#9746](https://github.com/RocketChat/Rocket.Chat/pull/9746) by [@c0dzilla](https://github.com/c0dzilla)) + - Global message search (beta: disabled by default) ([#9687](https://github.com/RocketChat/Rocket.Chat/pull/9687) by [@cyberhck](https://github.com/cyberhck) & [@savikko](https://github.com/savikko)) + - Allow sounds when conversation is focused ([#9312](https://github.com/RocketChat/Rocket.Chat/pull/9312) by [@RationalCoding](https://github.com/RationalCoding)) + - API to fetch permissions & user roles ([#9519](https://github.com/RocketChat/Rocket.Chat/pull/9519) by [@rafaelks](https://github.com/rafaelks)) + - REST API to use Spotlight ([#9509](https://github.com/RocketChat/Rocket.Chat/pull/9509) by [@rafaelks](https://github.com/rafaelks)) + - Option to proxy files and avatars through the server ([#9699](https://github.com/RocketChat/Rocket.Chat/pull/9699)) + - Allow request avatar placeholders as PNG or JPG instead of SVG ([#8193](https://github.com/RocketChat/Rocket.Chat/pull/8193) by [@lindoelio](https://github.com/lindoelio)) + - Image preview as 32x32 base64 jpeg ([#9218](https://github.com/RocketChat/Rocket.Chat/pull/9218) by [@jorgeluisrezende](https://github.com/jorgeluisrezende)) + - New REST API to mark channel as read ([#9507](https://github.com/RocketChat/Rocket.Chat/pull/9507) by [@rafaelks](https://github.com/rafaelks)) + - Add route to get user shield/badge ([#9549](https://github.com/RocketChat/Rocket.Chat/pull/9549) by [@kb0304](https://github.com/kb0304)) + - GraphQL API ([#8158](https://github.com/RocketChat/Rocket.Chat/pull/8158) by [@kamilkisiela](https://github.com/kamilkisiela)) + - Livestream tab ([#9255](https://github.com/RocketChat/Rocket.Chat/pull/9255) by [@gdelavald](https://github.com/gdelavald)) + - Add documentation requirement to PRs ([#9658](https://github.com/RocketChat/Rocket.Chat/pull/9658) by [@SeanPackham](https://github.com/SeanPackham)) + - Request mongoDB version in github issue template ([#9807](https://github.com/RocketChat/Rocket.Chat/pull/9807) by [@TwizzyDizzy](https://github.com/TwizzyDizzy)) ### ๐Ÿ› Bug fixes + - Typo on french translation for "Open" ([#9934](https://github.com/RocketChat/Rocket.Chat/pull/9934) by [@sizrar](https://github.com/sizrar)) + - Wrong behavior of rooms info's *Read Only* and *Collaborative* buttons ([#9665](https://github.com/RocketChat/Rocket.Chat/pull/9665) by [@karlprieb](https://github.com/karlprieb)) + - Close button on file upload bar was not working ([#9662](https://github.com/RocketChat/Rocket.Chat/pull/9662) by [@karlprieb](https://github.com/karlprieb)) + - Chrome 64 breaks jitsi-meet iframe ([#9560](https://github.com/RocketChat/Rocket.Chat/pull/9560) by [@speedy01](https://github.com/speedy01)) + - Harmonize channel-related actions ([#9697](https://github.com/RocketChat/Rocket.Chat/pull/9697) by [@mrsimpson](https://github.com/mrsimpson)) + - Custom emoji was cropping sometimes ([#9676](https://github.com/RocketChat/Rocket.Chat/pull/9676) by [@anu-007](https://github.com/anu-007)) + - Show custom room types icon in channel header ([#9696](https://github.com/RocketChat/Rocket.Chat/pull/9696) by [@mrsimpson](https://github.com/mrsimpson)) + - 'Query' support for channels.list.joined, groups.list, groups.listAll, im.list ([#9424](https://github.com/RocketChat/Rocket.Chat/pull/9424) by [@xbolshe](https://github.com/xbolshe)) + - DeprecationWarning: prom-client ... when starting Rocket Chat server ([#9747](https://github.com/RocketChat/Rocket.Chat/pull/9747) by [@jgtoriginal](https://github.com/jgtoriginal)) + - API to retrive rooms was returning empty objects ([#9737](https://github.com/RocketChat/Rocket.Chat/pull/9737)) + - Chat Message Reactions REST API End Point ([#9487](https://github.com/RocketChat/Rocket.Chat/pull/9487) by [@jgtoriginal](https://github.com/jgtoriginal)) + - Messages can't be quoted sometimes ([#9720](https://github.com/RocketChat/Rocket.Chat/pull/9720)) + - GitLab OAuth does not work when GitLabโ€™s URL ends with slash ([#9716](https://github.com/RocketChat/Rocket.Chat/pull/9716)) + - Close Livechat conversation by visitor not working in version 0.61.0 ([#9714](https://github.com/RocketChat/Rocket.Chat/pull/9714)) + - Formal pronouns and some small mistakes in German texts ([#9067](https://github.com/RocketChat/Rocket.Chat/pull/9067) by [@AmShaegar13](https://github.com/AmShaegar13)) + - Facebook integration in livechat not working on version 0.61.0 ([#9640](https://github.com/RocketChat/Rocket.Chat/pull/9640)) + - Weird rendering of emojis at sidebar when `last message` is activated ([#9623](https://github.com/RocketChat/Rocket.Chat/pull/9623)) + - Rest API helpers only applying to v1 ([#9520](https://github.com/RocketChat/Rocket.Chat/pull/9520)) + - Desktop notification not showing when avatar came from external storage service ([#9639](https://github.com/RocketChat/Rocket.Chat/pull/9639)) + - Missing link Site URLs in enrollment e-mails ([#9454](https://github.com/RocketChat/Rocket.Chat/pull/9454) by [@kemitchell](https://github.com/kemitchell)) + - Missing string 'Username_already_exist' on the accountProfile page ([#9610](https://github.com/RocketChat/Rocket.Chat/pull/9610) by [@lunaticmonk](https://github.com/lunaticmonk)) + - SVG avatars are not been displayed correctly when load in non HTML containers ([#9570](https://github.com/RocketChat/Rocket.Chat/pull/9570) by [@filipedelimabrito](https://github.com/filipedelimabrito)) + - Livechat is not working when running in a sub path ([#9599](https://github.com/RocketChat/Rocket.Chat/pull/9599)) + - Not receiving sound notifications in rooms created by new LiveChats ([#9802](https://github.com/RocketChat/Rocket.Chat/pull/9802)) + - Silence the update check error message ([#9858](https://github.com/RocketChat/Rocket.Chat/pull/9858)) + - Parsing messages with multiple markdown matches ignore some tokens ([#9884](https://github.com/RocketChat/Rocket.Chat/pull/9884) by [@c0dzilla](https://github.com/c0dzilla)) + - Importers no longer working due to the FileUpload changes ([#9850](https://github.com/RocketChat/Rocket.Chat/pull/9850)) + - Misplaced "Save Changes" button in user account panel ([#9888](https://github.com/RocketChat/Rocket.Chat/pull/9888) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) + - Snap build was failing ([#9879](https://github.com/RocketChat/Rocket.Chat/pull/9879))
๐Ÿ” Minor changes + - Release 0.62.0 ([#9935](https://github.com/RocketChat/Rocket.Chat/pull/9935)) + - Regression: Fix livechat queue link ([#9928](https://github.com/RocketChat/Rocket.Chat/pull/9928) by [@karlprieb](https://github.com/karlprieb)) + - Regression: Directory now list default channel ([#9931](https://github.com/RocketChat/Rocket.Chat/pull/9931) by [@karlprieb](https://github.com/karlprieb)) + - Improve link handling for attachments ([#9908](https://github.com/RocketChat/Rocket.Chat/pull/9908)) + - Regression: Misplaced language dropdown in user preferences panel ([#9883](https://github.com/RocketChat/Rocket.Chat/pull/9883) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) + - Fix RHCC image path for OpenShift and default to the current namespace. ([#9901](https://github.com/RocketChat/Rocket.Chat/pull/9901) by [@jsm84](https://github.com/jsm84)) + - Sync from Master ([#9796](https://github.com/RocketChat/Rocket.Chat/pull/9796) by [@HammyHavoc](https://github.com/HammyHavoc)) + - [OTHER] Rocket.Chat Apps ([#9666](https://github.com/RocketChat/Rocket.Chat/pull/9666)) + - Move NRR package to inside the project and convert from CoffeeScript ([#9753](https://github.com/RocketChat/Rocket.Chat/pull/9753)) + - Update to meteor 1.6.1 ([#9546](https://github.com/RocketChat/Rocket.Chat/pull/9546)) + - Regression: Avatar now open account related options ([#9843](https://github.com/RocketChat/Rocket.Chat/pull/9843) by [@karlprieb](https://github.com/karlprieb)) + - Regression: Open search using ctrl/cmd + p and ctrl/cmd + k ([#9837](https://github.com/RocketChat/Rocket.Chat/pull/9837) by [@karlprieb](https://github.com/karlprieb)) + - Regression: Search bar is now full width ([#9839](https://github.com/RocketChat/Rocket.Chat/pull/9839) by [@karlprieb](https://github.com/karlprieb)) + - Dependencies update ([#9811](https://github.com/RocketChat/Rocket.Chat/pull/9811)) + - Fix: Custom fields not showing on user info panel ([#9821](https://github.com/RocketChat/Rocket.Chat/pull/9821)) + - Regression: Page was not respecting the window height on Firefox ([#9804](https://github.com/RocketChat/Rocket.Chat/pull/9804)) + - Update bot-config.yml ([#9784](https://github.com/RocketChat/Rocket.Chat/pull/9784) by [@JSzaszvari](https://github.com/JSzaszvari)) + - Develop fix sync from master ([#9797](https://github.com/RocketChat/Rocket.Chat/pull/9797)) + - Regression: Change create channel icon ([#9851](https://github.com/RocketChat/Rocket.Chat/pull/9851) by [@karlprieb](https://github.com/karlprieb)) + - Regression: Fix channel icons on safari ([#9852](https://github.com/RocketChat/Rocket.Chat/pull/9852) by [@karlprieb](https://github.com/karlprieb)) + - Regression: Fix admin/user settings item text ([#9845](https://github.com/RocketChat/Rocket.Chat/pull/9845) by [@karlprieb](https://github.com/karlprieb)) + - Regression: Improve sidebar filter ([#9905](https://github.com/RocketChat/Rocket.Chat/pull/9905) by [@karlprieb](https://github.com/karlprieb)) + - [OTHER] Fix Apps not working on multi-instance deployments ([#9902](https://github.com/RocketChat/Rocket.Chat/pull/9902)) + - [Fix] Not Translated Phrases ([#9877](https://github.com/RocketChat/Rocket.Chat/pull/9877) by [@bernardoetrevisan](https://github.com/bernardoetrevisan)) + - Regression: Overlapping header in user profile panel ([#9889](https://github.com/RocketChat/Rocket.Chat/pull/9889) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) + - Regression: sort on room's list not working correctly ([#9897](https://github.com/RocketChat/Rocket.Chat/pull/9897))
@@ -5162,13 +7525,17 @@ ### ๐Ÿ› Bug fixes + - Livechat issues on external queue and lead capture ([#9750](https://github.com/RocketChat/Rocket.Chat/pull/9750)) + - Emoji rendering on last message ([#9776](https://github.com/RocketChat/Rocket.Chat/pull/9776)) + - Livechat conversation not receiving messages when start without form ([#9772](https://github.com/RocketChat/Rocket.Chat/pull/9772))
๐Ÿ” Minor changes + - Release 0.61.2 ([#9786](https://github.com/RocketChat/Rocket.Chat/pull/9786))
@@ -5189,6 +7556,7 @@
๐Ÿ” Minor changes + - Release 0.61.1 ([#9721](https://github.com/RocketChat/Rocket.Chat/pull/9721))
@@ -5206,48 +7574,81 @@ ### โš ๏ธ BREAKING CHANGES + - Decouple livechat visitors from regular users ([#9048](https://github.com/RocketChat/Rocket.Chat/pull/9048)) ### ๐ŸŽ‰ New features + - Contextual Bar Redesign ([#8411](https://github.com/RocketChat/Rocket.Chat/pull/8411) by [@karlprieb](https://github.com/karlprieb)) + - Update documentation: provide example for multiple basedn ([#9442](https://github.com/RocketChat/Rocket.Chat/pull/9442) by [@rndmh3ro](https://github.com/rndmh3ro)) + - Sidebar menu option to mark room as unread ([#9216](https://github.com/RocketChat/Rocket.Chat/pull/9216) by [@karlprieb](https://github.com/karlprieb)) + - Add mention-here permission #7631 ([#9228](https://github.com/RocketChat/Rocket.Chat/pull/9228) by [@ryjones](https://github.com/ryjones)) + - Indicate the Self DM room ([#9234](https://github.com/RocketChat/Rocket.Chat/pull/9234)) + - new layout for emojipicker ([#9245](https://github.com/RocketChat/Rocket.Chat/pull/9245) by [@karlprieb](https://github.com/karlprieb)) + - add /home link to sidenav footer logo ([#9366](https://github.com/RocketChat/Rocket.Chat/pull/9366) by [@cyclops24](https://github.com/cyclops24)) + - Livechat extract lead data from message ([#9135](https://github.com/RocketChat/Rocket.Chat/pull/9135)) + - Add impersonate option for livechat triggers ([#9107](https://github.com/RocketChat/Rocket.Chat/pull/9107)) + - Add support to external livechat queue service provider ([#9053](https://github.com/RocketChat/Rocket.Chat/pull/9053)) + - Contextual bar mail messages ([#9510](https://github.com/RocketChat/Rocket.Chat/pull/9510) by [@karlprieb](https://github.com/karlprieb)) ### ๐Ÿ› Bug fixes + - [i18n] add room type translation support for room-changed-privacy message ([#9369](https://github.com/RocketChat/Rocket.Chat/pull/9369) by [@cyclops24](https://github.com/cyclops24)) + - Fix livechat register form ([#9452](https://github.com/RocketChat/Rocket.Chat/pull/9452)) + - Fix livechat build ([#9451](https://github.com/RocketChat/Rocket.Chat/pull/9451)) + - Fix closing livechat inquiry ([#9164](https://github.com/RocketChat/Rocket.Chat/pull/9164)) + - Slash command 'unarchive' throws exception if the channel does not exist ([#9435](https://github.com/RocketChat/Rocket.Chat/pull/9435) by [@ramrami](https://github.com/ramrami)) + - Slash command 'archive' throws exception if the channel does not exist ([#9428](https://github.com/RocketChat/Rocket.Chat/pull/9428) by [@ramrami](https://github.com/ramrami)) + - Subscriptions not removed when removing user ([#9432](https://github.com/RocketChat/Rocket.Chat/pull/9432)) + - Highlight setting not working correctly ([#9364](https://github.com/RocketChat/Rocket.Chat/pull/9364) by [@cyclops24](https://github.com/cyclops24)) + - File access not working when passing credentials via querystring ([#9264](https://github.com/RocketChat/Rocket.Chat/pull/9264)) + - Contextual bar redesign ([#9481](https://github.com/RocketChat/Rocket.Chat/pull/9481) by [@gdelavald](https://github.com/gdelavald) & [@karlprieb](https://github.com/karlprieb)) + - mention-here is missing i18n text #9455 ([#9456](https://github.com/RocketChat/Rocket.Chat/pull/9456) by [@ryjones](https://github.com/ryjones)) + - Fix livechat visitor edit ([#9506](https://github.com/RocketChat/Rocket.Chat/pull/9506)) + - large names on userinfo, and admin user bug on users with no usernames ([#9493](https://github.com/RocketChat/Rocket.Chat/pull/9493) by [@gdelavald](https://github.com/gdelavald))
๐Ÿ” Minor changes + - Release 0.61.0 ([#9533](https://github.com/RocketChat/Rocket.Chat/pull/9533) by [@karlprieb](https://github.com/karlprieb) & [@ryjones](https://github.com/ryjones)) + - Add community bot ([#9439](https://github.com/RocketChat/Rocket.Chat/pull/9439)) + - Use correct version of Mailparser module ([#9356](https://github.com/RocketChat/Rocket.Chat/pull/9356)) + - Develop sync - Bump version to 0.61.0-develop ([#9260](https://github.com/RocketChat/Rocket.Chat/pull/9260) by [@cpitman](https://github.com/cpitman) & [@karlprieb](https://github.com/karlprieb)) + - [Fix] oauth not working because of email array ([#9173](https://github.com/RocketChat/Rocket.Chat/pull/9173)) + - [DOCS] Update the links of our Mobile Apps in Features topic ([#9469](https://github.com/RocketChat/Rocket.Chat/pull/9469) by [@rafaelks](https://github.com/rafaelks)) + - Update license ([#9490](https://github.com/RocketChat/Rocket.Chat/pull/9490)) + - Prevent NPM package-lock inside livechat ([#9504](https://github.com/RocketChat/Rocket.Chat/pull/9504))
@@ -5282,16 +7683,23 @@ ### ๐Ÿ› Bug fixes + - LDAP TLS not working in some cases ([#9343](https://github.com/RocketChat/Rocket.Chat/pull/9343)) + - popover on safari for iOS ([#9328](https://github.com/RocketChat/Rocket.Chat/pull/9328) by [@karlprieb](https://github.com/karlprieb)) + - announcement hyperlink color ([#9330](https://github.com/RocketChat/Rocket.Chat/pull/9330) by [@karlprieb](https://github.com/karlprieb)) + - Deleting message with store last message not removing ([#9335](https://github.com/RocketChat/Rocket.Chat/pull/9335)) + - last message cutting on bottom ([#9345](https://github.com/RocketChat/Rocket.Chat/pull/9345) by [@karlprieb](https://github.com/karlprieb))
๐Ÿ” Minor changes + - Release 0.60.4 ([#9377](https://github.com/RocketChat/Rocket.Chat/pull/9377)) + - Update Marked dependecy to 0.3.9 ([#9346](https://github.com/RocketChat/Rocket.Chat/pull/9346))
@@ -5314,20 +7722,31 @@ ### ๐Ÿ› Bug fixes + - custom emoji size on sidebar item ([#9314](https://github.com/RocketChat/Rocket.Chat/pull/9314) by [@karlprieb](https://github.com/karlprieb)) + - svg render on firefox ([#9311](https://github.com/RocketChat/Rocket.Chat/pull/9311) by [@karlprieb](https://github.com/karlprieb)) + - sidebar footer padding ([#9249](https://github.com/RocketChat/Rocket.Chat/pull/9249) by [@karlprieb](https://github.com/karlprieb)) + - LDAP/AD is not importing all users ([#9309](https://github.com/RocketChat/Rocket.Chat/pull/9309)) + - Wrong position of notifications alert in accounts preference page ([#9289](https://github.com/RocketChat/Rocket.Chat/pull/9289) by [@HammyHavoc](https://github.com/HammyHavoc)) + - English Typos ([#9285](https://github.com/RocketChat/Rocket.Chat/pull/9285) by [@HammyHavoc](https://github.com/HammyHavoc))
๐Ÿ” Minor changes + - Release 0.60.3 ([#9320](https://github.com/RocketChat/Rocket.Chat/pull/9320) by [@HammyHavoc](https://github.com/HammyHavoc)) + - Fix: English language improvements ([#9299](https://github.com/RocketChat/Rocket.Chat/pull/9299) by [@HammyHavoc](https://github.com/HammyHavoc)) + - Fix: Change 'Wordpress' to 'WordPress ([#9291](https://github.com/RocketChat/Rocket.Chat/pull/9291) by [@HammyHavoc](https://github.com/HammyHavoc)) + - Fix: Improved README.md ([#9290](https://github.com/RocketChat/Rocket.Chat/pull/9290) by [@HammyHavoc](https://github.com/HammyHavoc)) + - Fix: README typo ([#9286](https://github.com/RocketChat/Rocket.Chat/pull/9286) by [@HammyHavoc](https://github.com/HammyHavoc))
@@ -5350,13 +7769,17 @@ ### ๐Ÿ› Bug fixes + - Restore translations from other languages ([#9277](https://github.com/RocketChat/Rocket.Chat/pull/9277)) + - Remove sweetalert from livechat facebook integration page ([#9274](https://github.com/RocketChat/Rocket.Chat/pull/9274)) + - Missing translations ([#9272](https://github.com/RocketChat/Rocket.Chat/pull/9272))
๐Ÿ” Minor changes + - Release 0.60.2 ([#9280](https://github.com/RocketChat/Rocket.Chat/pull/9280))
@@ -5375,6 +7798,7 @@ ### ๐Ÿ› Bug fixes + - File access not working when passing credentials via querystring ([#9262](https://github.com/RocketChat/Rocket.Chat/pull/9262)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -5390,185 +7814,358 @@ ### ๐ŸŽ‰ New features + - Allow user's default preferences configuration ([#7285](https://github.com/RocketChat/Rocket.Chat/pull/7285) by [@goiaba](https://github.com/goiaba)) + - Add "Favorites" and "Mark as read" options to the room list ([#8915](https://github.com/RocketChat/Rocket.Chat/pull/8915) by [@karlprieb](https://github.com/karlprieb)) + - Facebook livechat integration ([#8807](https://github.com/RocketChat/Rocket.Chat/pull/8807)) + - Added support for Dataporten's userid-feide scope ([#8902](https://github.com/RocketChat/Rocket.Chat/pull/8902) by [@torgeirl](https://github.com/torgeirl)) + - Describe file uploads when notifying by email ([#8924](https://github.com/RocketChat/Rocket.Chat/pull/8924)) + - Feature/livechat hide email ([#8149](https://github.com/RocketChat/Rocket.Chat/pull/8149) by [@icosamuel](https://github.com/icosamuel) & [@sarbasamuel](https://github.com/sarbasamuel)) + - Sender's name in email notifications. ([#7999](https://github.com/RocketChat/Rocket.Chat/pull/7999) by [@pkgodara](https://github.com/pkgodara)) + - Add "real name change" setting ([#8739](https://github.com/RocketChat/Rocket.Chat/pull/8739) by [@AmShaegar13](https://github.com/AmShaegar13)) + - Use enter separator rather than comma in highlight preferences + Auto refresh after change highlighted words ([#8433](https://github.com/RocketChat/Rocket.Chat/pull/8433) by [@cyclops24](https://github.com/cyclops24)) + - Adds admin option to globally set mobile devices to always be notified regardless of presence status. ([#7641](https://github.com/RocketChat/Rocket.Chat/pull/7641) by [@stalley](https://github.com/stalley)) + - Add new API endpoints ([#8947](https://github.com/RocketChat/Rocket.Chat/pull/8947)) + - Option to enable/disable auto away and configure timer ([#8029](https://github.com/RocketChat/Rocket.Chat/pull/8029) by [@armand1m](https://github.com/armand1m)) + - New Modal component ([#8882](https://github.com/RocketChat/Rocket.Chat/pull/8882) by [@karlprieb](https://github.com/karlprieb)) + - Improve room types API and usages ([#9009](https://github.com/RocketChat/Rocket.Chat/pull/9009) by [@mrsimpson](https://github.com/mrsimpson)) + - Room counter sidebar preference ([#8866](https://github.com/RocketChat/Rocket.Chat/pull/8866) by [@karlprieb](https://github.com/karlprieb)) + - Save room's last message ([#8979](https://github.com/RocketChat/Rocket.Chat/pull/8979) by [@karlprieb](https://github.com/karlprieb)) + - Token Controlled Access channels ([#8060](https://github.com/RocketChat/Rocket.Chat/pull/8060) by [@karlprieb](https://github.com/karlprieb) & [@lindoelio](https://github.com/lindoelio)) + - Send category and title fields to iOS push notification ([#8905](https://github.com/RocketChat/Rocket.Chat/pull/8905)) + - code to get the updated messages ([#8857](https://github.com/RocketChat/Rocket.Chat/pull/8857)) + - Rest API endpoints to list, get, and run commands ([#8531](https://github.com/RocketChat/Rocket.Chat/pull/8531)) + - Upgrade Meteor to 1.6 ([#8715](https://github.com/RocketChat/Rocket.Chat/pull/8715) by [@karlprieb](https://github.com/karlprieb)) + - Add settings for allow user direct messages to yourself ([#8066](https://github.com/RocketChat/Rocket.Chat/pull/8066) by [@lindoelio](https://github.com/lindoelio)) + - Add sweet alert to video call tab ([#8108](https://github.com/RocketChat/Rocket.Chat/pull/8108)) + - Displays QR code for manually entering when enabling 2fa ([#8143](https://github.com/RocketChat/Rocket.Chat/pull/8143)) + - Add yunohost.org installation method to Readme.md ([#8037](https://github.com/RocketChat/Rocket.Chat/pull/8037) by [@selamanse](https://github.com/selamanse)) + - Modal ([#9092](https://github.com/RocketChat/Rocket.Chat/pull/9092) by [@karlprieb](https://github.com/karlprieb)) + - Make Custom oauth accept nested usernameField ([#9066](https://github.com/RocketChat/Rocket.Chat/pull/9066) by [@pierreozoux](https://github.com/pierreozoux)) ### ๐Ÿ› Bug fixes + - Can't react on Read Only rooms even when enabled ([#8925](https://github.com/RocketChat/Rocket.Chat/pull/8925) by [@karlprieb](https://github.com/karlprieb)) + - CAS does not share secrets when operating multiple server instances ([#8654](https://github.com/RocketChat/Rocket.Chat/pull/8654) by [@AmShaegar13](https://github.com/AmShaegar13)) + - Snippetted messages not working ([#8937](https://github.com/RocketChat/Rocket.Chat/pull/8937) by [@karlprieb](https://github.com/karlprieb)) + - Added afterUserCreated trigger after first CAS login ([#9022](https://github.com/RocketChat/Rocket.Chat/pull/9022) by [@AmShaegar13](https://github.com/AmShaegar13)) + - Notification is not sent when a video conference start ([#8828](https://github.com/RocketChat/Rocket.Chat/pull/8828) by [@deepseainside75](https://github.com/deepseainside75) & [@stefanoverducci](https://github.com/stefanoverducci)) + - long filename overlaps cancel button in progress bar ([#8868](https://github.com/RocketChat/Rocket.Chat/pull/8868) by [@joesitton](https://github.com/joesitton)) + - Changed oembedUrlWidget to prefer og:image and twitter:image over msapplication-TileImage ([#9012](https://github.com/RocketChat/Rocket.Chat/pull/9012) by [@wferris722](https://github.com/wferris722)) + - Update insecure moment.js dependency ([#9046](https://github.com/RocketChat/Rocket.Chat/pull/9046) by [@robbyoconnor](https://github.com/robbyoconnor)) + - Custom OAuth: Not able to set different token place for routes ([#9034](https://github.com/RocketChat/Rocket.Chat/pull/9034)) + - Can't use OAuth login against a Rocket.Chat OAuth server ([#9044](https://github.com/RocketChat/Rocket.Chat/pull/9044)) + - Notification sound is not disabling when busy ([#9042](https://github.com/RocketChat/Rocket.Chat/pull/9042)) + - Use encodeURI in AmazonS3 contentDisposition file.name to prevent fail ([#9024](https://github.com/RocketChat/Rocket.Chat/pull/9024) by [@paulovitin](https://github.com/paulovitin)) + - snap install by setting grpc package used by google/vision to 1.6.6 ([#9029](https://github.com/RocketChat/Rocket.Chat/pull/9029)) + - Enable CORS for Restivus ([#8671](https://github.com/RocketChat/Rocket.Chat/pull/8671) by [@mrsimpson](https://github.com/mrsimpson)) + - Importers failing when usernames exists but cases don't match and improve the importer framework's performance ([#8966](https://github.com/RocketChat/Rocket.Chat/pull/8966)) + - Error when saving integration with symbol as only trigger ([#9023](https://github.com/RocketChat/Rocket.Chat/pull/9023)) + - Sync of non existent field throws exception ([#8006](https://github.com/RocketChat/Rocket.Chat/pull/8006) by [@goiaba](https://github.com/goiaba)) + - Autoupdate of CSS does not work when using a prefix ([#8107](https://github.com/RocketChat/Rocket.Chat/pull/8107) by [@Darkneon](https://github.com/Darkneon)) + - Contextual errors for this and RegExp declarations in IRC module ([#8656](https://github.com/RocketChat/Rocket.Chat/pull/8656) by [@Pharserror](https://github.com/Pharserror)) + - Wrong room counter name ([#9013](https://github.com/RocketChat/Rocket.Chat/pull/9013) by [@karlprieb](https://github.com/karlprieb)) + - Message-box autogrow flick ([#8932](https://github.com/RocketChat/Rocket.Chat/pull/8932) by [@karlprieb](https://github.com/karlprieb)) + - Don't strip trailing slash on autolinker urls ([#8812](https://github.com/RocketChat/Rocket.Chat/pull/8812) by [@jwilkins](https://github.com/jwilkins)) + - Change the unread messages style ([#8883](https://github.com/RocketChat/Rocket.Chat/pull/8883) by [@karlprieb](https://github.com/karlprieb)) + - Missing sidebar footer padding ([#8884](https://github.com/RocketChat/Rocket.Chat/pull/8884) by [@karlprieb](https://github.com/karlprieb)) + - Long room announcement cut off ([#8907](https://github.com/RocketChat/Rocket.Chat/pull/8907) by [@karlprieb](https://github.com/karlprieb)) + - DM email notifications always being sent regardless of account setting ([#8917](https://github.com/RocketChat/Rocket.Chat/pull/8917) by [@ashward](https://github.com/ashward)) + - Typo Fix ([#8938](https://github.com/RocketChat/Rocket.Chat/pull/8938) by [@seangeleno](https://github.com/seangeleno)) + - Katex markdown link changed ([#8948](https://github.com/RocketChat/Rocket.Chat/pull/8948) by [@mritunjaygoutam12](https://github.com/mritunjaygoutam12)) + - if ogImage exists use it over image in oembedUrlWidget ([#9000](https://github.com/RocketChat/Rocket.Chat/pull/9000) by [@satyapramodh](https://github.com/satyapramodh)) + - Cannot edit or delete custom sounds ([#8889](https://github.com/RocketChat/Rocket.Chat/pull/8889) by [@ccfang](https://github.com/ccfang)) + - Change old 'rocketbot' username to 'InternalHubot_Username' setting ([#8928](https://github.com/RocketChat/Rocket.Chat/pull/8928) by [@ramrami](https://github.com/ramrami)) + - Link for channels are not rendering correctly ([#8985](https://github.com/RocketChat/Rocket.Chat/pull/8985) by [@karlprieb](https://github.com/karlprieb)) + - Xenforo [BD]API for 'user.user_id; instead of 'id' ([#8968](https://github.com/RocketChat/Rocket.Chat/pull/8968) by [@wesnspace](https://github.com/wesnspace)) + - flextab height on smaller screens ([#8994](https://github.com/RocketChat/Rocket.Chat/pull/8994) by [@karlprieb](https://github.com/karlprieb)) + - Check for mention-all permission in room scope ([#8931](https://github.com/RocketChat/Rocket.Chat/pull/8931)) + - fix emoji package path so they show up correctly in browser ([#8822](https://github.com/RocketChat/Rocket.Chat/pull/8822) by [@ryoshimizu](https://github.com/ryoshimizu)) + - Set correct Twitter link ([#8830](https://github.com/RocketChat/Rocket.Chat/pull/8830) by [@jotafeldmann](https://github.com/jotafeldmann)) + - User email settings on DM ([#8810](https://github.com/RocketChat/Rocket.Chat/pull/8810) by [@karlprieb](https://github.com/karlprieb)) + - i18n'd Resend_verification_mail, username_initials, upload avatar ([#8721](https://github.com/RocketChat/Rocket.Chat/pull/8721) by [@arungalva](https://github.com/arungalva)) + - Username clipping on firefox ([#8716](https://github.com/RocketChat/Rocket.Chat/pull/8716) by [@karlprieb](https://github.com/karlprieb)) + - Improved grammar and made it clearer to the user ([#8795](https://github.com/RocketChat/Rocket.Chat/pull/8795) by [@HammyHavoc](https://github.com/HammyHavoc)) + - Show real name of current user at top of side nav if setting enabled ([#8718](https://github.com/RocketChat/Rocket.Chat/pull/8718) by [@alexbrazier](https://github.com/alexbrazier)) + - Range Slider Value label has bug in RTL ([#8441](https://github.com/RocketChat/Rocket.Chat/pull/8441) by [@cyclops24](https://github.com/cyclops24)) + - Add historic chats icon in Livechat ([#8708](https://github.com/RocketChat/Rocket.Chat/pull/8708) by [@mrsimpson](https://github.com/mrsimpson)) + - Sort direct messages by full name if show real names setting enabled ([#8717](https://github.com/RocketChat/Rocket.Chat/pull/8717) by [@alexbrazier](https://github.com/alexbrazier)) + - Improving consistency of UX ([#8796](https://github.com/RocketChat/Rocket.Chat/pull/8796) by [@HammyHavoc](https://github.com/HammyHavoc)) + - fixed some typos ([#8787](https://github.com/RocketChat/Rocket.Chat/pull/8787) by [@TheReal1604](https://github.com/TheReal1604)) + - Changed all rocket.chat/docs/ to docs.rocket.chat/ ([#8588](https://github.com/RocketChat/Rocket.Chat/pull/8588) by [@RekkyRek](https://github.com/RekkyRek)) + - Email verification indicator added ([#7923](https://github.com/RocketChat/Rocket.Chat/pull/7923) by [@aditya19496](https://github.com/aditya19496)) + - REST API file upload not respecting size limit ([#9108](https://github.com/RocketChat/Rocket.Chat/pull/9108)) + - Creating channels on Firefox ([#9109](https://github.com/RocketChat/Rocket.Chat/pull/9109) by [@karlprieb](https://github.com/karlprieb)) + - Some UI problems on 0.60 ([#9095](https://github.com/RocketChat/Rocket.Chat/pull/9095) by [@karlprieb](https://github.com/karlprieb)) + - Update rocketchat:streamer to be compatible with previous version ([#9094](https://github.com/RocketChat/Rocket.Chat/pull/9094)) + - Importers not recovering when an error occurs ([#9134](https://github.com/RocketChat/Rocket.Chat/pull/9134)) + - Do not block room while loading history ([#9121](https://github.com/RocketChat/Rocket.Chat/pull/9121)) + - Channel page error ([#9091](https://github.com/RocketChat/Rocket.Chat/pull/9091) by [@ggrish](https://github.com/ggrish)) + - Update Rocket.Chat for sandstorm ([#9062](https://github.com/RocketChat/Rocket.Chat/pull/9062) by [@peterlee0127](https://github.com/peterlee0127)) + - modal data on enter and modal style for file preview ([#9171](https://github.com/RocketChat/Rocket.Chat/pull/9171) by [@karlprieb](https://github.com/karlprieb)) + - show oauth logins when adblock is used ([#9170](https://github.com/RocketChat/Rocket.Chat/pull/9170) by [@karlprieb](https://github.com/karlprieb)) + - Last sent message reoccurs in textbox ([#9169](https://github.com/RocketChat/Rocket.Chat/pull/9169)) + - Made welcome emails more readable ([#9193](https://github.com/RocketChat/Rocket.Chat/pull/9193) by [@HammyHavoc](https://github.com/HammyHavoc)) + - Unread bar position when room have announcement ([#9188](https://github.com/RocketChat/Rocket.Chat/pull/9188) by [@karlprieb](https://github.com/karlprieb)) + - Emoji size on last message preview ([#9186](https://github.com/RocketChat/Rocket.Chat/pull/9186) by [@karlprieb](https://github.com/karlprieb)) + - Cursor position when reply on safari ([#9185](https://github.com/RocketChat/Rocket.Chat/pull/9185) by [@karlprieb](https://github.com/karlprieb)) + - "Use Emoji" preference not working ([#9182](https://github.com/RocketChat/Rocket.Chat/pull/9182) by [@karlprieb](https://github.com/karlprieb)) + - make the cross icon on user selection at channel creation page work ([#9176](https://github.com/RocketChat/Rocket.Chat/pull/9176) by [@karlprieb](https://github.com/karlprieb) & [@vitor-nagao](https://github.com/vitor-nagao)) + - go to replied message ([#9172](https://github.com/RocketChat/Rocket.Chat/pull/9172) by [@karlprieb](https://github.com/karlprieb)) + - channel create scroll on small screens ([#9168](https://github.com/RocketChat/Rocket.Chat/pull/9168) by [@karlprieb](https://github.com/karlprieb)) + - Error when user roles is missing or is invalid ([#9040](https://github.com/RocketChat/Rocket.Chat/pull/9040) by [@paulovitin](https://github.com/paulovitin)) + - Make mentions and menu icons color darker ([#8922](https://github.com/RocketChat/Rocket.Chat/pull/8922) by [@karlprieb](https://github.com/karlprieb)) + - Show modal with announcement ([#9241](https://github.com/RocketChat/Rocket.Chat/pull/9241) by [@karlprieb](https://github.com/karlprieb)) + - File upload not working on IE and weird on Chrome ([#9206](https://github.com/RocketChat/Rocket.Chat/pull/9206) by [@karlprieb](https://github.com/karlprieb)) + - "Enter usernames" placeholder is cutting in "create channel" view ([#9194](https://github.com/RocketChat/Rocket.Chat/pull/9194) by [@TheReal1604](https://github.com/TheReal1604)) + - Move emojipicker css to theme package ([#9243](https://github.com/RocketChat/Rocket.Chat/pull/9243) by [@karlprieb](https://github.com/karlprieb))
๐Ÿ” Minor changes + - Release 0.60.0 ([#9259](https://github.com/RocketChat/Rocket.Chat/pull/9259)) + - Fix tag build ([#9084](https://github.com/RocketChat/Rocket.Chat/pull/9084)) + - Turn off prettyJson if the node environment isn't development ([#9068](https://github.com/RocketChat/Rocket.Chat/pull/9068)) + - Fix api regression (exception when deleting user) ([#9049](https://github.com/RocketChat/Rocket.Chat/pull/9049)) + - Use real names for user and room in emails ([#7922](https://github.com/RocketChat/Rocket.Chat/pull/7922) by [@danischreiber](https://github.com/danischreiber)) + - [MOVE] Move mentions files to client/server ([#8142](https://github.com/RocketChat/Rocket.Chat/pull/8142) by [@vcapretz](https://github.com/vcapretz)) + - Update multiple-instance-status package ([#9018](https://github.com/RocketChat/Rocket.Chat/pull/9018)) + - Use redhat official image with openshift ([#9007](https://github.com/RocketChat/Rocket.Chat/pull/9007)) + - Added d2c.io to deployment ([#8975](https://github.com/RocketChat/Rocket.Chat/pull/8975) by [@mastappl](https://github.com/mastappl)) + - LingoHub based on develop ([#8831](https://github.com/RocketChat/Rocket.Chat/pull/8831)) + - Fix snap download url ([#8981](https://github.com/RocketChat/Rocket.Chat/pull/8981)) + - Add a few dots in readme.md ([#8906](https://github.com/RocketChat/Rocket.Chat/pull/8906) by [@dusta](https://github.com/dusta)) + - Changed wording for "Maximum Allowed Message Size" ([#8872](https://github.com/RocketChat/Rocket.Chat/pull/8872) by [@HammyHavoc](https://github.com/HammyHavoc)) + - Fix Docker image build ([#8862](https://github.com/RocketChat/Rocket.Chat/pull/8862)) + - Fix link to .asc file on S3 ([#8829](https://github.com/RocketChat/Rocket.Chat/pull/8829)) + - Bump version to 0.60.0-develop ([#8820](https://github.com/RocketChat/Rocket.Chat/pull/8820) by [@gdelavald](https://github.com/gdelavald) & [@karlprieb](https://github.com/karlprieb)) + - Update path for s3 redirect in circle ci ([#8819](https://github.com/RocketChat/Rocket.Chat/pull/8819)) + - Remove chatops package ([#8742](https://github.com/RocketChat/Rocket.Chat/pull/8742)) + - Removed tmeasday:crypto-md5 ([#8743](https://github.com/RocketChat/Rocket.Chat/pull/8743)) + - Update meteor package to 1.8.1 ([#8802](https://github.com/RocketChat/Rocket.Chat/pull/8802)) + - Fix typo ([#8705](https://github.com/RocketChat/Rocket.Chat/pull/8705) by [@rmetzler](https://github.com/rmetzler)) + - [Fix] Store Outgoing Integration Result as String in Mongo ([#8413](https://github.com/RocketChat/Rocket.Chat/pull/8413) by [@cpitman](https://github.com/cpitman)) + - Update DEMO to OPEN links ([#8793](https://github.com/RocketChat/Rocket.Chat/pull/8793)) + - Fix Travis CI build ([#8750](https://github.com/RocketChat/Rocket.Chat/pull/8750)) + - Updated comments. ([#8719](https://github.com/RocketChat/Rocket.Chat/pull/8719) by [@jasonjyu](https://github.com/jasonjyu)) + - Fix community links in readme ([#8589](https://github.com/RocketChat/Rocket.Chat/pull/8589)) + - [MOVE] Move favico to client folder ([#8077](https://github.com/RocketChat/Rocket.Chat/pull/8077) by [@vcapretz](https://github.com/vcapretz)) + - [MOVE] Move files from emojione to client/server folders ([#8078](https://github.com/RocketChat/Rocket.Chat/pull/8078) by [@vcapretz](https://github.com/vcapretz)) + - [MOVE] Move files from slashcommands-unarchive to client/server folders ([#8084](https://github.com/RocketChat/Rocket.Chat/pull/8084) by [@vcapretz](https://github.com/vcapretz)) + - [MOVE] Move slashcommands-open to client folder ([#8132](https://github.com/RocketChat/Rocket.Chat/pull/8132) by [@vcapretz](https://github.com/vcapretz)) + - [MOVE] Move kick command to client/server folders ([#8135](https://github.com/RocketChat/Rocket.Chat/pull/8135) by [@vcapretz](https://github.com/vcapretz)) + - [MOVE] Move join command to client/server folder ([#8136](https://github.com/RocketChat/Rocket.Chat/pull/8136) by [@vcapretz](https://github.com/vcapretz)) + - [MOVE] Move inviteall command to client/server folder ([#8137](https://github.com/RocketChat/Rocket.Chat/pull/8137) by [@vcapretz](https://github.com/vcapretz)) + - [MOVE] Move invite command to client/server folder ([#8138](https://github.com/RocketChat/Rocket.Chat/pull/8138) by [@vcapretz](https://github.com/vcapretz)) + - [MOVE] Move create command to client/server folder ([#8139](https://github.com/RocketChat/Rocket.Chat/pull/8139) by [@vcapretz](https://github.com/vcapretz)) + - [MOVE] Move archiveroom command to client/server folders ([#8140](https://github.com/RocketChat/Rocket.Chat/pull/8140) by [@vcapretz](https://github.com/vcapretz)) + - [MOVE] Move slackbridge to client/server folders ([#8141](https://github.com/RocketChat/Rocket.Chat/pull/8141) by [@vcapretz](https://github.com/vcapretz)) + - [MOVE] Move logger files to client/server folders ([#8150](https://github.com/RocketChat/Rocket.Chat/pull/8150) by [@vcapretz](https://github.com/vcapretz)) + - [MOVE] Move timesync files to client/server folders ([#8152](https://github.com/RocketChat/Rocket.Chat/pull/8152) by [@vcapretz](https://github.com/vcapretz)) + - Adding: How to Install in WeDeploy ([#8036](https://github.com/RocketChat/Rocket.Chat/pull/8036) by [@thompsonemerson](https://github.com/thompsonemerson)) + - Revert "npm deps update" ([#7983](https://github.com/RocketChat/Rocket.Chat/pull/7983)) + - npm deps update ([#7969](https://github.com/RocketChat/Rocket.Chat/pull/7969)) + - Added RocketChatLauncher (SaaS) ([#6606](https://github.com/RocketChat/Rocket.Chat/pull/6606) by [@designgurudotorg](https://github.com/designgurudotorg)) + - Develop sync ([#7866](https://github.com/RocketChat/Rocket.Chat/pull/7866)) + - Fix: users listed as online after API login ([#9111](https://github.com/RocketChat/Rocket.Chat/pull/9111)) + - Fix regression in api channels.members ([#9110](https://github.com/RocketChat/Rocket.Chat/pull/9110)) + - Fix: Clear all unreads modal not closing after confirming ([#9137](https://github.com/RocketChat/Rocket.Chat/pull/9137)) + - Fix: Message action quick buttons drops if "new message" divider is being shown ([#9138](https://github.com/RocketChat/Rocket.Chat/pull/9138)) + - Fix: Confirmation modals showing `Send` button ([#9136](https://github.com/RocketChat/Rocket.Chat/pull/9136)) + - Fix: Multiple unread indicators ([#9120](https://github.com/RocketChat/Rocket.Chat/pull/9120)) + - Fix: Messages being displayed in reverse order ([#9144](https://github.com/RocketChat/Rocket.Chat/pull/9144)) + - Fix: UI: Descenders of glyphs are cut off ([#9166](https://github.com/RocketChat/Rocket.Chat/pull/9166)) + - Fix: Click on channel name - hover area bigger than link area ([#9165](https://github.com/RocketChat/Rocket.Chat/pull/9165)) + - Fix: Canโ€™t login using LDAP via REST ([#9162](https://github.com/RocketChat/Rocket.Chat/pull/9162)) + - Fix: Unread line ([#9149](https://github.com/RocketChat/Rocket.Chat/pull/9149)) + - Fix test without oplog by waiting a successful login on changing users ([#9146](https://github.com/RocketChat/Rocket.Chat/pull/9146)) + - Replace postcss-nesting with postcss-nested ([#9200](https://github.com/RocketChat/Rocket.Chat/pull/9200)) + - Dependencies Update ([#9197](https://github.com/RocketChat/Rocket.Chat/pull/9197)) + - Fix: Rooms and users are using different avatar style ([#9196](https://github.com/RocketChat/Rocket.Chat/pull/9196)) + - Typo: German language file ([#9190](https://github.com/RocketChat/Rocket.Chat/pull/9190) by [@TheReal1604](https://github.com/TheReal1604)) + - Fix: Snippet name to not showing in snippet list ([#9184](https://github.com/RocketChat/Rocket.Chat/pull/9184) by [@karlprieb](https://github.com/karlprieb)) + - Fix/api me only return verified ([#9183](https://github.com/RocketChat/Rocket.Chat/pull/9183)) + - Fix: UI: Descenders of glyphs are cut off ([#9181](https://github.com/RocketChat/Rocket.Chat/pull/9181)) + - Fix: Unneeded warning in payload of REST API calls ([#9240](https://github.com/RocketChat/Rocket.Chat/pull/9240)) + - Fix: Missing option to set user's avatar from a url ([#9229](https://github.com/RocketChat/Rocket.Chat/pull/9229)) + - Fix: updating last message on message edit or delete ([#9227](https://github.com/RocketChat/Rocket.Chat/pull/9227)) + - Fix: Username find is matching partially ([#9217](https://github.com/RocketChat/Rocket.Chat/pull/9217)) + - Fix: Upload access control too distributed ([#9215](https://github.com/RocketChat/Rocket.Chat/pull/9215)) + - Do not change room icon color when room is unread ([#9257](https://github.com/RocketChat/Rocket.Chat/pull/9257)) + - LingoHub based on develop ([#9256](https://github.com/RocketChat/Rocket.Chat/pull/9256)) + - Add curl, its missing on worker nodes so has to be explicitly added ([#9248](https://github.com/RocketChat/Rocket.Chat/pull/9248)) + - Fix: Sidebar item on rtl and small devices ([#9247](https://github.com/RocketChat/Rocket.Chat/pull/9247) by [@karlprieb](https://github.com/karlprieb))
@@ -5648,6 +8245,7 @@
๐Ÿ” Minor changes + - Fix tag build ([#8973](https://github.com/RocketChat/Rocket.Chat/pull/8973))
@@ -5666,6 +8264,7 @@
๐Ÿ” Minor changes + - Fix CircleCI deploy filter ([#8972](https://github.com/RocketChat/Rocket.Chat/pull/8972))
@@ -5683,12 +8282,15 @@ ### ๐Ÿ› Bug fixes + - Channel settings buttons ([#8753](https://github.com/RocketChat/Rocket.Chat/pull/8753) by [@karlprieb](https://github.com/karlprieb))
๐Ÿ” Minor changes + - Release/0.59.4 ([#8967](https://github.com/RocketChat/Rocket.Chat/pull/8967) by [@cpitman](https://github.com/cpitman) & [@karlprieb](https://github.com/karlprieb)) + - Add CircleCI ([#8685](https://github.com/RocketChat/Rocket.Chat/pull/8685))
@@ -5713,18 +8315,27 @@ ### ๐Ÿ› Bug fixes + - AmazonS3: Quote file.name for ContentDisposition for files with commas ([#8593](https://github.com/RocketChat/Rocket.Chat/pull/8593) by [@xenithorb](https://github.com/xenithorb)) + - Fix e-mail message forward ([#8645](https://github.com/RocketChat/Rocket.Chat/pull/8645)) + - Audio message icon ([#8648](https://github.com/RocketChat/Rocket.Chat/pull/8648) by [@karlprieb](https://github.com/karlprieb)) + - Highlighted color height issue ([#8431](https://github.com/RocketChat/Rocket.Chat/pull/8431) by [@cyclops24](https://github.com/cyclops24)) + - Update pt-BR translation ([#8655](https://github.com/RocketChat/Rocket.Chat/pull/8655) by [@rodorgas](https://github.com/rodorgas)) + - Fix typos ([#8679](https://github.com/RocketChat/Rocket.Chat/pull/8679)) + - LDAP not respecting UTF8 characters & Sync Interval not working ([#8691](https://github.com/RocketChat/Rocket.Chat/pull/8691))
๐Ÿ” Minor changes + - removing a duplicate line ([#8434](https://github.com/RocketChat/Rocket.Chat/pull/8434) by [@vikaskedia](https://github.com/vikaskedia)) + - install grpc package manually to fix snap armhf build ([#8653](https://github.com/RocketChat/Rocket.Chat/pull/8653))
@@ -5752,11 +8363,17 @@ ### ๐Ÿ› Bug fixes + - Missing scroll at create channel page ([#8637](https://github.com/RocketChat/Rocket.Chat/pull/8637) by [@karlprieb](https://github.com/karlprieb)) + - Message popup menu on mobile/cordova ([#8634](https://github.com/RocketChat/Rocket.Chat/pull/8634) by [@karlprieb](https://github.com/karlprieb)) + - API channel/group.members not sorting ([#8635](https://github.com/RocketChat/Rocket.Chat/pull/8635)) + - LDAP not merging existent users && Wrong id link generation ([#8613](https://github.com/RocketChat/Rocket.Chat/pull/8613)) + - encode filename in url to prevent links breaking ([#8551](https://github.com/RocketChat/Rocket.Chat/pull/8551) by [@joesitton](https://github.com/joesitton)) + - Fix guest pool inquiry taking ([#8577](https://github.com/RocketChat/Rocket.Chat/pull/8577)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜ @@ -5778,9 +8395,13 @@ ### ๐Ÿ› Bug fixes + - Color reset when default value editor is different ([#8543](https://github.com/RocketChat/Rocket.Chat/pull/8543)) + - Wrong colors after migration 103 ([#8547](https://github.com/RocketChat/Rocket.Chat/pull/8547)) + - LDAP login error regression at 0.59.0 ([#8541](https://github.com/RocketChat/Rocket.Chat/pull/8541)) + - Migration 103 wrong converting primrary colors ([#8544](https://github.com/RocketChat/Rocket.Chat/pull/8544)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -5797,202 +8418,392 @@ ### ๐ŸŽ‰ New features + - Replace message cog for vertical menu ([#7864](https://github.com/RocketChat/Rocket.Chat/pull/7864) by [@karlprieb](https://github.com/karlprieb)) + - block users to mention unknow users ([#7830](https://github.com/RocketChat/Rocket.Chat/pull/7830)) + - Allow ldap mapping of customFields ([#7614](https://github.com/RocketChat/Rocket.Chat/pull/7614) by [@goiaba](https://github.com/goiaba)) + - Create a standard for our svg icons ([#7853](https://github.com/RocketChat/Rocket.Chat/pull/7853) by [@karlprieb](https://github.com/karlprieb)) + - Allows admin to list all groups with API ([#7565](https://github.com/RocketChat/Rocket.Chat/pull/7565) by [@mboudet](https://github.com/mboudet)) + - Add markdown parser "marked" ([#7852](https://github.com/RocketChat/Rocket.Chat/pull/7852) by [@nishimaki10](https://github.com/nishimaki10)) + - Audio Notification updated in sidebar ([#7817](https://github.com/RocketChat/Rocket.Chat/pull/7817) by [@aditya19496](https://github.com/aditya19496) & [@maarten-v](https://github.com/maarten-v)) + - Search users by fields defined by admin ([#7612](https://github.com/RocketChat/Rocket.Chat/pull/7612) by [@goiaba](https://github.com/goiaba)) + - Template to show Custom Fields in user info view ([#7688](https://github.com/RocketChat/Rocket.Chat/pull/7688) by [@goiaba](https://github.com/goiaba)) + - Add room type as a class to the ul-group of rooms ([#7711](https://github.com/RocketChat/Rocket.Chat/pull/7711) by [@danischreiber](https://github.com/danischreiber)) + - Add classes to notification menu so they can be hidden in css ([#7636](https://github.com/RocketChat/Rocket.Chat/pull/7636) by [@danischreiber](https://github.com/danischreiber)) + - Adds a Keyboard Shortcut option to the flextab ([#5902](https://github.com/RocketChat/Rocket.Chat/pull/5902) by [@cnash](https://github.com/cnash) & [@karlprieb](https://github.com/karlprieb)) + - Integrated personal email gateway (GSoC'17) ([#7342](https://github.com/RocketChat/Rocket.Chat/pull/7342) by [@pkgodara](https://github.com/pkgodara)) + - Add tags to uploaded images using Google Cloud Vision API ([#6301](https://github.com/RocketChat/Rocket.Chat/pull/6301) by [@karlprieb](https://github.com/karlprieb)) + - Package to render issue numbers into links to an issue tracker. ([#6700](https://github.com/RocketChat/Rocket.Chat/pull/6700) by [@TAdeJong](https://github.com/TAdeJong) & [@TobiasKappe](https://github.com/TobiasKappe)) + - Automatically select the first channel ([#7350](https://github.com/RocketChat/Rocket.Chat/pull/7350) by [@antaryami-sahoo](https://github.com/antaryami-sahoo)) + - Rocket.Chat UI Redesign ([#7643](https://github.com/RocketChat/Rocket.Chat/pull/7643)) + - Upgrade to meteor 1.5.2 ([#8073](https://github.com/RocketChat/Rocket.Chat/pull/8073)) + - Enable read only channel creation ([#8260](https://github.com/RocketChat/Rocket.Chat/pull/8260) by [@karlprieb](https://github.com/karlprieb)) + - Add RD Station integration to livechat ([#8304](https://github.com/RocketChat/Rocket.Chat/pull/8304)) + - Unify unread and mentions badge ([#8361](https://github.com/RocketChat/Rocket.Chat/pull/8361) by [@karlprieb](https://github.com/karlprieb)) + - make sidebar item width 100% ([#8362](https://github.com/RocketChat/Rocket.Chat/pull/8362) by [@karlprieb](https://github.com/karlprieb)) + - Smaller accountBox ([#8360](https://github.com/RocketChat/Rocket.Chat/pull/8360) by [@karlprieb](https://github.com/karlprieb)) + - Setting to disable MarkDown and enable AutoLinker ([#8459](https://github.com/RocketChat/Rocket.Chat/pull/8459)) ### ๐Ÿ› Bug fixes + - File upload on multi-instances using a path prefix ([#7855](https://github.com/RocketChat/Rocket.Chat/pull/7855) by [@Darkneon](https://github.com/Darkneon)) + - Fix migration 100 ([#7863](https://github.com/RocketChat/Rocket.Chat/pull/7863)) + - Email message forward error ([#7846](https://github.com/RocketChat/Rocket.Chat/pull/7846)) + - Add CSS support for Safari versions > 7 ([#7854](https://github.com/RocketChat/Rocket.Chat/pull/7854)) + - Fix black background on transparent avatars ([#7168](https://github.com/RocketChat/Rocket.Chat/pull/7168)) + - Google vision NSFW tag ([#7825](https://github.com/RocketChat/Rocket.Chat/pull/7825)) + - meteor-accounts-saml issue with ns0,ns1 namespaces, makes it compatible with pysaml2 lib ([#7721](https://github.com/RocketChat/Rocket.Chat/pull/7721) by [@arminfelder](https://github.com/arminfelder)) + - Fix new-message button showing on search ([#7823](https://github.com/RocketChat/Rocket.Chat/pull/7823)) + - Settings not getting applied from Meteor.settings and process.env ([#7779](https://github.com/RocketChat/Rocket.Chat/pull/7779) by [@Darkneon](https://github.com/Darkneon)) + - scroll on flex-tab ([#7748](https://github.com/RocketChat/Rocket.Chat/pull/7748)) + - Dutch translations ([#7815](https://github.com/RocketChat/Rocket.Chat/pull/7815) by [@maarten-v](https://github.com/maarten-v)) + - Fix Dutch translation ([#7814](https://github.com/RocketChat/Rocket.Chat/pull/7814) by [@maarten-v](https://github.com/maarten-v)) + - Update Snap links ([#7778](https://github.com/RocketChat/Rocket.Chat/pull/7778) by [@MichaelGooden](https://github.com/MichaelGooden)) + - Remove redundant "do" in "Are you sure ...?" messages. ([#7809](https://github.com/RocketChat/Rocket.Chat/pull/7809) by [@xurizaemon](https://github.com/xurizaemon)) + - Fixed function closure syntax allowing validation emails to be sent. ([#7758](https://github.com/RocketChat/Rocket.Chat/pull/7758) by [@snoozan](https://github.com/snoozan)) + - Fix avatar upload fail on Cordova app ([#7656](https://github.com/RocketChat/Rocket.Chat/pull/7656) by [@ccfang](https://github.com/ccfang)) + - Make link inside YouTube preview open in new tab ([#7679](https://github.com/RocketChat/Rocket.Chat/pull/7679) by [@1lann](https://github.com/1lann)) + - Remove references to non-existent tests ([#7672](https://github.com/RocketChat/Rocket.Chat/pull/7672) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - Example usage of unsubscribe.js ([#7673](https://github.com/RocketChat/Rocket.Chat/pull/7673) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - sidebar paddings ([#7880](https://github.com/RocketChat/Rocket.Chat/pull/7880) by [@karlprieb](https://github.com/karlprieb)) + - Adds default search text padding for emoji search ([#7878](https://github.com/RocketChat/Rocket.Chat/pull/7878) by [@gdelavald](https://github.com/gdelavald)) + - search results position on sidebar ([#7881](https://github.com/RocketChat/Rocket.Chat/pull/7881) by [@karlprieb](https://github.com/karlprieb)) + - hyperlink style on sidebar footer ([#7882](https://github.com/RocketChat/Rocket.Chat/pull/7882) by [@karlprieb](https://github.com/karlprieb)) + - popover position on mobile ([#7883](https://github.com/RocketChat/Rocket.Chat/pull/7883) by [@karlprieb](https://github.com/karlprieb)) + - message actions over unread bar ([#7885](https://github.com/RocketChat/Rocket.Chat/pull/7885) by [@karlprieb](https://github.com/karlprieb)) + - livechat icon ([#7886](https://github.com/RocketChat/Rocket.Chat/pull/7886) by [@karlprieb](https://github.com/karlprieb)) + - Makes text action menu width based on content size ([#7887](https://github.com/RocketChat/Rocket.Chat/pull/7887) by [@gdelavald](https://github.com/gdelavald)) + - sidebar buttons and badge paddings ([#7888](https://github.com/RocketChat/Rocket.Chat/pull/7888) by [@karlprieb](https://github.com/karlprieb)) + - Fix google play logo on repo README ([#7912](https://github.com/RocketChat/Rocket.Chat/pull/7912) by [@luizbills](https://github.com/luizbills)) + - Fix livechat toggle UI issue ([#7904](https://github.com/RocketChat/Rocket.Chat/pull/7904)) + - Remove break change in Realtime API ([#7895](https://github.com/RocketChat/Rocket.Chat/pull/7895)) + - Window exception when parsing Markdown on server ([#7893](https://github.com/RocketChat/Rocket.Chat/pull/7893)) + - Text area buttons and layout on mobile ([#7985](https://github.com/RocketChat/Rocket.Chat/pull/7985)) + - Double scroll on 'keyboard shortcuts' menu in sidepanel ([#7927](https://github.com/RocketChat/Rocket.Chat/pull/7927) by [@aditya19496](https://github.com/aditya19496)) + - Broken embedded view layout ([#7944](https://github.com/RocketChat/Rocket.Chat/pull/7944) by [@karlprieb](https://github.com/karlprieb)) + - Textarea on firefox ([#7986](https://github.com/RocketChat/Rocket.Chat/pull/7986)) + - Chat box no longer auto-focuses when typing ([#7984](https://github.com/RocketChat/Rocket.Chat/pull/7984)) + - Add padding on messages to allow space to the action buttons ([#7971](https://github.com/RocketChat/Rocket.Chat/pull/7971)) + - Small alignment fixes ([#7970](https://github.com/RocketChat/Rocket.Chat/pull/7970)) + - Markdown being rendered in code tags ([#7965](https://github.com/RocketChat/Rocket.Chat/pull/7965)) + - Fix the status on the members list ([#7963](https://github.com/RocketChat/Rocket.Chat/pull/7963)) + - status and active room colors on sidebar ([#7960](https://github.com/RocketChat/Rocket.Chat/pull/7960) by [@karlprieb](https://github.com/karlprieb)) + - OTR buttons padding ([#7954](https://github.com/RocketChat/Rocket.Chat/pull/7954) by [@karlprieb](https://github.com/karlprieb)) + - username ellipsis on firefox ([#7953](https://github.com/RocketChat/Rocket.Chat/pull/7953) by [@karlprieb](https://github.com/karlprieb)) + - Document README.md. Drupal repo out of date ([#7948](https://github.com/RocketChat/Rocket.Chat/pull/7948) by [@Lawri-van-Buel](https://github.com/Lawri-van-Buel)) + - Fix placeholders in account profile ([#7945](https://github.com/RocketChat/Rocket.Chat/pull/7945) by [@josiasds](https://github.com/josiasds)) + - Broken emoji picker on firefox ([#7943](https://github.com/RocketChat/Rocket.Chat/pull/7943) by [@karlprieb](https://github.com/karlprieb)) + - Create channel button on Firefox ([#7942](https://github.com/RocketChat/Rocket.Chat/pull/7942) by [@karlprieb](https://github.com/karlprieb)) + - Show leader on first load ([#7712](https://github.com/RocketChat/Rocket.Chat/pull/7712) by [@danischreiber](https://github.com/danischreiber)) + - Vertical menu on flex-tab ([#7988](https://github.com/RocketChat/Rocket.Chat/pull/7988) by [@karlprieb](https://github.com/karlprieb)) + - Invisible leader bar on hover ([#8048](https://github.com/RocketChat/Rocket.Chat/pull/8048)) + - Prevent autotranslate tokens race condition ([#8046](https://github.com/RocketChat/Rocket.Chat/pull/8046)) + - copy to clipboard and update clipboard.js library ([#8039](https://github.com/RocketChat/Rocket.Chat/pull/8039) by [@karlprieb](https://github.com/karlprieb)) + - message-box autogrow ([#8019](https://github.com/RocketChat/Rocket.Chat/pull/8019) by [@karlprieb](https://github.com/karlprieb)) + - search results height ([#8018](https://github.com/RocketChat/Rocket.Chat/pull/8018) by [@gdelavald](https://github.com/gdelavald) & [@karlprieb](https://github.com/karlprieb)) + - room icon on header ([#8017](https://github.com/RocketChat/Rocket.Chat/pull/8017) by [@karlprieb](https://github.com/karlprieb)) + - Hide scrollbar on login page if not necessary ([#8014](https://github.com/RocketChat/Rocket.Chat/pull/8014) by [@alexbrazier](https://github.com/alexbrazier)) + - Error when translating message ([#8001](https://github.com/RocketChat/Rocket.Chat/pull/8001)) + - Recent emojis not updated when adding via text ([#7998](https://github.com/RocketChat/Rocket.Chat/pull/7998)) + - [PL] Polish translation ([#7989](https://github.com/RocketChat/Rocket.Chat/pull/7989) by [@Rzeszow](https://github.com/Rzeszow)) + - Fix email on mention ([#7754](https://github.com/RocketChat/Rocket.Chat/pull/7754)) + - RTL ([#8112](https://github.com/RocketChat/Rocket.Chat/pull/8112)) + - Dynamic popover ([#8101](https://github.com/RocketChat/Rocket.Chat/pull/8101) by [@karlprieb](https://github.com/karlprieb)) + - Settings description not showing ([#8122](https://github.com/RocketChat/Rocket.Chat/pull/8122)) + - Fix setting user avatar on LDAP login ([#8099](https://github.com/RocketChat/Rocket.Chat/pull/8099)) + - Not sending email to mentioned users with unchanged preference ([#8059](https://github.com/RocketChat/Rocket.Chat/pull/8059)) + - Scroll on messagebox ([#8047](https://github.com/RocketChat/Rocket.Chat/pull/8047)) + - Allow unknown file types if no allowed whitelist has been set (#7074) ([#8172](https://github.com/RocketChat/Rocket.Chat/pull/8172) by [@TriPhoenix](https://github.com/TriPhoenix)) + - Issue #8166 where empty analytics setting breaks to load Piwik script ([#8167](https://github.com/RocketChat/Rocket.Chat/pull/8167) by [@ruKurz](https://github.com/ruKurz)) + - Sidebar and RTL alignments ([#8154](https://github.com/RocketChat/Rocket.Chat/pull/8154) by [@karlprieb](https://github.com/karlprieb)) + - "*.members" rest api being useless and only returning usernames ([#8147](https://github.com/RocketChat/Rocket.Chat/pull/8147)) + - Fix iframe login API response (issue #8145) ([#8146](https://github.com/RocketChat/Rocket.Chat/pull/8146) by [@astax-t](https://github.com/astax-t)) + - Text area lost text when page reloads ([#8159](https://github.com/RocketChat/Rocket.Chat/pull/8159)) + - Fix new room sound being played too much ([#8144](https://github.com/RocketChat/Rocket.Chat/pull/8144)) + - Add admin audio preferences translations ([#8094](https://github.com/RocketChat/Rocket.Chat/pull/8094)) + - Leave and hide buttons was removed ([#8213](https://github.com/RocketChat/Rocket.Chat/pull/8213) by [@karlprieb](https://github.com/karlprieb)) + - Incorrect URL for login terms when using prefix ([#8211](https://github.com/RocketChat/Rocket.Chat/pull/8211) by [@Darkneon](https://github.com/Darkneon)) + - User avatar in DM list. ([#8210](https://github.com/RocketChat/Rocket.Chat/pull/8210)) + - Scrollbar not using new style ([#8190](https://github.com/RocketChat/Rocket.Chat/pull/8190)) + - sidenav colors, hide and leave, create channel on safari ([#8257](https://github.com/RocketChat/Rocket.Chat/pull/8257) by [@karlprieb](https://github.com/karlprieb)) + - make sidebar item animation fast ([#8262](https://github.com/RocketChat/Rocket.Chat/pull/8262) by [@karlprieb](https://github.com/karlprieb)) + - RTL on reply ([#8261](https://github.com/RocketChat/Rocket.Chat/pull/8261) by [@karlprieb](https://github.com/karlprieb)) + - clipboard and permalink on new popover ([#8259](https://github.com/RocketChat/Rocket.Chat/pull/8259) by [@karlprieb](https://github.com/karlprieb)) + - sidenav mentions on hover ([#8252](https://github.com/RocketChat/Rocket.Chat/pull/8252) by [@karlprieb](https://github.com/karlprieb)) + - Api groups.files is always returning empty ([#8241](https://github.com/RocketChat/Rocket.Chat/pull/8241)) + - Case insensitive SAML email check ([#8216](https://github.com/RocketChat/Rocket.Chat/pull/8216) by [@arminfelder](https://github.com/arminfelder)) + - Execute meteor reset on TRAVIS_TAG builds ([#8310](https://github.com/RocketChat/Rocket.Chat/pull/8310)) + - Call buttons with wrong margin on RTL ([#8307](https://github.com/RocketChat/Rocket.Chat/pull/8307) by [@karlprieb](https://github.com/karlprieb)) + - Emoji Picker hidden for reactions in RTL ([#8300](https://github.com/RocketChat/Rocket.Chat/pull/8300) by [@karlprieb](https://github.com/karlprieb)) + - Amin menu not showing all items & File list breaking line ([#8299](https://github.com/RocketChat/Rocket.Chat/pull/8299) by [@karlprieb](https://github.com/karlprieb)) + - TypeError: Cannot read property 't' of undefined ([#8298](https://github.com/RocketChat/Rocket.Chat/pull/8298)) + - Wrong file name when upload to AWS S3 ([#8296](https://github.com/RocketChat/Rocket.Chat/pull/8296)) + - Check attachments is defined before accessing first element ([#8295](https://github.com/RocketChat/Rocket.Chat/pull/8295) by [@Darkneon](https://github.com/Darkneon)) + - Missing placeholder translations ([#8286](https://github.com/RocketChat/Rocket.Chat/pull/8286)) + - fix color on unread messages ([#8282](https://github.com/RocketChat/Rocket.Chat/pull/8282)) + - "Cancel button" on modal in RTL in Firefox 55 ([#8278](https://github.com/RocketChat/Rocket.Chat/pull/8278) by [@cyclops24](https://github.com/cyclops24)) + - Attachment icons alignment in LTR and RTL ([#8271](https://github.com/RocketChat/Rocket.Chat/pull/8271) by [@cyclops24](https://github.com/cyclops24)) + - [i18n] My Profile & README.md links ([#8270](https://github.com/RocketChat/Rocket.Chat/pull/8270) by [@Rzeszow](https://github.com/Rzeszow)) + - some placeholder and phrase traslation fix ([#8269](https://github.com/RocketChat/Rocket.Chat/pull/8269) by [@cyclops24](https://github.com/cyclops24)) + - "Channel Setting" buttons alignment in RTL ([#8266](https://github.com/RocketChat/Rocket.Chat/pull/8266) by [@cyclops24](https://github.com/cyclops24)) + - Removing pipe and commas from custom emojis (#8168) ([#8237](https://github.com/RocketChat/Rocket.Chat/pull/8237) by [@matheusml](https://github.com/matheusml)) + - After deleting the room, cache is not synchronizing ([#8314](https://github.com/RocketChat/Rocket.Chat/pull/8314) by [@szluohua](https://github.com/szluohua)) + - Remove sidebar header on admin embedded version ([#8334](https://github.com/RocketChat/Rocket.Chat/pull/8334) by [@karlprieb](https://github.com/karlprieb)) + - Email Subjects not being sent ([#8317](https://github.com/RocketChat/Rocket.Chat/pull/8317)) + - Put delete action on another popover group ([#8315](https://github.com/RocketChat/Rocket.Chat/pull/8315) by [@karlprieb](https://github.com/karlprieb)) + - Mention unread indicator was removed ([#8316](https://github.com/RocketChat/Rocket.Chat/pull/8316)) + - Various LDAP issues & Missing pagination ([#8372](https://github.com/RocketChat/Rocket.Chat/pull/8372)) + - remove accountBox from admin menu ([#8358](https://github.com/RocketChat/Rocket.Chat/pull/8358) by [@karlprieb](https://github.com/karlprieb)) + - Missing i18n translations ([#8357](https://github.com/RocketChat/Rocket.Chat/pull/8357)) + - Sidebar item menu position in RTL ([#8397](https://github.com/RocketChat/Rocket.Chat/pull/8397) by [@cyclops24](https://github.com/cyclops24)) + - disabled katex tooltip on messageBox ([#8386](https://github.com/RocketChat/Rocket.Chat/pull/8386)) + - LDAP memory issues when pagination is not available ([#8457](https://github.com/RocketChat/Rocket.Chat/pull/8457)) + - Uncessary route reload break some routes ([#8514](https://github.com/RocketChat/Rocket.Chat/pull/8514)) + - Invalid Code message for password protected channel ([#8491](https://github.com/RocketChat/Rocket.Chat/pull/8491)) + - Wrong message when reseting password and 2FA is enabled ([#8489](https://github.com/RocketChat/Rocket.Chat/pull/8489)) + - Do not send joinCode field to clients ([#8527](https://github.com/RocketChat/Rocket.Chat/pull/8527))
๐Ÿ” Minor changes + - Merge 0.58.4 to master ([#8420](https://github.com/RocketChat/Rocket.Chat/pull/8420)) + - 0.58.3 ([#8335](https://github.com/RocketChat/Rocket.Chat/pull/8335)) + - Mobile sidenav ([#7865](https://github.com/RocketChat/Rocket.Chat/pull/7865)) + - npm deps update ([#7842](https://github.com/RocketChat/Rocket.Chat/pull/7842)) + - LingoHub based on develop ([#7803](https://github.com/RocketChat/Rocket.Chat/pull/7803)) + - Additions to the REST API ([#7793](https://github.com/RocketChat/Rocket.Chat/pull/7793)) + - npm deps update ([#7755](https://github.com/RocketChat/Rocket.Chat/pull/7755)) + - FIX: Error when starting local development environment ([#7728](https://github.com/RocketChat/Rocket.Chat/pull/7728) by [@rdebeasi](https://github.com/rdebeasi)) + - Remove CircleCI ([#7739](https://github.com/RocketChat/Rocket.Chat/pull/7739)) + - Meteor packages and npm dependencies update ([#7677](https://github.com/RocketChat/Rocket.Chat/pull/7677)) + - [MOVE] Client folder rocketchat-colors ([#7664](https://github.com/RocketChat/Rocket.Chat/pull/7664) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - [MOVE] Client folder rocketchat-custom-oauth ([#7665](https://github.com/RocketChat/Rocket.Chat/pull/7665) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - [MOVE] Client folder rocketchat-tooltip ([#7666](https://github.com/RocketChat/Rocket.Chat/pull/7666) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - [MOVE] Client folder rocketchat-autolinker ([#7667](https://github.com/RocketChat/Rocket.Chat/pull/7667) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - [MOVE] Client folder rocketchat-cas ([#7668](https://github.com/RocketChat/Rocket.Chat/pull/7668) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - [MOVE] Client folder rocketchat-highlight-words ([#7669](https://github.com/RocketChat/Rocket.Chat/pull/7669) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - [MOVE] Client folder rocketchat-custom-sounds ([#7670](https://github.com/RocketChat/Rocket.Chat/pull/7670) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - [MOVE] Client folder rocketchat-emoji ([#7671](https://github.com/RocketChat/Rocket.Chat/pull/7671) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - Fix typo in generated URI ([#7661](https://github.com/RocketChat/Rocket.Chat/pull/7661) by [@Rohlik](https://github.com/Rohlik)) + - Bump version to 0.59.0-develop ([#7625](https://github.com/RocketChat/Rocket.Chat/pull/7625)) + - implemented new page-loader animated icon ([#2](https://github.com/RocketChat/Rocket.Chat/pull/2)) + - Hide flex-tab close button ([#7894](https://github.com/RocketChat/Rocket.Chat/pull/7894) by [@karlprieb](https://github.com/karlprieb)) + - Update BlackDuck URL ([#7941](https://github.com/RocketChat/Rocket.Chat/pull/7941)) + - [DOCS] Add native mobile app links into README and update button images ([#7909](https://github.com/RocketChat/Rocket.Chat/pull/7909) by [@rafaelks](https://github.com/rafaelks)) + - Remove unnecessary returns in cors common ([#8054](https://github.com/RocketChat/Rocket.Chat/pull/8054) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - npm deps update ([#8197](https://github.com/RocketChat/Rocket.Chat/pull/8197)) + - Fix more rtl issues ([#8194](https://github.com/RocketChat/Rocket.Chat/pull/8194) by [@karlprieb](https://github.com/karlprieb)) + - readme-file: fix broken link ([#8253](https://github.com/RocketChat/Rocket.Chat/pull/8253) by [@vcapretz](https://github.com/vcapretz)) + - Disable perfect scrollbar ([#8244](https://github.com/RocketChat/Rocket.Chat/pull/8244)) + - Fix `leave and hide` click, color and position ([#8243](https://github.com/RocketChat/Rocket.Chat/pull/8243) by [@karlprieb](https://github.com/karlprieb)) + - Deps update ([#8273](https://github.com/RocketChat/Rocket.Chat/pull/8273)) + - Update meteor to 1.5.2.2-rc.0 ([#8355](https://github.com/RocketChat/Rocket.Chat/pull/8355)) + - [FIX-RC] Mobile file upload not working ([#8331](https://github.com/RocketChat/Rocket.Chat/pull/8331) by [@karlprieb](https://github.com/karlprieb)) + - LingoHub based on develop ([#8375](https://github.com/RocketChat/Rocket.Chat/pull/8375)) + - Update Meteor to 1.5.2.2 ([#8364](https://github.com/RocketChat/Rocket.Chat/pull/8364)) + - Sync translations from LingoHub ([#8363](https://github.com/RocketChat/Rocket.Chat/pull/8363)) + - Remove field `lastActivity` from subscription data ([#8345](https://github.com/RocketChat/Rocket.Chat/pull/8345)) + - Fix: Account menu position on RTL ([#8416](https://github.com/RocketChat/Rocket.Chat/pull/8416) by [@karlprieb](https://github.com/karlprieb)) + - Fix: Missing LDAP option to show internal logs ([#8417](https://github.com/RocketChat/Rocket.Chat/pull/8417)) + - Fix: Missing LDAP reconnect setting ([#8414](https://github.com/RocketChat/Rocket.Chat/pull/8414)) + - Add i18n Title to snippet messages ([#8394](https://github.com/RocketChat/Rocket.Chat/pull/8394)) + - Fix: Missing settings to configure LDAP size and page limits ([#8398](https://github.com/RocketChat/Rocket.Chat/pull/8398)) + - Improve markdown parser code ([#8451](https://github.com/RocketChat/Rocket.Chat/pull/8451)) + - Change artifact path ([#8515](https://github.com/RocketChat/Rocket.Chat/pull/8515)) + - Color variables migration ([#8463](https://github.com/RocketChat/Rocket.Chat/pull/8463) by [@karlprieb](https://github.com/karlprieb)) + - Fix: Change password not working in new UI ([#8516](https://github.com/RocketChat/Rocket.Chat/pull/8516)) + - Enable AutoLinker back ([#8490](https://github.com/RocketChat/Rocket.Chat/pull/8490)) + - Fix artifact path ([#8518](https://github.com/RocketChat/Rocket.Chat/pull/8518)) + - Fix high CPU load when sending messages on large rooms (regression) ([#8520](https://github.com/RocketChat/Rocket.Chat/pull/8520)) + - Improve room sync speed ([#8529](https://github.com/RocketChat/Rocket.Chat/pull/8529))
@@ -6064,6 +8875,7 @@
๐Ÿ” Minor changes + - Release 0.58.2 ([#7841](https://github.com/RocketChat/Rocket.Chat/pull/7841) by [@snoozan](https://github.com/snoozan))
@@ -6085,11 +8897,13 @@ ### ๐Ÿ› Bug fixes + - Fix flex tab not opening and getting offscreen ([#7781](https://github.com/RocketChat/Rocket.Chat/pull/7781))
๐Ÿ” Minor changes + - Release 0.58.1 ([#7782](https://github.com/RocketChat/Rocket.Chat/pull/7782))
@@ -6108,93 +8922,171 @@ ### โš ๏ธ BREAKING CHANGES + - Remove Sandstorm login method ([#7556](https://github.com/RocketChat/Rocket.Chat/pull/7556)) ### ๐ŸŽ‰ New features + - Allow special chars on room names ([#7595](https://github.com/RocketChat/Rocket.Chat/pull/7595)) + - Add admin and user setting for notifications #4339 ([#7479](https://github.com/RocketChat/Rocket.Chat/pull/7479) by [@stalley](https://github.com/stalley)) + - Edit user permissions ([#7309](https://github.com/RocketChat/Rocket.Chat/pull/7309)) + - Adding support for piwik sub domain settings ([#7324](https://github.com/RocketChat/Rocket.Chat/pull/7324) by [@ruKurz](https://github.com/ruKurz)) + - Add setting to change User Agent of OEmbed calls ([#6753](https://github.com/RocketChat/Rocket.Chat/pull/6753) by [@AhmetS](https://github.com/AhmetS)) + - Configurable Volume for Notifications #6087 ([#7517](https://github.com/RocketChat/Rocket.Chat/pull/7517) by [@lindoelio](https://github.com/lindoelio)) + - Add customFields in rooms/get method ([#6564](https://github.com/RocketChat/Rocket.Chat/pull/6564) by [@borsden](https://github.com/borsden)) + - Option to select unread count style ([#7589](https://github.com/RocketChat/Rocket.Chat/pull/7589)) + - Show different shape for alert numbers when have mentions ([#7580](https://github.com/RocketChat/Rocket.Chat/pull/7580)) + - Add reaction to the last message when get the shortcut +: ([#7569](https://github.com/RocketChat/Rocket.Chat/pull/7569) by [@danilomiranda](https://github.com/danilomiranda)) + - Show emojis and file uploads on notifications ([#7559](https://github.com/RocketChat/Rocket.Chat/pull/7559)) + - Closes tab bar on mobile when leaving room ([#7561](https://github.com/RocketChat/Rocket.Chat/pull/7561) by [@gdelavald](https://github.com/gdelavald)) + - Adds preference to one-click-to-direct-message and basic functionality ([#7564](https://github.com/RocketChat/Rocket.Chat/pull/7564) by [@gdelavald](https://github.com/gdelavald)) + - Search users also by email in toolbar ([#7334](https://github.com/RocketChat/Rocket.Chat/pull/7334) by [@shahar3012](https://github.com/shahar3012)) + - Do not rate limit bots on createDirectMessage ([#7326](https://github.com/RocketChat/Rocket.Chat/pull/7326) by [@jangmarker](https://github.com/jangmarker)) + - Allow channel property in the integrations returned content ([#7214](https://github.com/RocketChat/Rocket.Chat/pull/7214)) + - Add room type identifier to room list header ([#7520](https://github.com/RocketChat/Rocket.Chat/pull/7520) by [@danischreiber](https://github.com/danischreiber)) + - Room type and recipient data for global event ([#7523](https://github.com/RocketChat/Rocket.Chat/pull/7523) by [@danischreiber](https://github.com/danischreiber)) + - Show room leader at top of chat when user scrolls down. Set and unset leader as admin. ([#7526](https://github.com/RocketChat/Rocket.Chat/pull/7526) by [@danischreiber](https://github.com/danischreiber)) + - Add toolbar buttons for iframe API ([#7525](https://github.com/RocketChat/Rocket.Chat/pull/7525)) + - Add close button to flex tabs ([#7529](https://github.com/RocketChat/Rocket.Chat/pull/7529)) + - Update meteor to 1.5.1 ([#7496](https://github.com/RocketChat/Rocket.Chat/pull/7496)) + - flex-tab now is side by side with message list ([#7448](https://github.com/RocketChat/Rocket.Chat/pull/7448) by [@karlprieb](https://github.com/karlprieb)) + - Option to select unread count behavior ([#7477](https://github.com/RocketChat/Rocket.Chat/pull/7477)) + - Add healthchecks in OpenShift templates ([#7184](https://github.com/RocketChat/Rocket.Chat/pull/7184) by [@jfchevrette](https://github.com/jfchevrette)) + - Add unread options for direct messages ([#7658](https://github.com/RocketChat/Rocket.Chat/pull/7658)) ### ๐Ÿ› Bug fixes + - Error when updating message with an empty attachment array ([#7624](https://github.com/RocketChat/Rocket.Chat/pull/7624)) + - Uploading an unknown file type erroring out ([#7623](https://github.com/RocketChat/Rocket.Chat/pull/7623)) + - Error when acessing settings before ready ([#7622](https://github.com/RocketChat/Rocket.Chat/pull/7622)) + - Message box on safari ([#7621](https://github.com/RocketChat/Rocket.Chat/pull/7621)) + - The username not being allowed to be passed into the user.setAvatar ([#7620](https://github.com/RocketChat/Rocket.Chat/pull/7620)) + - Fix Custom Fields Crashing on Register ([#7617](https://github.com/RocketChat/Rocket.Chat/pull/7617)) + - Fix admin room list show the correct i18n type ([#7582](https://github.com/RocketChat/Rocket.Chat/pull/7582) by [@ccfang](https://github.com/ccfang)) + - URL parse error fix for issue #7169 ([#7538](https://github.com/RocketChat/Rocket.Chat/pull/7538) by [@satyapramodh](https://github.com/satyapramodh)) + - User avatar image background ([#7572](https://github.com/RocketChat/Rocket.Chat/pull/7572) by [@filipedelimabrito](https://github.com/filipedelimabrito)) + - Look for livechat visitor IP address on X-Forwarded-For header ([#7554](https://github.com/RocketChat/Rocket.Chat/pull/7554)) + - Revert emojione package version upgrade ([#7557](https://github.com/RocketChat/Rocket.Chat/pull/7557)) + - Stop logging mentions object to console ([#7562](https://github.com/RocketChat/Rocket.Chat/pull/7562) by [@gdelavald](https://github.com/gdelavald)) + - Fix hiding flex-tab on embedded view ([#7486](https://github.com/RocketChat/Rocket.Chat/pull/7486)) + - Fix emoji picker translations ([#7195](https://github.com/RocketChat/Rocket.Chat/pull/7195)) + - Issue #7365: added check for the existence of a parameter in the CAS URL ([#7471](https://github.com/RocketChat/Rocket.Chat/pull/7471) by [@wsw70](https://github.com/wsw70)) + - Fix Word Placement Anywhere on WebHooks ([#7392](https://github.com/RocketChat/Rocket.Chat/pull/7392)) + - Prevent new room status from playing when user status changes ([#7487](https://github.com/RocketChat/Rocket.Chat/pull/7487)) + - url click events in the cordova app open in external browser or not at all ([#7205](https://github.com/RocketChat/Rocket.Chat/pull/7205) by [@flaviogrossi](https://github.com/flaviogrossi)) + - sweetalert alignment on mobile ([#7404](https://github.com/RocketChat/Rocket.Chat/pull/7404) by [@karlprieb](https://github.com/karlprieb)) + - Sweet-Alert modal popup position on mobile devices ([#7376](https://github.com/RocketChat/Rocket.Chat/pull/7376) by [@Oliver84](https://github.com/Oliver84)) + - Update node-engine in Snap to latest v4 LTS relase: 4.8.3 ([#7355](https://github.com/RocketChat/Rocket.Chat/pull/7355) by [@al3x](https://github.com/al3x)) + - Remove warning about 2FA support being unavailable in mobile apps ([#7354](https://github.com/RocketChat/Rocket.Chat/pull/7354) by [@al3x](https://github.com/al3x)) + - Fix geolocation button ([#7322](https://github.com/RocketChat/Rocket.Chat/pull/7322)) + - Fix Block Delete Message After (n) Minutes ([#7207](https://github.com/RocketChat/Rocket.Chat/pull/7207)) + - Use I18n on "File Uploaded" ([#7199](https://github.com/RocketChat/Rocket.Chat/pull/7199)) + - Fix error on image preview due to undefined description|title ([#7187](https://github.com/RocketChat/Rocket.Chat/pull/7187)) + - Fix messagebox growth ([#7629](https://github.com/RocketChat/Rocket.Chat/pull/7629)) + - Wrong render of snippetโ€™s name ([#7630](https://github.com/RocketChat/Rocket.Chat/pull/7630)) + - Fix room load on first hit ([#7687](https://github.com/RocketChat/Rocket.Chat/pull/7687)) + - Markdown noopener/noreferrer: use correct HTML attribute ([#7644](https://github.com/RocketChat/Rocket.Chat/pull/7644) by [@jangmarker](https://github.com/jangmarker)) + - Wrong email subject when "All Messages" setting enabled ([#7639](https://github.com/RocketChat/Rocket.Chat/pull/7639)) + - Csv importer: work with more problematic data ([#7456](https://github.com/RocketChat/Rocket.Chat/pull/7456) by [@reist](https://github.com/reist)) + - make flex-tab visible again when reduced width ([#7738](https://github.com/RocketChat/Rocket.Chat/pull/7738))
๐Ÿ” Minor changes + - Release 0.58.0 ([#7752](https://github.com/RocketChat/Rocket.Chat/pull/7752) by [@flaviogrossi](https://github.com/flaviogrossi) & [@jangmarker](https://github.com/jangmarker) & [@karlprieb](https://github.com/karlprieb) & [@pierreozoux](https://github.com/pierreozoux) & [@ryoshimizu](https://github.com/ryoshimizu)) + - Sync Master with 0.57.3 ([#7690](https://github.com/RocketChat/Rocket.Chat/pull/7690)) + - Add missing parts of `one click to direct message` ([#7608](https://github.com/RocketChat/Rocket.Chat/pull/7608)) + - LingoHub based on develop ([#7613](https://github.com/RocketChat/Rocket.Chat/pull/7613)) + - Improve link parser using tokens ([#7615](https://github.com/RocketChat/Rocket.Chat/pull/7615)) + - Improve login error messages ([#7616](https://github.com/RocketChat/Rocket.Chat/pull/7616)) + - LingoHub based on develop ([#7594](https://github.com/RocketChat/Rocket.Chat/pull/7594)) + - Improve room leader ([#7578](https://github.com/RocketChat/Rocket.Chat/pull/7578)) + - Develop sync ([#7590](https://github.com/RocketChat/Rocket.Chat/pull/7590)) + - [Fix] Don't save user to DB when a custom field is invalid ([#7513](https://github.com/RocketChat/Rocket.Chat/pull/7513) by [@Darkneon](https://github.com/Darkneon)) + - Develop sync ([#7500](https://github.com/RocketChat/Rocket.Chat/pull/7500) by [@thinkeridea](https://github.com/thinkeridea)) + - Better Issue Template ([#7492](https://github.com/RocketChat/Rocket.Chat/pull/7492)) + - Add helm chart kubernetes deployment ([#6340](https://github.com/RocketChat/Rocket.Chat/pull/6340) by [@pierreozoux](https://github.com/pierreozoux)) + - Develop sync ([#7363](https://github.com/RocketChat/Rocket.Chat/pull/7363) by [@JSzaszvari](https://github.com/JSzaszvari)) + - Escape error messages ([#7308](https://github.com/RocketChat/Rocket.Chat/pull/7308)) + - update meteor to 1.5.0 ([#7287](https://github.com/RocketChat/Rocket.Chat/pull/7287)) + - [New] Add instance id to response headers ([#7211](https://github.com/RocketChat/Rocket.Chat/pull/7211)) + - Only use "File Uploaded" prefix on files ([#7652](https://github.com/RocketChat/Rocket.Chat/pull/7652))
@@ -6246,8 +9138,11 @@ ### ๐Ÿ› Bug fixes + - Slack import failing and not being able to be restarted ([#8390](https://github.com/RocketChat/Rocket.Chat/pull/8390)) + - Duplicate code in rest api letting in a few bugs with the rest api ([#8408](https://github.com/RocketChat/Rocket.Chat/pull/8408)) + - Add needed dependency for snaps ([#8389](https://github.com/RocketChat/Rocket.Chat/pull/8389)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -6264,18 +9159,27 @@ ### ๐Ÿ› Bug fixes + - Modernize rate limiting of sendMessage ([#7325](https://github.com/RocketChat/Rocket.Chat/pull/7325) by [@jangmarker](https://github.com/jangmarker)) + - custom soundEdit.html ([#7390](https://github.com/RocketChat/Rocket.Chat/pull/7390) by [@rasos](https://github.com/rasos)) + - Use UTF8 setting for /create command ([#7394](https://github.com/RocketChat/Rocket.Chat/pull/7394)) + - file upload broken when running in subdirectory https://github.comโ€ฆ ([#7395](https://github.com/RocketChat/Rocket.Chat/pull/7395) by [@ryoshimizu](https://github.com/ryoshimizu)) + - Fix Anonymous User ([#7444](https://github.com/RocketChat/Rocket.Chat/pull/7444)) + - Missing eventName in unUser ([#7533](https://github.com/RocketChat/Rocket.Chat/pull/7533) by [@Darkneon](https://github.com/Darkneon)) + - Fix Join Channel Without Preview Room Permission ([#7535](https://github.com/RocketChat/Rocket.Chat/pull/7535)) + - Improve build script example ([#7555](https://github.com/RocketChat/Rocket.Chat/pull/7555))
๐Ÿ” Minor changes + - [Fix] Users and Channels list not respecting permissions ([#7212](https://github.com/RocketChat/Rocket.Chat/pull/7212))
@@ -6302,11 +9206,17 @@ ### ๐Ÿ› Bug fixes + - Fix Emails in User Admin View ([#7431](https://github.com/RocketChat/Rocket.Chat/pull/7431)) + - Always set LDAP properties on login ([#7472](https://github.com/RocketChat/Rocket.Chat/pull/7472)) + - Fix Unread Bar Disappearing ([#7403](https://github.com/RocketChat/Rocket.Chat/pull/7403)) + - Fix file upload on Slack import ([#7469](https://github.com/RocketChat/Rocket.Chat/pull/7469)) + - Fix Private Channel List Submit ([#7432](https://github.com/RocketChat/Rocket.Chat/pull/7432)) + - S3 uploads not working for custom URLs ([#7443](https://github.com/RocketChat/Rocket.Chat/pull/7443)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -6324,6 +9234,7 @@ ### ๐Ÿ› Bug fixes + - Fix migration of avatars from version 0.57.0 ([#7428](https://github.com/RocketChat/Rocket.Chat/pull/7428)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -6340,100 +9251,185 @@ ### โš ๏ธ BREAKING CHANGES + - Internal hubot does not load hubot-scripts anymore, it loads scripts from custom folders ([#7095](https://github.com/RocketChat/Rocket.Chat/pull/7095)) ### ๐ŸŽ‰ New features + - New avatar storage types ([#6788](https://github.com/RocketChat/Rocket.Chat/pull/6788)) + - Show full name in mentions if use full name setting enabled ([#6690](https://github.com/RocketChat/Rocket.Chat/pull/6690) by [@alexbrazier](https://github.com/alexbrazier)) + - Increase unread message count on @here mention ([#7059](https://github.com/RocketChat/Rocket.Chat/pull/7059)) + - API method and REST Endpoint for getting a single message by id ([#7085](https://github.com/RocketChat/Rocket.Chat/pull/7085)) + - Migration to add tags to email header and footer ([#7080](https://github.com/RocketChat/Rocket.Chat/pull/7080)) + - postcss parser and cssnext implementation ([#6982](https://github.com/RocketChat/Rocket.Chat/pull/6982)) + - Start running unit tests ([#6605](https://github.com/RocketChat/Rocket.Chat/pull/6605)) + - Make channel/group delete call answer to roomName ([#6857](https://github.com/RocketChat/Rocket.Chat/pull/6857) by [@reist](https://github.com/reist)) + - Feature/delete any message permission ([#6919](https://github.com/RocketChat/Rocket.Chat/pull/6919) by [@phutchins](https://github.com/phutchins)) + - Force use of MongoDB for spotlight queries ([#7311](https://github.com/RocketChat/Rocket.Chat/pull/7311)) ### ๐Ÿ› Bug fixes + - Message being displayed unescaped ([#7379](https://github.com/RocketChat/Rocket.Chat/pull/7379) by [@gdelavald](https://github.com/gdelavald)) + - Fix highlightjs bug ([#6991](https://github.com/RocketChat/Rocket.Chat/pull/6991)) + - do only store password if LDAP_Login_Fallback is on ([#7030](https://github.com/RocketChat/Rocket.Chat/pull/7030) by [@pmb0](https://github.com/pmb0)) + - fix bug in preview image ([#7121](https://github.com/RocketChat/Rocket.Chat/pull/7121)) + - Fix the failing tests ([#7094](https://github.com/RocketChat/Rocket.Chat/pull/7094)) + - Add option to ignore TLS in SMTP server settings ([#7084](https://github.com/RocketChat/Rocket.Chat/pull/7084) by [@colin-campbell](https://github.com/colin-campbell)) + - Add support for carriage return in markdown code blocks ([#7072](https://github.com/RocketChat/Rocket.Chat/pull/7072) by [@jm-factorin](https://github.com/jm-factorin)) + - Parse HTML on admin setting's descriptions ([#7014](https://github.com/RocketChat/Rocket.Chat/pull/7014)) + - edit button on firefox ([#7105](https://github.com/RocketChat/Rocket.Chat/pull/7105)) + - Fix missing CSS files on production builds ([#7104](https://github.com/RocketChat/Rocket.Chat/pull/7104)) + - clipboard (permalink, copy, pin, star buttons) ([#7103](https://github.com/RocketChat/Rocket.Chat/pull/7103)) + - Fixed typo hmtl -> html ([#7092](https://github.com/RocketChat/Rocket.Chat/pull/7092) by [@jautero](https://github.com/jautero)) + - Add and to header and footer ([#7025](https://github.com/RocketChat/Rocket.Chat/pull/7025) by [@ExTechOp](https://github.com/ExTechOp)) + - Prevent Ctrl key on message field from reloading messages list ([#7033](https://github.com/RocketChat/Rocket.Chat/pull/7033)) + - New screen sharing Chrome extension checking method ([#7044](https://github.com/RocketChat/Rocket.Chat/pull/7044)) + - Improve Tests ([#7049](https://github.com/RocketChat/Rocket.Chat/pull/7049)) + - Fix avatar upload via users.setAvatar REST endpoint ([#7045](https://github.com/RocketChat/Rocket.Chat/pull/7045)) + - Sidenav roomlist ([#7023](https://github.com/RocketChat/Rocket.Chat/pull/7023)) + - video message recording dialog is shown in an incorrect position ([#7012](https://github.com/RocketChat/Rocket.Chat/pull/7012) by [@flaviogrossi](https://github.com/flaviogrossi)) + - Remove room from roomPick setting ([#6912](https://github.com/RocketChat/Rocket.Chat/pull/6912)) + - Parse markdown links last ([#6997](https://github.com/RocketChat/Rocket.Chat/pull/6997)) + - overlapping text for users-typing-message ([#6999](https://github.com/RocketChat/Rocket.Chat/pull/6999) by [@darkv](https://github.com/darkv)) + - Updating Incoming Integration Post As Field Not Allowed ([#6903](https://github.com/RocketChat/Rocket.Chat/pull/6903)) + - Fix error handling for non-valid avatar URL ([#6972](https://github.com/RocketChat/Rocket.Chat/pull/6972)) + - SAML: Only set KeyDescriptor when non empty ([#6961](https://github.com/RocketChat/Rocket.Chat/pull/6961) by [@sathieu](https://github.com/sathieu)) + - Fix the other tests failing due chimp update ([#6986](https://github.com/RocketChat/Rocket.Chat/pull/6986)) + - Fix badge counter on iOS push notifications ([#6950](https://github.com/RocketChat/Rocket.Chat/pull/6950)) + - Fix login with Meteor saving an object as email address ([#6974](https://github.com/RocketChat/Rocket.Chat/pull/6974)) + - Check that username is not in the room when being muted / unmuted ([#6840](https://github.com/RocketChat/Rocket.Chat/pull/6840) by [@matthewshirley](https://github.com/matthewshirley)) + - Use AWS Signature Version 4 signed URLs for uploads ([#6947](https://github.com/RocketChat/Rocket.Chat/pull/6947)) + - Bugs in `isUserFromParams` helper ([#6904](https://github.com/RocketChat/Rocket.Chat/pull/6904) by [@abrom](https://github.com/abrom)) + - Allow image insert from slack through slackbridge ([#6910](https://github.com/RocketChat/Rocket.Chat/pull/6910)) + - Slackbridge text replacements ([#6913](https://github.com/RocketChat/Rocket.Chat/pull/6913)) + - Fix all reactions having the same username ([#7157](https://github.com/RocketChat/Rocket.Chat/pull/7157)) + - Fix editing others messages ([#7200](https://github.com/RocketChat/Rocket.Chat/pull/7200)) + - Fix oembed previews not being shown ([#7208](https://github.com/RocketChat/Rocket.Chat/pull/7208)) + - "requirePasswordChange" property not being saved when set to false ([#7209](https://github.com/RocketChat/Rocket.Chat/pull/7209)) + - Removing the kadira package install from example build script. ([#7160](https://github.com/RocketChat/Rocket.Chat/pull/7160) by [@JSzaszvari](https://github.com/JSzaszvari)) + - Fix user's customFields not being saved correctly ([#7358](https://github.com/RocketChat/Rocket.Chat/pull/7358)) + - Improve avatar migration ([#7352](https://github.com/RocketChat/Rocket.Chat/pull/7352)) + - Fix jump to unread button ([#7320](https://github.com/RocketChat/Rocket.Chat/pull/7320)) + - click on image in a message ([#7345](https://github.com/RocketChat/Rocket.Chat/pull/7345)) + - Proxy upload to correct instance ([#7304](https://github.com/RocketChat/Rocket.Chat/pull/7304)) + - Fix Secret Url ([#7321](https://github.com/RocketChat/Rocket.Chat/pull/7321))
๐Ÿ” Minor changes + - add server methods getRoomNameById ([#7102](https://github.com/RocketChat/Rocket.Chat/pull/7102) by [@thinkeridea](https://github.com/thinkeridea)) + - Convert hipchat importer to js ([#7146](https://github.com/RocketChat/Rocket.Chat/pull/7146)) + - Convert file unsubscribe.coffee to js ([#7145](https://github.com/RocketChat/Rocket.Chat/pull/7145)) + - Convert oauth2-server-config package to js ([#7017](https://github.com/RocketChat/Rocket.Chat/pull/7017)) + - Convert irc package to js ([#7022](https://github.com/RocketChat/Rocket.Chat/pull/7022)) + - Ldap: User_Data_FieldMap description ([#7055](https://github.com/RocketChat/Rocket.Chat/pull/7055) by [@bbrauns](https://github.com/bbrauns)) + - Remove Useless Jasmine Tests ([#7062](https://github.com/RocketChat/Rocket.Chat/pull/7062)) + - converted rocketchat-importer ([#7018](https://github.com/RocketChat/Rocket.Chat/pull/7018)) + - LingoHub based on develop ([#7114](https://github.com/RocketChat/Rocket.Chat/pull/7114)) + - Convert Livechat from Coffeescript to JavaScript ([#7096](https://github.com/RocketChat/Rocket.Chat/pull/7096)) + - Rocketchat ui3 ([#7006](https://github.com/RocketChat/Rocket.Chat/pull/7006)) + - converted rocketchat-ui coffee to js part 2 ([#6836](https://github.com/RocketChat/Rocket.Chat/pull/6836)) + - LingoHub based on develop ([#7005](https://github.com/RocketChat/Rocket.Chat/pull/7005)) + - rocketchat-lib[4] coffee to js ([#6735](https://github.com/RocketChat/Rocket.Chat/pull/6735)) + - rocketchat-importer-slack coffee to js ([#6987](https://github.com/RocketChat/Rocket.Chat/pull/6987)) + - Convert ui-admin package to js ([#6911](https://github.com/RocketChat/Rocket.Chat/pull/6911)) + - Rocketchat ui message ([#6914](https://github.com/RocketChat/Rocket.Chat/pull/6914)) + - [New] LDAP: Use variables in User_Data_FieldMap for name mapping ([#6921](https://github.com/RocketChat/Rocket.Chat/pull/6921) by [@bbrauns](https://github.com/bbrauns)) + - Convert meteor-autocomplete package to js ([#6936](https://github.com/RocketChat/Rocket.Chat/pull/6936)) + - Convert Ui Account Package to Js ([#6795](https://github.com/RocketChat/Rocket.Chat/pull/6795)) + - LingoHub based on develop ([#6978](https://github.com/RocketChat/Rocket.Chat/pull/6978)) + - fix the crashing tests ([#6976](https://github.com/RocketChat/Rocket.Chat/pull/6976)) + - Convert WebRTC Package to Js ([#6775](https://github.com/RocketChat/Rocket.Chat/pull/6775)) + - Remove missing CoffeeScript dependencies ([#7154](https://github.com/RocketChat/Rocket.Chat/pull/7154)) + - Switch logic of artifact name ([#7158](https://github.com/RocketChat/Rocket.Chat/pull/7158)) + - Fix the Zapier oAuth return url to the new one ([#7215](https://github.com/RocketChat/Rocket.Chat/pull/7215)) + - Fix the admin oauthApps view not working ([#7196](https://github.com/RocketChat/Rocket.Chat/pull/7196)) + - Fix forbidden error on setAvatar REST endpoint ([#7159](https://github.com/RocketChat/Rocket.Chat/pull/7159)) + - Fix the admin oauthApps view not working ([#7196](https://github.com/RocketChat/Rocket.Chat/pull/7196)) + - Fix mobile avatars ([#7177](https://github.com/RocketChat/Rocket.Chat/pull/7177))
@@ -6478,61 +9474,110 @@ ### ๐ŸŽ‰ New features + - Add a pointer cursor to message images ([#6881](https://github.com/RocketChat/Rocket.Chat/pull/6881)) + - Make channels.info accept roomName, just like groups.info ([#6827](https://github.com/RocketChat/Rocket.Chat/pull/6827) by [@reist](https://github.com/reist)) + - Option to allow to signup as anonymous ([#6797](https://github.com/RocketChat/Rocket.Chat/pull/6797)) + - create a method 'create token' ([#6807](https://github.com/RocketChat/Rocket.Chat/pull/6807)) + - Add option on Channel Settings: Hide Notifications and Hide Unread Room Status (#2707, #2143) ([#5373](https://github.com/RocketChat/Rocket.Chat/pull/5373)) + - Remove lesshat ([#6722](https://github.com/RocketChat/Rocket.Chat/pull/6722) by [@karlprieb](https://github.com/karlprieb)) + - Use tokenSentVia parameter for clientid/secret to token endpoint ([#6692](https://github.com/RocketChat/Rocket.Chat/pull/6692) by [@intelradoux](https://github.com/intelradoux)) + - Add a setting to not run outgoing integrations on message edits ([#6615](https://github.com/RocketChat/Rocket.Chat/pull/6615)) + - Improve CI/Docker build/release ([#6938](https://github.com/RocketChat/Rocket.Chat/pull/6938)) + - Add SMTP settings for Protocol and Pool ([#6940](https://github.com/RocketChat/Rocket.Chat/pull/6940)) + - Show info about multiple instances at admin page ([#6953](https://github.com/RocketChat/Rocket.Chat/pull/6953)) ### ๐Ÿ› Bug fixes + - start/unstar message ([#6861](https://github.com/RocketChat/Rocket.Chat/pull/6861)) + - Added helper for testing if the current user matches the params ([#6845](https://github.com/RocketChat/Rocket.Chat/pull/6845) by [@abrom](https://github.com/abrom)) + - REST API user.update throwing error due to rate limiting ([#6796](https://github.com/RocketChat/Rocket.Chat/pull/6796)) + - fix german translation ([#6790](https://github.com/RocketChat/Rocket.Chat/pull/6790) by [@sscholl](https://github.com/sscholl)) + - Improve and correct Iframe Integration help text ([#6793](https://github.com/RocketChat/Rocket.Chat/pull/6793)) + - Quoted and replied messages not retaining the original message's alias ([#6800](https://github.com/RocketChat/Rocket.Chat/pull/6800)) + - Fix iframe wise issues ([#6798](https://github.com/RocketChat/Rocket.Chat/pull/6798)) + - Incorrect error message when creating channel ([#6747](https://github.com/RocketChat/Rocket.Chat/pull/6747) by [@gdelavald](https://github.com/gdelavald)) + - Hides nav buttons when selecting own profile ([#6760](https://github.com/RocketChat/Rocket.Chat/pull/6760) by [@gdelavald](https://github.com/gdelavald)) + - Search full name on client side ([#6767](https://github.com/RocketChat/Rocket.Chat/pull/6767) by [@alexbrazier](https://github.com/alexbrazier)) + - Sort by real name if use real name setting is enabled ([#6758](https://github.com/RocketChat/Rocket.Chat/pull/6758) by [@alexbrazier](https://github.com/alexbrazier)) + - CSV importer: require that there is some data in the zip, not ALL data ([#6768](https://github.com/RocketChat/Rocket.Chat/pull/6768) by [@reist](https://github.com/reist)) + - Archiving Direct Messages ([#6737](https://github.com/RocketChat/Rocket.Chat/pull/6737)) + - Fix Caddy by forcing go 1.7 as needed by one of caddy's dependencies ([#6721](https://github.com/RocketChat/Rocket.Chat/pull/6721)) + - Users status on main menu always offline ([#6896](https://github.com/RocketChat/Rocket.Chat/pull/6896)) + - Not showing unread count on electron appโ€™s icon ([#6923](https://github.com/RocketChat/Rocket.Chat/pull/6923)) + - Compile CSS color variables ([#6939](https://github.com/RocketChat/Rocket.Chat/pull/6939)) + - Remove spaces from env PORT and INSTANCE_IP ([#6955](https://github.com/RocketChat/Rocket.Chat/pull/6955)) + - make channels.create API check for create-c ([#6968](https://github.com/RocketChat/Rocket.Chat/pull/6968) by [@reist](https://github.com/reist))
๐Ÿ” Minor changes + - [New] Snap arm support ([#6842](https://github.com/RocketChat/Rocket.Chat/pull/6842)) + - Meteor update ([#6858](https://github.com/RocketChat/Rocket.Chat/pull/6858)) + - Converted rocketchat-lib 3 ([#6672](https://github.com/RocketChat/Rocket.Chat/pull/6672)) + - Convert Message-Star Package to js ([#6781](https://github.com/RocketChat/Rocket.Chat/pull/6781)) + - Convert Mailer Package to Js ([#6780](https://github.com/RocketChat/Rocket.Chat/pull/6780)) + - LingoHub based on develop ([#6816](https://github.com/RocketChat/Rocket.Chat/pull/6816)) + - Missing useful fields in admin user list #5110 ([#6804](https://github.com/RocketChat/Rocket.Chat/pull/6804) by [@vlogic](https://github.com/vlogic)) + - Convert Katex Package to Js ([#6671](https://github.com/RocketChat/Rocket.Chat/pull/6671)) + - Convert Oembed Package to Js ([#6688](https://github.com/RocketChat/Rocket.Chat/pull/6688)) + - Convert Mentions-Flextab Package to Js ([#6689](https://github.com/RocketChat/Rocket.Chat/pull/6689)) + - Anonymous use ([#5986](https://github.com/RocketChat/Rocket.Chat/pull/5986)) + - Breaking long URLS to prevent overflow ([#6368](https://github.com/RocketChat/Rocket.Chat/pull/6368) by [@robertdown](https://github.com/robertdown)) + - Rocketchat lib2 ([#6593](https://github.com/RocketChat/Rocket.Chat/pull/6593)) + - disable proxy configuration ([#6654](https://github.com/RocketChat/Rocket.Chat/pull/6654) by [@glehmann](https://github.com/glehmann)) + - Convert markdown to js ([#6694](https://github.com/RocketChat/Rocket.Chat/pull/6694) by [@ehkasper](https://github.com/ehkasper)) + - LingoHub based on develop ([#6715](https://github.com/RocketChat/Rocket.Chat/pull/6715)) + - meteor update to 1.4.4 ([#6706](https://github.com/RocketChat/Rocket.Chat/pull/6706)) + - LingoHub based on develop ([#6703](https://github.com/RocketChat/Rocket.Chat/pull/6703)) + - [Fix] Error when trying to show preview of undefined filetype ([#6935](https://github.com/RocketChat/Rocket.Chat/pull/6935))
@@ -6572,6 +9617,7 @@
๐Ÿ” Minor changes + - [Fix] Bug with incoming integration (0.55.1) ([#6734](https://github.com/RocketChat/Rocket.Chat/pull/6734))
@@ -6589,137 +9635,259 @@ ### โš ๏ธ BREAKING CHANGES + - `getUsersOfRoom` API to return array of objects with user and username, instead of array of strings ### ๐ŸŽ‰ New features + - Add shield.svg api route to generate custom shields/badges ([#6565](https://github.com/RocketChat/Rocket.Chat/pull/6565) by [@alexbrazier](https://github.com/alexbrazier)) + - resolve merge share function ([#6577](https://github.com/RocketChat/Rocket.Chat/pull/6577) by [@karlprieb](https://github.com/karlprieb) & [@tgxn](https://github.com/tgxn)) + - Two Factor Auth ([#6476](https://github.com/RocketChat/Rocket.Chat/pull/6476)) + - Permission `join-without-join-code` assigned to admins and bots by default ([#6430](https://github.com/RocketChat/Rocket.Chat/pull/6430)) + - Integrations, both incoming and outgoing, now have access to the models. Example: `Users.findOneById(id)` ([#6420](https://github.com/RocketChat/Rocket.Chat/pull/6420)) + - 'users.resetAvatar' rest api endpoint ([#6616](https://github.com/RocketChat/Rocket.Chat/pull/6616)) + - Drupal oAuth Integration for Rocketchat ([#6632](https://github.com/RocketChat/Rocket.Chat/pull/6632) by [@Lawri-van-Buel](https://github.com/Lawri-van-Buel)) + - Add monitoring package ([#6634](https://github.com/RocketChat/Rocket.Chat/pull/6634)) + - Expose Livechat to Incoming Integrations and allow response ([#6681](https://github.com/RocketChat/Rocket.Chat/pull/6681)) ### ๐Ÿ› Bug fixes + - Incoming integrations would break when trying to use the `Store` feature.` + - Removed Deprecated Package rocketchat:sharedsecret` + - emoji picker exception ([#6709](https://github.com/RocketChat/Rocket.Chat/pull/6709) by [@gdelavald](https://github.com/gdelavald)) + - Large files crashed browser when trying to show preview ([#6598](https://github.com/RocketChat/Rocket.Chat/pull/6598)) + - messageBox: put "joinCodeRequired" back ([#6600](https://github.com/RocketChat/Rocket.Chat/pull/6600) by [@karlprieb](https://github.com/karlprieb)) + - Do not add default roles for users without services field ([#6594](https://github.com/RocketChat/Rocket.Chat/pull/6594)) + - Accounts from LinkedIn OAuth without name ([#6590](https://github.com/RocketChat/Rocket.Chat/pull/6590)) + - Usage of subtagged languages ([#6575](https://github.com/RocketChat/Rocket.Chat/pull/6575)) + - UTC offset missing UTC text when positive ([#6562](https://github.com/RocketChat/Rocket.Chat/pull/6562) by [@alexbrazier](https://github.com/alexbrazier)) + - can not get access_token when using custom oauth ([#6531](https://github.com/RocketChat/Rocket.Chat/pull/6531) by [@fengt](https://github.com/fengt)) + - Outgoing webhooks which have an error and they're retrying would still retry even if the integration was disabled` ([#6478](https://github.com/RocketChat/Rocket.Chat/pull/6478)) + - Incorrect curl command being generated on incoming integrations ([#6620](https://github.com/RocketChat/Rocket.Chat/pull/6620)) + - arguments logger ([#6617](https://github.com/RocketChat/Rocket.Chat/pull/6617)) + - Improve markdown code ([#6650](https://github.com/RocketChat/Rocket.Chat/pull/6650)) + - Encode avatar url to prevent CSS injection ([#6651](https://github.com/RocketChat/Rocket.Chat/pull/6651)) + - Do not escaping markdown on message attachments ([#6648](https://github.com/RocketChat/Rocket.Chat/pull/6648)) + - Revert unwanted UI changes ([#6658](https://github.com/RocketChat/Rocket.Chat/pull/6658)) + - Fix Logger stdout publication ([#6682](https://github.com/RocketChat/Rocket.Chat/pull/6682)) + - Downgrade email package to from 1.2.0 to 1.1.18 ([#6680](https://github.com/RocketChat/Rocket.Chat/pull/6680)) + - Administrators being rate limited when editing users data ([#6659](https://github.com/RocketChat/Rocket.Chat/pull/6659)) + - Make sure username exists in findByActiveUsersExcept ([#6674](https://github.com/RocketChat/Rocket.Chat/pull/6674)) + - Update server cache indexes on record updates ([#6686](https://github.com/RocketChat/Rocket.Chat/pull/6686)) + - Allow question on OAuth token path ([#6684](https://github.com/RocketChat/Rocket.Chat/pull/6684)) + - Error when returning undefined from incoming intergationโ€™s script ([#6683](https://github.com/RocketChat/Rocket.Chat/pull/6683)) + - Fix message types ([#6704](https://github.com/RocketChat/Rocket.Chat/pull/6704))
๐Ÿ” Minor changes + - Add candidate snap channel ([#6614](https://github.com/RocketChat/Rocket.Chat/pull/6614)) + - Add `fname` to subscriptions in memory ([#6597](https://github.com/RocketChat/Rocket.Chat/pull/6597)) + - [New] Switch Snaps to use oplog ([#6608](https://github.com/RocketChat/Rocket.Chat/pull/6608)) + - Convert Message Pin Package to JS ([#6576](https://github.com/RocketChat/Rocket.Chat/pull/6576)) + - Move room display name logic to roomType definition ([#6585](https://github.com/RocketChat/Rocket.Chat/pull/6585)) + - Only configure LoggerManager on server ([#6596](https://github.com/RocketChat/Rocket.Chat/pull/6596)) + - POC Google Natural Language integration ([#6298](https://github.com/RocketChat/Rocket.Chat/pull/6298)) + - Fix recently introduced bug: OnePassword not defined ([#6591](https://github.com/RocketChat/Rocket.Chat/pull/6591)) + - rocketchat-lib part1 ([#6553](https://github.com/RocketChat/Rocket.Chat/pull/6553)) + - dependencies upgrade ([#6584](https://github.com/RocketChat/Rocket.Chat/pull/6584)) + - fixed typo in readme.md ([#6580](https://github.com/RocketChat/Rocket.Chat/pull/6580) by [@sezinkarli](https://github.com/sezinkarli)) + - Use real name instead of username for messages and direct messages list ([#3851](https://github.com/RocketChat/Rocket.Chat/pull/3851) by [@alexbrazier](https://github.com/alexbrazier)) + - Convert Ui-Login Package to Js ([#6561](https://github.com/RocketChat/Rocket.Chat/pull/6561)) + - rocketchat-channel-settings coffee to js ([#6551](https://github.com/RocketChat/Rocket.Chat/pull/6551)) + - Move wordpress packages client files to client folder ([#6571](https://github.com/RocketChat/Rocket.Chat/pull/6571)) + - convert rocketchat-ui part 2 ([#6539](https://github.com/RocketChat/Rocket.Chat/pull/6539)) + - rocketchat-channel-settings-mail-messages coffee to js ([#6541](https://github.com/RocketChat/Rocket.Chat/pull/6541)) + - LingoHub based on develop ([#6574](https://github.com/RocketChat/Rocket.Chat/pull/6574)) + - LingoHub based on develop ([#6567](https://github.com/RocketChat/Rocket.Chat/pull/6567)) + - [New] Added oauth2 userinfo endpoint ([#6554](https://github.com/RocketChat/Rocket.Chat/pull/6554)) + - Remove Deprecated Shared Secret Package ([#6540](https://github.com/RocketChat/Rocket.Chat/pull/6540)) + - Remove coffeescript package from ui-sidenav ([#6542](https://github.com/RocketChat/Rocket.Chat/pull/6542) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - Remove coffeescript package from ui-flextab ([#6543](https://github.com/RocketChat/Rocket.Chat/pull/6543) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - Convert Theme Package to JS ([#6491](https://github.com/RocketChat/Rocket.Chat/pull/6491)) + - Fix typo of the safari pinned tab label ([#6487](https://github.com/RocketChat/Rocket.Chat/pull/6487) by [@qge](https://github.com/qge)) + - fix channel merge option of user preferences ([#6493](https://github.com/RocketChat/Rocket.Chat/pull/6493) by [@billtt](https://github.com/billtt)) + - converted Rocketchat logger coffee to js ([#6495](https://github.com/RocketChat/Rocket.Chat/pull/6495)) + - converted rocketchat-integrations coffee to js ([#6502](https://github.com/RocketChat/Rocket.Chat/pull/6502)) + - 'allow reacting' should be a toggle option.otherwise, the style will display an error ([#6522](https://github.com/RocketChat/Rocket.Chat/pull/6522) by [@szluohua](https://github.com/szluohua)) + - Clipboard [Firefox version < 50] ([#6280](https://github.com/RocketChat/Rocket.Chat/pull/6280)) + - Convert ui-vrecord Package to JS ([#6473](https://github.com/RocketChat/Rocket.Chat/pull/6473)) + - converted slashcommands-mute coffee to js ([#6474](https://github.com/RocketChat/Rocket.Chat/pull/6474)) + - Convert Version Package to JS ([#6494](https://github.com/RocketChat/Rocket.Chat/pull/6494)) + - Convert Ui-Master Package to Js ([#6498](https://github.com/RocketChat/Rocket.Chat/pull/6498)) + - converted messageAttachment coffee to js ([#6500](https://github.com/RocketChat/Rocket.Chat/pull/6500)) + - Convert File Package to js ([#6503](https://github.com/RocketChat/Rocket.Chat/pull/6503)) + - Create groups.addAll endpoint and add activeUsersOnly param. ([#6505](https://github.com/RocketChat/Rocket.Chat/pull/6505) by [@nathanmarcos](https://github.com/nathanmarcos)) + - New feature: Room announcement ([#6351](https://github.com/RocketChat/Rocket.Chat/pull/6351) by [@billtt](https://github.com/billtt)) + - converted slashcommand-me coffee to js ([#6468](https://github.com/RocketChat/Rocket.Chat/pull/6468)) + - converted slashcommand-join coffee to js ([#6469](https://github.com/RocketChat/Rocket.Chat/pull/6469)) + - converted slashcommand-leave coffee to js ([#6470](https://github.com/RocketChat/Rocket.Chat/pull/6470)) + - convert mapview package to js ([#6471](https://github.com/RocketChat/Rocket.Chat/pull/6471)) + - converted getAvatarUrlFromUsername ([#6496](https://github.com/RocketChat/Rocket.Chat/pull/6496)) + - converted slashcommand-invite coffee to js ([#6497](https://github.com/RocketChat/Rocket.Chat/pull/6497)) + - Convert Wordpress Package to js ([#6499](https://github.com/RocketChat/Rocket.Chat/pull/6499)) + - converted slashcommand-msg coffee to js ([#6501](https://github.com/RocketChat/Rocket.Chat/pull/6501)) + - rocketchat-ui coffee to js part1 ([#6504](https://github.com/RocketChat/Rocket.Chat/pull/6504)) + - converted rocketchat-mentions coffee to js ([#6467](https://github.com/RocketChat/Rocket.Chat/pull/6467)) + - ESLint add rule `no-void` ([#6479](https://github.com/RocketChat/Rocket.Chat/pull/6479)) + - Add ESLint rules `prefer-template` and `template-curly-spacing` ([#6456](https://github.com/RocketChat/Rocket.Chat/pull/6456)) + - Fix livechat permissions ([#6466](https://github.com/RocketChat/Rocket.Chat/pull/6466)) + - Add ESLint rule `object-shorthand` ([#6457](https://github.com/RocketChat/Rocket.Chat/pull/6457)) + - Add ESLint rules `one-var` and `no-var` ([#6459](https://github.com/RocketChat/Rocket.Chat/pull/6459)) + - Add ESLint rule `one-var` ([#6458](https://github.com/RocketChat/Rocket.Chat/pull/6458)) + - Side-nav CoffeeScript to JavaScript III ([#6274](https://github.com/RocketChat/Rocket.Chat/pull/6274)) + - Flex-Tab CoffeeScript to JavaScript II ([#6277](https://github.com/RocketChat/Rocket.Chat/pull/6277)) + - Side-nav CoffeeScript to JavaScript II ([#6266](https://github.com/RocketChat/Rocket.Chat/pull/6266)) + - Allow Livechat visitors to switch the department ([#6035](https://github.com/RocketChat/Rocket.Chat/pull/6035) by [@drallgood](https://github.com/drallgood)) + - fix livechat widget on small screens ([#6122](https://github.com/RocketChat/Rocket.Chat/pull/6122) by [@karlprieb](https://github.com/karlprieb)) + - Allow livechat managers to transfer chats ([#6180](https://github.com/RocketChat/Rocket.Chat/pull/6180) by [@drallgood](https://github.com/drallgood)) + - focus first textbox element ([#6257](https://github.com/RocketChat/Rocket.Chat/pull/6257) by [@a5his](https://github.com/a5his)) + - Join command ([#6268](https://github.com/RocketChat/Rocket.Chat/pull/6268)) + - Fix visitor ending livechat if multiples still open ([#6419](https://github.com/RocketChat/Rocket.Chat/pull/6419)) + - Password reset Cleaner text ([#6319](https://github.com/RocketChat/Rocket.Chat/pull/6319)) + - Add permission check to the import methods and not just the UI ([#6400](https://github.com/RocketChat/Rocket.Chat/pull/6400)) + - Max textarea height ([#6409](https://github.com/RocketChat/Rocket.Chat/pull/6409)) + - Livechat fix office hours order ([#6413](https://github.com/RocketChat/Rocket.Chat/pull/6413)) + - Convert Spotify Package to JS ([#6449](https://github.com/RocketChat/Rocket.Chat/pull/6449)) + - Make favicon package easier to read. ([#6422](https://github.com/RocketChat/Rocket.Chat/pull/6422) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - Just admins can change a Default Channel to Private (the channel will be a non default channel) ([#6426](https://github.com/RocketChat/Rocket.Chat/pull/6426)) + - Hide email settings on Sandstorm ([#6429](https://github.com/RocketChat/Rocket.Chat/pull/6429)) + - Do not show reset button for hidden settings ([#6432](https://github.com/RocketChat/Rocket.Chat/pull/6432)) + - Convert Dolphin Package to JavaScript ([#6427](https://github.com/RocketChat/Rocket.Chat/pull/6427)) + - converted rocketchat-message-mark-as-unread coffee/js ([#6445](https://github.com/RocketChat/Rocket.Chat/pull/6445)) + - converted rocketchat-slashcommands-kick coffee to js ([#6453](https://github.com/RocketChat/Rocket.Chat/pull/6453)) + - converted meteor-accounts-saml coffee to js ([#6450](https://github.com/RocketChat/Rocket.Chat/pull/6450)) + - Convert Statistics Package to JS ([#6447](https://github.com/RocketChat/Rocket.Chat/pull/6447)) + - Convert ChatOps Package to JavaScript ([#6425](https://github.com/RocketChat/Rocket.Chat/pull/6425)) + - Change all instances of Meteor.Collection for Mongo.Collection ([#6410](https://github.com/RocketChat/Rocket.Chat/pull/6410)) + - Flex-Tab CoffeeScript to JavaScript III ([#6278](https://github.com/RocketChat/Rocket.Chat/pull/6278)) + - Flex-Tab CoffeeScript to JavaScript I ([#6276](https://github.com/RocketChat/Rocket.Chat/pull/6276)) + - Side-nav CoffeeScript to JavaScript ([#6264](https://github.com/RocketChat/Rocket.Chat/pull/6264)) + - Convert Tutum Package to JS ([#6446](https://github.com/RocketChat/Rocket.Chat/pull/6446)) + - Added Deploy method and platform to stats ([#6649](https://github.com/RocketChat/Rocket.Chat/pull/6649)) + - LingoHub based on develop ([#6647](https://github.com/RocketChat/Rocket.Chat/pull/6647)) + - meteor update ([#6631](https://github.com/RocketChat/Rocket.Chat/pull/6631)) + - Env override initial setting ([#6163](https://github.com/RocketChat/Rocket.Chat/pull/6163) by [@mrsimpson](https://github.com/mrsimpson))
diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index 824c3e9bcca4..7dd2932fa497 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.0.7" + "version": "3.0.8" } diff --git a/package.json b/package.json index 6363e22d4376..9a22672d7af4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Rocket.Chat", "description": "The Ultimate Open Source WebChat Platform", - "version": "3.0.7", + "version": "3.0.8", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From e1986069266f8df351d9498fc0c7db944c7642df Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Mon, 30 Mar 2020 18:32:18 -0300 Subject: [PATCH 113/223] Update .eslintrc --- .eslintrc | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/.eslintrc b/.eslintrc index 46805bc5b654..efef5b7d68d8 100644 --- a/.eslintrc +++ b/.eslintrc @@ -24,12 +24,21 @@ "react/jsx-fragments": [ "error", "syntax" - ], + ] }, "settings": { - "react": { - "version": "detect", + "import/resolver": { + "node": { + "extensions": [ + ".js", + ".ts", + ".tsx" + ] + } }, + "react": { + "version": "detect" + } }, "overrides": [ { @@ -38,9 +47,9 @@ "**/*.tsx" ], "extends": [ - "@rocket.chat/eslint-config", "plugin:@typescript-eslint/recommended", - "plugin:@typescript-eslint/eslint-recommended" + "plugin:@typescript-eslint/eslint-recommended", + "@rocket.chat/eslint-config" ], "globals": { "Atomics": "readonly", @@ -73,6 +82,10 @@ "syntax" ], "@typescript-eslint/ban-ts-ignore": "off", + "@typescript-eslint/indent": [ + "error", + "tab" + ], "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/interface-name-prefix": [ "error", From 66c82df886886b3b3eb576dcfc0c75b452aca60c Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Mon, 30 Mar 2020 21:16:45 -0300 Subject: [PATCH 114/223] Bump version to 3.1.0-rc.4 --- .docker/Dockerfile.rhel | 2 +- .github/history.json | 69 +++++++++++++++++++++++++++++++++++++++ HISTORY.md | 29 ++++++++++++++++ app/utils/rocketchat.info | 2 +- package.json | 2 +- 5 files changed, 101 insertions(+), 3 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index aeff4306f56c..1b0b23a34016 100644 --- a/.docker/Dockerfile.rhel +++ b/.docker/Dockerfile.rhel @@ -1,6 +1,6 @@ FROM registry.access.redhat.com/rhscl/nodejs-8-rhel7 -ENV RC_VERSION 3.1.0-rc.3 +ENV RC_VERSION 3.1.0-rc.4 MAINTAINER buildmaster@rocket.chat diff --git a/.github/history.json b/.github/history.json index 86592a7a05db..6085f85ba4ba 100644 --- a/.github/history.json +++ b/.github/history.json @@ -41562,6 +41562,75 @@ ] } ] + }, + "3.1.0-rc.4": { + "node_version": "12.16.1", + "npm_version": "6.13.4", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "17078", + "title": "Regression: Remove model observe that was used to control the status of the Omnichannel agents", + "userLogin": "renatobecker", + "milestone": "3.0.8", + "contributors": [ + "renatobecker", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "17086", + "title": "[FIX] Emit livechat events to instace only", + "userLogin": "sampaiodiego", + "milestone": "3.0.8", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "17089", + "title": "[FIX] Error when websocket received status update event", + "userLogin": "d-gubert", + "milestone": "3.0.8", + "contributors": [ + "d-gubert" + ] + }, + { + "pr": "17088", + "title": "Reduce notifyUser propagation", + "userLogin": "rodrigok", + "milestone": "3.0.8", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "17078", + "title": "Regression: Remove model observe that was used to control the status of the Omnichannel agents", + "userLogin": "renatobecker", + "milestone": "3.0.8", + "contributors": [ + "renatobecker", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "17087", + "title": "Regression: Check Omnichannel routing system before emitting queue changes", + "userLogin": "renatobecker", + "milestone": "3.1.0", + "contributors": [ + "renatobecker" + ] + } + ] } } } diff --git a/HISTORY.md b/HISTORY.md index e12c846dcb21..e43eee68b89f 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,6 +1,35 @@ # 3.1.0 (Under Release Candidate Process) +## 3.1.0-rc.4 +`2020-03-30 ยท 4 ๐Ÿ› ยท 6 ๐Ÿ” ยท 4 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` + +### ๐Ÿ› Bug fixes + + +- Emit livechat events to instace only ([#17086](https://github.com/RocketChat/Rocket.Chat/pull/17086)) + +- Error when websocket received status update event ([#17089](https://github.com/RocketChat/Rocket.Chat/pull/17089)) + +
+๐Ÿ” Minor changes + + +- Regression: Remove model observe that was used to control the status of the Omnichannel agents ([#17078](https://github.com/RocketChat/Rocket.Chat/pull/17078)) + +- Reduce notifyUser propagation ([#17088](https://github.com/RocketChat/Rocket.Chat/pull/17088)) + +- Regression: Check Omnichannel routing system before emitting queue changes ([#17087](https://github.com/RocketChat/Rocket.Chat/pull/17087)) + +
+ +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@d-gubert](https://github.com/d-gubert) +- [@renatobecker](https://github.com/renatobecker) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + ## 3.1.0-rc.3 `2020-03-30 ยท 2 ๐ŸŽ‰ ยท 2 ๐Ÿš€ ยท 1 ๐Ÿ› ยท 3 ๐Ÿ” ยท 7 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index 04d13e2d8e18..f5c360f56b86 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.1.0-rc.3" + "version": "3.1.0-rc.4" } diff --git a/package.json b/package.json index 6b623ada5fc2..76226bb395ca 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Rocket.Chat", "description": "The Ultimate Open Source WebChat Platform", - "version": "3.1.0-rc.3", + "version": "3.1.0-rc.4", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From d47921abc9550e4d5369cab9f81d7bd95a61ebc5 Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Tue, 31 Mar 2020 00:29:07 -0300 Subject: [PATCH 115/223] [FIX] Apps Engine notifyRoom sending notification to wrong users (#17093) --- app/apps/server/bridges/messages.js | 39 ++++++++++++++++------------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/app/apps/server/bridges/messages.js b/app/apps/server/bridges/messages.js index 1071117d180e..cc53aa392bd4 100644 --- a/app/apps/server/bridges/messages.js +++ b/app/apps/server/bridges/messages.js @@ -59,24 +59,27 @@ export class AppMessageBridge { async notifyRoom(room, message, appId) { this.orch.debugLog(`The App ${ appId } is notifying a room's users.`); - if (room) { - const msg = this.orch.getConverters().get('messages').convertAppMessage(message); - const rmsg = Object.assign(msg, { - _id: Random.id(), - rid: room.id, - ts: new Date(), - u: undefined, - editor: undefined, - }); - - const users = Subscriptions.findByRoomIdWhenUserIdExists(room._id, { fields: { 'u._id': 1 } }) - .fetch() - .map((s) => s.u._id); - Users.findByIds(users, { fields: { _id: 1 } }) - .fetch() - .forEach(({ _id }) => - Notifications.notifyUser(_id, 'message', rmsg), - ); + if (!room || !room.id) { + return; } + + const msg = this.orch.getConverters().get('messages').convertAppMessage(message); + const rmsg = Object.assign(msg, { + _id: Random.id(), + rid: room.id, + ts: new Date(), + u: undefined, + editor: undefined, + }); + + const users = Subscriptions.findByRoomIdWhenUserIdExists(room.id, { fields: { 'u._id': 1 } }) + .fetch() + .map((s) => s.u._id); + + Users.findByIds(users, { fields: { _id: 1 } }) + .fetch() + .forEach(({ _id }) => + Notifications.notifyUser(_id, 'message', rmsg), + ); } } From 2bc1714bce10dc2fb7ab90ca41ec43f67008c6fe Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Tue, 31 Mar 2020 00:29:07 -0300 Subject: [PATCH 116/223] [FIX] Apps Engine notifyRoom sending notification to wrong users (#17093) --- app/apps/server/bridges/messages.js | 39 ++++++++++++++++------------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/app/apps/server/bridges/messages.js b/app/apps/server/bridges/messages.js index 1071117d180e..cc53aa392bd4 100644 --- a/app/apps/server/bridges/messages.js +++ b/app/apps/server/bridges/messages.js @@ -59,24 +59,27 @@ export class AppMessageBridge { async notifyRoom(room, message, appId) { this.orch.debugLog(`The App ${ appId } is notifying a room's users.`); - if (room) { - const msg = this.orch.getConverters().get('messages').convertAppMessage(message); - const rmsg = Object.assign(msg, { - _id: Random.id(), - rid: room.id, - ts: new Date(), - u: undefined, - editor: undefined, - }); - - const users = Subscriptions.findByRoomIdWhenUserIdExists(room._id, { fields: { 'u._id': 1 } }) - .fetch() - .map((s) => s.u._id); - Users.findByIds(users, { fields: { _id: 1 } }) - .fetch() - .forEach(({ _id }) => - Notifications.notifyUser(_id, 'message', rmsg), - ); + if (!room || !room.id) { + return; } + + const msg = this.orch.getConverters().get('messages').convertAppMessage(message); + const rmsg = Object.assign(msg, { + _id: Random.id(), + rid: room.id, + ts: new Date(), + u: undefined, + editor: undefined, + }); + + const users = Subscriptions.findByRoomIdWhenUserIdExists(room.id, { fields: { 'u._id': 1 } }) + .fetch() + .map((s) => s.u._id); + + Users.findByIds(users, { fields: { _id: 1 } }) + .fetch() + .forEach(({ _id }) => + Notifications.notifyUser(_id, 'message', rmsg), + ); } } From fd07bcf275e0c99d124dc7c8393aae7b34e6bad0 Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Tue, 31 Mar 2020 00:34:23 -0300 Subject: [PATCH 117/223] Bump version to 3.0.9 --- .docker/Dockerfile.rhel | 2 +- .github/history.json | 20 ++++++++++++++++++++ HISTORY.md | 17 +++++++++++++++++ app/utils/rocketchat.info | 2 +- package.json | 2 +- 5 files changed, 40 insertions(+), 3 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index 1c275a564352..4c1e89dd7881 100644 --- a/.docker/Dockerfile.rhel +++ b/.docker/Dockerfile.rhel @@ -1,6 +1,6 @@ FROM registry.access.redhat.com/rhscl/nodejs-8-rhel7 -ENV RC_VERSION 3.0.8 +ENV RC_VERSION 3.0.9 MAINTAINER buildmaster@rocket.chat diff --git a/.github/history.json b/.github/history.json index 8cfc9224330c..cdc2a0f28905 100644 --- a/.github/history.json +++ b/.github/history.json @@ -40116,6 +40116,26 @@ ] } ] + }, + "3.0.9": { + "node_version": "12.14.0", + "npm_version": "6.13.4", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "17093", + "title": "[FIX] Apps Engine notifyRoom sending notification to wrong users", + "userLogin": "sampaiodiego", + "milestone": "3.0.9", + "contributors": [ + "sampaiodiego" + ] + } + ] } } } \ No newline at end of file diff --git a/HISTORY.md b/HISTORY.md index b01aa11ac67d..cfd87f2017fb 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,4 +1,21 @@ +# 3.0.9 +`2020-03-31 ยท 1 ๐Ÿ› ยท 1 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` + +### Engine versions +- Node: `12.14.0` +- NPM: `6.13.4` +- MongoDB: `3.4, 3.6, 4.0` + +### ๐Ÿ› Bug fixes + + +- Apps Engine notifyRoom sending notification to wrong users ([#17093](https://github.com/RocketChat/Rocket.Chat/pull/17093)) + +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@sampaiodiego](https://github.com/sampaiodiego) + # 3.0.8 `2020-03-30 ยท 2 ๐Ÿ› ยท 2 ๐Ÿ” ยท 4 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index 7dd2932fa497..b91fdaf87e64 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.0.8" + "version": "3.0.9" } diff --git a/package.json b/package.json index 9a22672d7af4..02d510d54f46 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Rocket.Chat", "description": "The Ultimate Open Source WebChat Platform", - "version": "3.0.8", + "version": "3.0.9", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From 6ce901d5383c581565c20a98a2945cd653606001 Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Tue, 31 Mar 2020 01:30:11 -0300 Subject: [PATCH 118/223] Bump version to 3.1.0-rc.5 --- .docker/Dockerfile.rhel | 2 +- .github/history.json | 50 +- HISTORY.md | 1713 ++++++++++++++++++++++++++++++------- app/utils/rocketchat.info | 2 +- package.json | 2 +- 5 files changed, 1436 insertions(+), 333 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index 1b0b23a34016..bd0adbbbda24 100644 --- a/.docker/Dockerfile.rhel +++ b/.docker/Dockerfile.rhel @@ -1,6 +1,6 @@ FROM registry.access.redhat.com/rhscl/nodejs-8-rhel7 -ENV RC_VERSION 3.1.0-rc.4 +ENV RC_VERSION 3.1.0-rc.5 MAINTAINER buildmaster@rocket.chat diff --git a/.github/history.json b/.github/history.json index 6085f85ba4ba..38b2712206e6 100644 --- a/.github/history.json +++ b/.github/history.json @@ -41631,6 +41631,54 @@ ] } ] + }, + "3.0.9": { + "node_version": "12.14.0", + "npm_version": "6.13.4", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "17094", + "title": "Release 3.0.9", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "17093", + "title": "[FIX] Apps Engine notifyRoom sending notification to wrong users", + "userLogin": "sampaiodiego", + "milestone": "3.0.9", + "contributors": [ + "sampaiodiego" + ] + } + ] + }, + "3.1.0-rc.5": { + "node_version": "12.16.1", + "npm_version": "6.13.4", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "17093", + "title": "[FIX] Apps Engine notifyRoom sending notification to wrong users", + "userLogin": "sampaiodiego", + "milestone": "3.0.9", + "contributors": [ + "sampaiodiego" + ] + } + ] } } -} +} \ No newline at end of file diff --git a/HISTORY.md b/HISTORY.md index e43eee68b89f..bcdf18a0766b 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,8 +1,20 @@ # 3.1.0 (Under Release Candidate Process) +## 3.1.0-rc.5 +`2020-03-31 ยท 1 ๐Ÿ› ยท 1 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` + +### ๐Ÿ› Bug fixes + + +- Apps Engine notifyRoom sending notification to wrong users ([#17093](https://github.com/RocketChat/Rocket.Chat/pull/17093)) + +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@sampaiodiego](https://github.com/sampaiodiego) + ## 3.1.0-rc.4 -`2020-03-30 ยท 4 ๐Ÿ› ยท 6 ๐Ÿ” ยท 4 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2020-03-30 ยท 2 ๐Ÿ› ยท 2 ๐Ÿ” ยท 4 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### ๐Ÿ› Bug fixes @@ -15,8 +27,6 @@ ๐Ÿ” Minor changes -- Regression: Remove model observe that was used to control the status of the Omnichannel agents ([#17078](https://github.com/RocketChat/Rocket.Chat/pull/17078)) - - Reduce notifyUser propagation ([#17088](https://github.com/RocketChat/Rocket.Chat/pull/17088)) - Regression: Check Omnichannel routing system before emitting queue changes ([#17087](https://github.com/RocketChat/Rocket.Chat/pull/17087)) @@ -131,7 +141,7 @@ - [@sampaiodiego](https://github.com/sampaiodiego) ## 3.1.0-rc.0 -`2020-03-26 ยท 18 ๐ŸŽ‰ ยท 15 ๐Ÿš€ ยท 37 ๐Ÿ› ยท 39 ๐Ÿ” ยท 34 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2020-03-26 ยท 18 ๐ŸŽ‰ ยท 16 ๐Ÿš€ ยท 57 ๐Ÿ› ยท 41 ๐Ÿ” ยท 35 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### ๐ŸŽ‰ New features @@ -159,7 +169,7 @@ - Two Factor authentication via email ([#15949](https://github.com/RocketChat/Rocket.Chat/pull/15949)) - Translation via MS translate ([#16363](https://github.com/RocketChat/Rocket.Chat/pull/16363) by [@mrsimpson](https://github.com/mrsimpson)) - Adds Microsoft's translation service (https://translator.microsoft.com/) as a provider for translation of messages. + Adds Microsoft's translation service (https://translator.microsoft.com/) as a provider for translation of messages. In addition to implementing the interface (similar to google and DeepL), a small change has been done in order to display the translation provider on the UI. - API `users.deactivateIdle` for mass-disabling of idle users ([#16849](https://github.com/RocketChat/Rocket.Chat/pull/16849)) @@ -199,6 +209,8 @@ - Accept open formarts of text, spreadsheet, presentation for upload by default ([#16502](https://github.com/RocketChat/Rocket.Chat/pull/16502)) +- Send files over REST API ([#16617](https://github.com/RocketChat/Rocket.Chat/pull/16617)) + - Added autofocus to Directory ([#16217](https://github.com/RocketChat/Rocket.Chat/pull/16217) by [@ashwaniYDV](https://github.com/ashwaniYDV)) - Added timer in video message recorder ([#16221](https://github.com/RocketChat/Rocket.Chat/pull/16221) by [@ashwaniYDV](https://github.com/ashwaniYDV)) @@ -212,6 +224,8 @@ - Wrong message count statistics in Admin info page ([#16680](https://github.com/RocketChat/Rocket.Chat/pull/16680) by [@subham103](https://github.com/subham103)) +- Race conditions on/before login ([#16989](https://github.com/RocketChat/Rocket.Chat/pull/16989)) + - CAS ignores username attribute map ([#16942](https://github.com/RocketChat/Rocket.Chat/pull/16942) by [@pmayer](https://github.com/pmayer)) - Ancestral departments were not updated when an Omnichannel room is forwarded to another department ([#16958](https://github.com/RocketChat/Rocket.Chat/pull/16958)) @@ -232,6 +246,8 @@ - Omnichannel Inquiry names not being updated when the guest name changes ([#16782](https://github.com/RocketChat/Rocket.Chat/pull/16782)) +- Keeps the agent in the room after accepting a new Omnichannel request ([#16787](https://github.com/RocketChat/Rocket.Chat/pull/16787)) + - Real-time data rendering on Omnichannel room info panel ([#16783](https://github.com/RocketChat/Rocket.Chat/pull/16783)) - Show error message if password and confirm password not equal ([#16247](https://github.com/RocketChat/Rocket.Chat/pull/16247) by [@ashwaniYDV](https://github.com/ashwaniYDV)) @@ -248,6 +264,8 @@ - Custom OAuth Bug ([#16811](https://github.com/RocketChat/Rocket.Chat/pull/16811) by [@PrajvalRaval](https://github.com/PrajvalRaval)) +- Integrations page pagination ([#16838](https://github.com/RocketChat/Rocket.Chat/pull/16838)) + - Facebook integration missing visitor data after registerGuest ([#16810](https://github.com/RocketChat/Rocket.Chat/pull/16810) by [@antkaz](https://github.com/antkaz)) - Invite links counting users already joined ([#16591](https://github.com/RocketChat/Rocket.Chat/pull/16591) by [@ritwizsinha](https://github.com/ritwizsinha)) @@ -266,10 +284,21 @@ - Slackbridge-import command doesn't work ([#16645](https://github.com/RocketChat/Rocket.Chat/pull/16645) by [@antkaz](https://github.com/antkaz)) +- Language country has been ignored on translation load ([#16757](https://github.com/RocketChat/Rocket.Chat/pull/16757)) + Languages including country variations like `pt-BR` were ignoring the country party because the user's preference has been saved in lowercase `pt-br` causing the language to not match the available languages. Now we enforce the uppercase of the country part when loading the language. + - Cannot edit Profile when Full Name is empty and not required ([#16744](https://github.com/RocketChat/Rocket.Chat/pull/16744)) +- Manual Register use correct state for determining registered ([#16726](https://github.com/RocketChat/Rocket.Chat/pull/16726)) + +- Rocket.Chat takes too long to set the username when it fails to send enrollment email ([#16723](https://github.com/RocketChat/Rocket.Chat/pull/16723)) + +- TypeError when trying to load avatar of an invalid room. ([#16699](https://github.com/RocketChat/Rocket.Chat/pull/16699)) + - Color setting editing issues ([#16706](https://github.com/RocketChat/Rocket.Chat/pull/16706)) +- ie11 support ([#16682](https://github.com/RocketChat/Rocket.Chat/pull/16682)) + - Deleting messages while searching causes the whole room chat to disappear ([#16568](https://github.com/RocketChat/Rocket.Chat/pull/16568) by [@karimelghazouly](https://github.com/karimelghazouly)) - Prune message saying `files deleted` and `messages deleted` even when singular message or file in prune ([#16322](https://github.com/RocketChat/Rocket.Chat/pull/16322) by [@ritwizsinha](https://github.com/ritwizsinha)) @@ -282,14 +311,42 @@ - There is no option to pin a thread message by admin ([#16457](https://github.com/RocketChat/Rocket.Chat/pull/16457) by [@ashwaniYDV](https://github.com/ashwaniYDV)) +- LDAP sync admin action was not syncing existent users ([#16671](https://github.com/RocketChat/Rocket.Chat/pull/16671)) + +- Check agent status when starting a new conversation with an agent assigned ([#16618](https://github.com/RocketChat/Rocket.Chat/pull/16618)) + - Additional scroll when contextual bar is open ([#16667](https://github.com/RocketChat/Rocket.Chat/pull/16667)) +- Clear unread red line when the ESC key is pressed ([#16668](https://github.com/RocketChat/Rocket.Chat/pull/16668)) + +- users.info endpoint not handling the error if the user does not exist ([#16495](https://github.com/RocketChat/Rocket.Chat/pull/16495)) + +- Admin height if the blue banner is opened ([#16629](https://github.com/RocketChat/Rocket.Chat/pull/16629)) + +- Data converters overriding fields added by apps ([#16639](https://github.com/RocketChat/Rocket.Chat/pull/16639)) + +- Block user option inside admin view ([#16626](https://github.com/RocketChat/Rocket.Chat/pull/16626)) + +- Regression: New 'app' role with no permissions when updating to 3.0.0 ([#16637](https://github.com/RocketChat/Rocket.Chat/pull/16637)) + +- Omnichannel Inquiry queues when removing chats ([#16603](https://github.com/RocketChat/Rocket.Chat/pull/16603)) + +- livechat/rooms endpoint not working with big amount of livechats ([#16623](https://github.com/RocketChat/Rocket.Chat/pull/16623)) + +- Regression: Jitsi on external window infinite loop ([#16625](https://github.com/RocketChat/Rocket.Chat/pull/16625)) + +- UiKit not updating new actionIds received as responses from actions ([#16624](https://github.com/RocketChat/Rocket.Chat/pull/16624)) +
๐Ÿ” Minor changes - Fix: 2FA DDP method not getting code on API call that doesnโ€™t requires 2FA ([#16998](https://github.com/RocketChat/Rocket.Chat/pull/16998)) +- Regression: Remove deprecated Omnichannel setting used to fetch the queue data through subscription ([#17017](https://github.com/RocketChat/Rocket.Chat/pull/17017)) + +- Regression: Replace the Omnichannel queue model observe with Stream ([#16999](https://github.com/RocketChat/Rocket.Chat/pull/16999)) + - Fix StreamCast info ([#16995](https://github.com/RocketChat/Rocket.Chat/pull/16995)) - Fix: StreamCast was not working correctly ([#16983](https://github.com/RocketChat/Rocket.Chat/pull/16983)) @@ -403,11 +460,37 @@ - [@ggazzo](https://github.com/ggazzo) - [@lolimay](https://github.com/lolimay) - [@marceloschmidt](https://github.com/marceloschmidt) +- [@pierre-lehnen-rc](https://github.com/pierre-lehnen-rc) - [@renatobecker](https://github.com/renatobecker) - [@rodrigok](https://github.com/rodrigok) - [@sampaiodiego](https://github.com/sampaiodiego) - [@tassoevan](https://github.com/tassoevan) +# 3.0.9 +`2020-03-31 ยท 1 ๐Ÿ› ยท 1 ๐Ÿ” ยท 1 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` + +### Engine versions +- Node: `12.14.0` +- NPM: `6.13.4` +- MongoDB: `3.4, 3.6, 4.0` + +### ๐Ÿ› Bug fixes + + +- Apps Engine notifyRoom sending notification to wrong users ([#17093](https://github.com/RocketChat/Rocket.Chat/pull/17093)) + +
+๐Ÿ” Minor changes + + +- Release 3.0.9 ([#17094](https://github.com/RocketChat/Rocket.Chat/pull/17094)) + +
+ +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@sampaiodiego](https://github.com/sampaiodiego) + # 3.0.8 `2020-03-30 ยท 2 ๐Ÿ› ยท 2 ๐Ÿ” ยท 4 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` @@ -558,7 +641,7 @@ - [@rodrigok](https://github.com/rodrigok) # 3.0.2 -`2020-02-21 ยท 3 ๐Ÿ› ยท 3 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2020-02-21 ยท 4 ๐Ÿ› ยท 5 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `12.14.0` @@ -572,13 +655,17 @@ - Omnichannel Inquiry queues when removing chats ([#16603](https://github.com/RocketChat/Rocket.Chat/pull/16603)) +- users.info endpoint not handling the error if the user does not exist ([#16495](https://github.com/RocketChat/Rocket.Chat/pull/16495)) + - Clear unread red line when the ESC key is pressed ([#16668](https://github.com/RocketChat/Rocket.Chat/pull/16668)) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ +- [@MarcosSpessatto](https://github.com/MarcosSpessatto) - [@gabriellsh](https://github.com/gabriellsh) - [@ggazzo](https://github.com/ggazzo) - [@renatobecker](https://github.com/renatobecker) +- [@sampaiodiego](https://github.com/sampaiodiego) # 3.0.1 `2020-02-19 ยท 7 ๐Ÿ› ยท 4 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` @@ -613,7 +700,7 @@ - [@sampaiodiego](https://github.com/sampaiodiego) # 3.0.0 -`2020-02-14 ยท 7 ๏ธ๏ธ๏ธโš ๏ธ ยท 10 ๐ŸŽ‰ ยท 11 ๐Ÿš€ ยท 32 ๐Ÿ› ยท 43 ๐Ÿ” ยท 21 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2020-02-14 ยท 7 ๏ธ๏ธ๏ธโš ๏ธ ยท 10 ๐ŸŽ‰ ยท 11 ๐Ÿš€ ยท 41 ๐Ÿ› ยท 49 ๐Ÿ” ยท 21 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `12.14.0` @@ -690,6 +777,10 @@ - Result of get avatar from url can be null ([#16123](https://github.com/RocketChat/Rocket.Chat/pull/16123)) +- `stdout` streamer infinite loop ([#16452](https://github.com/RocketChat/Rocket.Chat/pull/16452)) + +- Option to make a channel default ([#16433](https://github.com/RocketChat/Rocket.Chat/pull/16433)) + - Rooms not being marked as read sometimes ([#16397](https://github.com/RocketChat/Rocket.Chat/pull/16397)) - Container heights ([#16388](https://github.com/RocketChat/Rocket.Chat/pull/16388)) @@ -700,16 +791,30 @@ - Adding 'lang' tag ([#16375](https://github.com/RocketChat/Rocket.Chat/pull/16375)) +- App removal was moving logs to the trash collection ([#16362](https://github.com/RocketChat/Rocket.Chat/pull/16362)) + - Role tags missing - Description field explanation ([#16356](https://github.com/RocketChat/Rocket.Chat/pull/16356)) +- Invite links usage by channel owners/moderators ([#16176](https://github.com/RocketChat/Rocket.Chat/pull/16176)) + +- Unknown error when sending message if 'Set a User Name to Alias in Message' setting is enabled ([#16347](https://github.com/RocketChat/Rocket.Chat/pull/16347)) + +- Slack CSV User Importer ([#16253](https://github.com/RocketChat/Rocket.Chat/pull/16253)) + - The "click to load" text is hard-coded and not translated. ([#16142](https://github.com/RocketChat/Rocket.Chat/pull/16142) by [@ashwaniYDV](https://github.com/ashwaniYDV)) +- Integrations list without pagination and outgoing integration creation ([#16233](https://github.com/RocketChat/Rocket.Chat/pull/16233)) + +- Setup Wizard inputs and Admin Settings ([#16147](https://github.com/RocketChat/Rocket.Chat/pull/16147)) + - FileUpload.getBuffer was not working through the Apps-Engine ([#16234](https://github.com/RocketChat/Rocket.Chat/pull/16234)) - Integrations admin page ([#16183](https://github.com/RocketChat/Rocket.Chat/pull/16183)) - Readme Help wanted section ([#16197](https://github.com/RocketChat/Rocket.Chat/pull/16197)) +- User stuck after reset password ([#16184](https://github.com/RocketChat/Rocket.Chat/pull/16184)) + - auto translate cache ([#15768](https://github.com/RocketChat/Rocket.Chat/pull/15768) by [@vickyokrm](https://github.com/vickyokrm)) - Save password without confirmation ([#16060](https://github.com/RocketChat/Rocket.Chat/pull/16060) by [@ashwaniYDV](https://github.com/ashwaniYDV)) @@ -772,6 +877,10 @@ - Regression: Fix status bar margins ([#16438](https://github.com/RocketChat/Rocket.Chat/pull/16438)) +- Fix index creation for apps_logs collection ([#16401](https://github.com/RocketChat/Rocket.Chat/pull/16401)) + +- Revert message properties validation ([#16395](https://github.com/RocketChat/Rocket.Chat/pull/16395)) + - Update apps engine to 1.12.0-beta.2496 ([#16398](https://github.com/RocketChat/Rocket.Chat/pull/16398)) - Regression: App deletion wasnโ€™t returning the correct information ([#16360](https://github.com/RocketChat/Rocket.Chat/pull/16360)) @@ -780,6 +889,8 @@ - Fix Preview Docker image build ([#16379](https://github.com/RocketChat/Rocket.Chat/pull/16379)) +- Regression: Rate limiter was not working due to Meteor internal changes ([#16361](https://github.com/RocketChat/Rocket.Chat/pull/16361)) + - Fix assets download on CI ([#16352](https://github.com/RocketChat/Rocket.Chat/pull/16352)) - Send build artifacts to S3 ([#16237](https://github.com/RocketChat/Rocket.Chat/pull/16237)) @@ -792,10 +903,14 @@ - Merge master into develop & Set version to 2.5.0-develop ([#16107](https://github.com/RocketChat/Rocket.Chat/pull/16107)) +- Release 2.4.7 ([#16444](https://github.com/RocketChat/Rocket.Chat/pull/16444)) + - Fix tests ([#16469](https://github.com/RocketChat/Rocket.Chat/pull/16469)) - Regression: prevent submit modal ([#16488](https://github.com/RocketChat/Rocket.Chat/pull/16488)) +- Update presence package to 2.6.1 ([#16486](https://github.com/RocketChat/Rocket.Chat/pull/16486)) + - Regression: allow private channels to hide system messages ([#16483](https://github.com/RocketChat/Rocket.Chat/pull/16483)) - Regression: Fix uikit modal closing on click ([#16475](https://github.com/RocketChat/Rocket.Chat/pull/16475)) @@ -828,6 +943,8 @@ - Regression: UIKit missing select states: error/disabled ([#16540](https://github.com/RocketChat/Rocket.Chat/pull/16540)) +- Release 2.4.9 ([#16544](https://github.com/RocketChat/Rocket.Chat/pull/16544)) + - Regression: fix read unread messages ([#16562](https://github.com/RocketChat/Rocket.Chat/pull/16562)) - Regression: UIKit update modal actions ([#16570](https://github.com/RocketChat/Rocket.Chat/pull/16570)) @@ -1099,7 +1216,7 @@ - [@tassoevan](https://github.com/tassoevan) # 2.4.1 -`2020-01-10 ยท 2 ๐Ÿ› ยท 1 ๐Ÿ” ยท 4 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2020-01-10 ยท 3 ๐Ÿ› ยท 1 ๐Ÿ” ยท 4 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.17.0` @@ -1111,6 +1228,8 @@ - Enable apps change properties of the sender on the message as before ([#16189](https://github.com/RocketChat/Rocket.Chat/pull/16189)) +- Add missing password field back to administration area ([#16171](https://github.com/RocketChat/Rocket.Chat/pull/16171)) + - JS errors on Administration page ([#16139](https://github.com/RocketChat/Rocket.Chat/pull/16139))
@@ -1129,7 +1248,7 @@ - [@sampaiodiego](https://github.com/sampaiodiego) # 2.4.0 -`2019-12-27 ยท 4 ๐ŸŽ‰ ยท 28 ๐Ÿš€ ยท 21 ๐Ÿ› ยท 19 ๐Ÿ” ยท 21 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2019-12-27 ยท 4 ๐ŸŽ‰ ยท 28 ๐Ÿš€ ยท 29 ๐Ÿ› ยท 19 ๐Ÿ” ยท 22 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.17.0` @@ -1241,12 +1360,28 @@ - Incorrect translation key on Livechat Appearance template ([#15975](https://github.com/RocketChat/Rocket.Chat/pull/15975) by [@ritwizsinha](https://github.com/ritwizsinha)) +- Livechat Widget version 1.3.0 ([#15966](https://github.com/RocketChat/Rocket.Chat/pull/15966)) + +- Invalid Redirect URI on Custom OAuth ([#15957](https://github.com/RocketChat/Rocket.Chat/pull/15957)) + - Livechat build without NodeJS installed ([#15903](https://github.com/RocketChat/Rocket.Chat/pull/15903) by [@localguru](https://github.com/localguru)) +- Admin menu not showing after renamed integration permissions ([#15937](https://github.com/RocketChat/Rocket.Chat/pull/15937) by [@n-se](https://github.com/n-se)) + +- Administration UI issues ([#15934](https://github.com/RocketChat/Rocket.Chat/pull/15934)) + - Server crash on sync with no response ([#15919](https://github.com/RocketChat/Rocket.Chat/pull/15919)) +- Livechat permissions being overwrite on server restart ([#15915](https://github.com/RocketChat/Rocket.Chat/pull/15915)) + +- Livechat triggers not firing ([#15897](https://github.com/RocketChat/Rocket.Chat/pull/15897)) + +- Auto load image user preference ([#15895](https://github.com/RocketChat/Rocket.Chat/pull/15895)) + - Don't throw an error when a message is prevented from apps engine ([#15850](https://github.com/RocketChat/Rocket.Chat/pull/15850) by [@wreiske](https://github.com/wreiske)) +- Default value of the Livechat WebhookUrl setting ([#15898](https://github.com/RocketChat/Rocket.Chat/pull/15898)) + - Thread Replies in Search ([#15841](https://github.com/RocketChat/Rocket.Chat/pull/15841)) - Registration form was hidden when login form was disabled ([#16062](https://github.com/RocketChat/Rocket.Chat/pull/16062)) @@ -1302,6 +1437,7 @@ - [@breaking-let](https://github.com/breaking-let) - [@iannuzzelli](https://github.com/iannuzzelli) - [@localguru](https://github.com/localguru) +- [@n-se](https://github.com/n-se) - [@ritwizsinha](https://github.com/ritwizsinha) - [@wreiske](https://github.com/wreiske) - [@zdumitru](https://github.com/zdumitru) @@ -1394,7 +1530,7 @@ - [@tassoevan](https://github.com/tassoevan) # 2.3.0 -`2019-11-27 ยท 13 ๐ŸŽ‰ ยท 17 ๐Ÿš€ ยท 26 ๐Ÿ› ยท 19 ๐Ÿ” ยท 25 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2019-11-27 ยท 13 ๐ŸŽ‰ ยท 17 ๐Ÿš€ ยท 26 ๐Ÿ› ยท 17 ๐Ÿ” ยท 17 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.15.1` @@ -1526,8 +1662,6 @@ ๐Ÿ” Minor changes -- Release 2.2.0 ([#15681](https://github.com/RocketChat/Rocket.Chat/pull/15681) by [@Montel](https://github.com/Montel) & [@antkaz](https://github.com/antkaz) & [@hmagarotto](https://github.com/hmagarotto) & [@nstseek](https://github.com/nstseek) & [@oguhpereira](https://github.com/oguhpereira) & [@rodrigokamada](https://github.com/rodrigokamada) & [@yusukeh0710](https://github.com/yusukeh0710)) - - LingoHub based on develop ([#15822](https://github.com/RocketChat/Rocket.Chat/pull/15822)) - [REGRESSION] Add livechat room type to the room's file list ([#15795](https://github.com/RocketChat/Rocket.Chat/pull/15795)) @@ -1554,8 +1688,6 @@ - Merge master into develop & Set version to 2.3.0-develop ([#15683](https://github.com/RocketChat/Rocket.Chat/pull/15683)) -- Release 2.2.0 ([#15681](https://github.com/RocketChat/Rocket.Chat/pull/15681) by [@Montel](https://github.com/Montel) & [@antkaz](https://github.com/antkaz) & [@hmagarotto](https://github.com/hmagarotto) & [@nstseek](https://github.com/nstseek) & [@oguhpereira](https://github.com/oguhpereira) & [@rodrigokamada](https://github.com/rodrigokamada) & [@yusukeh0710](https://github.com/yusukeh0710)) - - Fix Livechat duplicated templates error ([#15869](https://github.com/RocketChat/Rocket.Chat/pull/15869)) - Improvements to random password field on user edit/creation ([#15870](https://github.com/RocketChat/Rocket.Chat/pull/15870)) @@ -1569,27 +1701,19 @@ ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜ - [@Exordian](https://github.com/Exordian) -- [@Montel](https://github.com/Montel) -- [@antkaz](https://github.com/antkaz) -- [@hmagarotto](https://github.com/hmagarotto) - [@mpdbl](https://github.com/mpdbl) - [@nstseek](https://github.com/nstseek) -- [@oguhpereira](https://github.com/oguhpereira) - [@rajvaibhavdubey](https://github.com/rajvaibhavdubey) -- [@rodrigokamada](https://github.com/rodrigokamada) - [@tatosjb](https://github.com/tatosjb) -- [@yusukeh0710](https://github.com/yusukeh0710) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ - [@MarcosSpessatto](https://github.com/MarcosSpessatto) - [@MartinSchoeler](https://github.com/MartinSchoeler) - [@d-gubert](https://github.com/d-gubert) -- [@engelgabriel](https://github.com/engelgabriel) - [@gabriellsh](https://github.com/gabriellsh) - [@geekgonecrazy](https://github.com/geekgonecrazy) - [@ggazzo](https://github.com/ggazzo) -- [@mar-v](https://github.com/mar-v) - [@mariaeduardacunha](https://github.com/mariaeduardacunha) - [@pierre-lehnen-rc](https://github.com/pierre-lehnen-rc) - [@renatobecker](https://github.com/renatobecker) @@ -1598,15 +1722,27 @@ - [@tassoevan](https://github.com/tassoevan) # 2.2.1 -`2019-11-19` +`2019-11-19 ยท 2 ๐Ÿ› ยท 2 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.15.1` - NPM: `6.9.0` - MongoDB: `3.4, 3.6, 4.0` +### ๐Ÿ› Bug fixes + + +- Markdown link parser ([#15794](https://github.com/RocketChat/Rocket.Chat/pull/15794)) + +- Updating an app via "Update" button errors out with "App already exists" ([#15814](https://github.com/RocketChat/Rocket.Chat/pull/15814)) + +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@d-gubert](https://github.com/d-gubert) +- [@ggazzo](https://github.com/ggazzo) + # 2.2.0 -`2019-10-27 ยท 14 ๐ŸŽ‰ ยท 16 ๐Ÿš€ ยท 22 ๐Ÿ› ยท 27 ๐Ÿ” ยท 27 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2019-10-27 ยท 14 ๐ŸŽ‰ ยท 16 ๐Ÿš€ ยท 24 ๐Ÿ› ยท 28 ๐Ÿ” ยท 27 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.15.1` @@ -1690,6 +1826,10 @@ - adjustments for tooltips to show room name instead of id ([#14084](https://github.com/RocketChat/Rocket.Chat/pull/14084) by [@mohamedar97](https://github.com/mohamedar97)) +- Read Recepts was not working ([#15603](https://github.com/RocketChat/Rocket.Chat/pull/15603)) + +- Dynamic import of JS files were not working correctly ([#15598](https://github.com/RocketChat/Rocket.Chat/pull/15598)) + - Deny editing visitor's phone number in SMS conversations ([#15602](https://github.com/RocketChat/Rocket.Chat/pull/15602)) - Incorrect display of the button "Invite users" ([#15594](https://github.com/RocketChat/Rocket.Chat/pull/15594)) @@ -1784,6 +1924,8 @@ - Merge master into develop ([#15680](https://github.com/RocketChat/Rocket.Chat/pull/15680) by [@knrt10](https://github.com/knrt10)) +- Release 2.1.2 ([#15667](https://github.com/RocketChat/Rocket.Chat/pull/15667) by [@knrt10](https://github.com/knrt10)) +
### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜ @@ -1820,13 +1962,25 @@ - [@tassoevan](https://github.com/tassoevan) # 2.1.3 -`2019-11-19` +`2019-11-19 ยท 2 ๐Ÿ› ยท 2 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.15.1` - NPM: `6.9.0` - MongoDB: `3.4, 3.6, 4.0` +### ๐Ÿ› Bug fixes + + +- Markdown link parser ([#15794](https://github.com/RocketChat/Rocket.Chat/pull/15794)) + +- Updating an app via "Update" button errors out with "App already exists" ([#15814](https://github.com/RocketChat/Rocket.Chat/pull/15814)) + +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@d-gubert](https://github.com/d-gubert) +- [@ggazzo](https://github.com/ggazzo) + # 2.1.2 `2019-10-25 ยท 3 ๐Ÿ› ยท 1 ๐Ÿ” ยท 4 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` @@ -2075,15 +2229,27 @@ - [@tassoevan](https://github.com/tassoevan) # 2.0.1 -`2019-11-19` +`2019-11-19 ยท 2 ๐Ÿ› ยท 2 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.11.4` - NPM: `6.4.1` - MongoDB: `3.4, 3.6, 4.0` +### ๐Ÿ› Bug fixes + + +- Markdown link parser ([#15794](https://github.com/RocketChat/Rocket.Chat/pull/15794)) + +- Updating an app via "Update" button errors out with "App already exists" ([#15814](https://github.com/RocketChat/Rocket.Chat/pull/15814)) + +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@d-gubert](https://github.com/d-gubert) +- [@ggazzo](https://github.com/ggazzo) + # 2.0.0 -`2019-09-12 ยท 7 ๏ธ๏ธ๏ธโš ๏ธ ยท 14 ๐ŸŽ‰ ยท 6 ๐Ÿš€ ยท 16 ๐Ÿ› ยท 36 ๐Ÿ” ยท 26 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2019-09-12 ยท 7 ๏ธ๏ธ๏ธโš ๏ธ ยท 14 ๐ŸŽ‰ ยท 6 ๐Ÿš€ ยท 19 ๐Ÿ› ยท 39 ๐Ÿ” ยท 26 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.11.4` @@ -2176,6 +2342,12 @@ - TabBar not loading template titles ([#15177](https://github.com/RocketChat/Rocket.Chat/pull/15177) by [@Hudell](https://github.com/Hudell)) +- Attachment download button behavior ([#15172](https://github.com/RocketChat/Rocket.Chat/pull/15172)) + +- Messages search scroll ([#15175](https://github.com/RocketChat/Rocket.Chat/pull/15175)) + +- IE11 - callback createTreeWalker doesnt accept acceptNode ([#15157](https://github.com/RocketChat/Rocket.Chat/pull/15157)) + - Threads contextual bar button visible even with threads disabled ([#14956](https://github.com/RocketChat/Rocket.Chat/pull/14956) by [@cesarmal](https://github.com/cesarmal)) - Prevent to create discussion with empty name ([#14507](https://github.com/RocketChat/Rocket.Chat/pull/14507)) @@ -2192,6 +2364,8 @@ ๐Ÿ” Minor changes +- Release 1.3.2 ([#15176](https://github.com/RocketChat/Rocket.Chat/pull/15176)) + - LingoHub based on develop ([#15218](https://github.com/RocketChat/Rocket.Chat/pull/15218)) - Regression: fix typo permisson to permission ([#15217](https://github.com/RocketChat/Rocket.Chat/pull/15217)) @@ -2206,6 +2380,10 @@ - Update presence package ([#15178](https://github.com/RocketChat/Rocket.Chat/pull/15178)) +- Update latest Livechat widget version to 1.1.4 ([#15173](https://github.com/RocketChat/Rocket.Chat/pull/15173)) + +- Update latest Livechat widget version(1.1.3) ([#15154](https://github.com/RocketChat/Rocket.Chat/pull/15154)) + - LingoHub based on develop ([#15166](https://github.com/RocketChat/Rocket.Chat/pull/15166)) - Switch outdated roadmap to point to milestones ([#15156](https://github.com/RocketChat/Rocket.Chat/pull/15156)) @@ -2355,7 +2533,7 @@ - [@tassoevan](https://github.com/tassoevan) # 1.3.1 -`2019-08-08 ยท 2 ๐Ÿ› ยท 1 ๐Ÿ” ยท 3 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2019-08-08 ยท 2 ๐Ÿ› ยท 2 ๐Ÿ” ยท 3 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.11.4` @@ -2375,6 +2553,8 @@ - Release 1.3.1 ([#15148](https://github.com/RocketChat/Rocket.Chat/pull/15148)) +- Fix custom auth ([#15141](https://github.com/RocketChat/Rocket.Chat/pull/15141)) +
### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -2384,7 +2564,7 @@ - [@sampaiodiego](https://github.com/sampaiodiego) # 1.3.0 -`2019-08-02 ยท 9 ๐ŸŽ‰ ยท 6 ๐Ÿš€ ยท 31 ๐Ÿ› ยท 31 ๐Ÿ” ยท 29 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2019-08-02 ยท 9 ๐ŸŽ‰ ยท 6 ๐Ÿš€ ยท 32 ๐Ÿ› ยท 32 ๐Ÿ” ยท 29 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.11.4` @@ -2492,10 +2672,14 @@ - setupWizard calling multiple getSetupWizardParameters ([#15060](https://github.com/RocketChat/Rocket.Chat/pull/15060)) +- Not sanitized message types ([#15054](https://github.com/RocketChat/Rocket.Chat/pull/15054)) +
๐Ÿ” Minor changes +- Release 1.2.1 ([#14898](https://github.com/RocketChat/Rocket.Chat/pull/14898)) + - Wrong text when reporting a message ([#14515](https://github.com/RocketChat/Rocket.Chat/pull/14515) by [@zdumitru](https://github.com/zdumitru)) - Add missing French translation ([#15013](https://github.com/RocketChat/Rocket.Chat/pull/15013) by [@commiaI](https://github.com/commiaI)) @@ -2596,21 +2780,42 @@ - [@tassoevan](https://github.com/tassoevan) # 1.2.4 -`2019-08-08` +`2019-08-08 ยท 1 ๐Ÿ” ยท 1 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.11.4` - NPM: `6.4.1` - MongoDB: `3.2, 3.4, 3.6, 4.0` +
+๐Ÿ” Minor changes + + +- Fix custom auth ([#15141](https://github.com/RocketChat/Rocket.Chat/pull/15141)) + +
+ +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@MarcosSpessatto](https://github.com/MarcosSpessatto) + # 1.2.2 -`2019-07-29` +`2019-07-29 ยท 1 ๐Ÿ› ยท 1 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.11.4` - NPM: `6.4.1` - MongoDB: `3.2, 3.4, 3.6, 4.0` +### ๐Ÿ› Bug fixes + + +- Not sanitized message types ([#15054](https://github.com/RocketChat/Rocket.Chat/pull/15054)) + +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@ggazzo](https://github.com/ggazzo) + # 1.2.1 `2019-06-28 ยท 1 ๐Ÿ› ยท 1 ๐Ÿ” ยท 2 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` @@ -2638,7 +2843,7 @@ - [@sampaiodiego](https://github.com/sampaiodiego) # 1.2.0 -`2019-06-27 ยท 8 ๐ŸŽ‰ ยท 4 ๐Ÿš€ ยท 12 ๐Ÿ› ยท 8 ๐Ÿ” ยท 21 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2019-06-27 ยท 8 ๐ŸŽ‰ ยท 4 ๐Ÿš€ ยท 13 ๐Ÿ› ยท 9 ๐Ÿ” ยท 21 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.11.4` @@ -2682,6 +2887,8 @@ - Removes E2E action button, icon and banner when E2E is disabled. ([#14810](https://github.com/RocketChat/Rocket.Chat/pull/14810)) +- Gap of messages when loading history when using threads ([#14837](https://github.com/RocketChat/Rocket.Chat/pull/14837)) + - Assume microphone is available ([#14710](https://github.com/RocketChat/Rocket.Chat/pull/14710)) - Move the set Avatar call on user creation to make sure the user has username ([#14665](https://github.com/RocketChat/Rocket.Chat/pull/14665)) @@ -2706,6 +2913,8 @@ ๐Ÿ” Minor changes +- Regression: thread loading parent msg if is not loaded ([#14839](https://github.com/RocketChat/Rocket.Chat/pull/14839)) + - Fix not fully extracted pieces ([#14805](https://github.com/RocketChat/Rocket.Chat/pull/14805)) - Regression: Fix file upload ([#14804](https://github.com/RocketChat/Rocket.Chat/pull/14804)) @@ -2752,21 +2961,42 @@ - [@tassoevan](https://github.com/tassoevan) # 1.1.5 -`2019-08-08` +`2019-08-08 ยท 1 ๐Ÿ” ยท 1 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.11.4` - NPM: `6.4.1` - MongoDB: `3.2, 3.4, 3.6, 4.0` +
+๐Ÿ” Minor changes + + +- Fix custom auth ([#15141](https://github.com/RocketChat/Rocket.Chat/pull/15141)) + +
+ +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@MarcosSpessatto](https://github.com/MarcosSpessatto) + # 1.1.4 -`2019-07-29` +`2019-07-29 ยท 1 ๐Ÿ› ยท 1 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.11.4` - NPM: `6.4.1` - MongoDB: `3.2, 3.4, 3.6, 4.0` +### ๐Ÿ› Bug fixes + + +- Not sanitized message types ([#15054](https://github.com/RocketChat/Rocket.Chat/pull/15054)) + +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@ggazzo](https://github.com/ggazzo) + # 1.1.3 `2019-06-21 ยท 1 ๐Ÿ› ยท 2 ๐Ÿ” ยท 2 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` @@ -2863,7 +3093,7 @@ - [@ggazzo](https://github.com/ggazzo) # 1.1.0 -`2019-05-27 ยท 5 ๐ŸŽ‰ ยท 10 ๐Ÿš€ ยท 52 ๐Ÿ› ยท 35 ๐Ÿ” ยท 27 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2019-05-27 ยท 5 ๐ŸŽ‰ ยท 10 ๐Ÿš€ ยท 59 ๐Ÿ› ยท 35 ๐Ÿ” ยท 28 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.11.4` @@ -2999,6 +3229,20 @@ - New day separator overlapping above system message ([#14362](https://github.com/RocketChat/Rocket.Chat/pull/14362)) +- Popup cloud console in new window ([#14296](https://github.com/RocketChat/Rocket.Chat/pull/14296)) + +- Switch oplog required doc link to more accurate link ([#14288](https://github.com/RocketChat/Rocket.Chat/pull/14288)) + +- Optional exit on Unhandled Promise Rejection ([#14291](https://github.com/RocketChat/Rocket.Chat/pull/14291)) + +- Error when accessing avatar with no token ([#14293](https://github.com/RocketChat/Rocket.Chat/pull/14293)) + +- Startup error in registration check ([#14286](https://github.com/RocketChat/Rocket.Chat/pull/14286)) + +- Wrong header at Apps admin section ([#14290](https://github.com/RocketChat/Rocket.Chat/pull/14290)) + +- Error when accessing an invalid file upload url ([#14282](https://github.com/RocketChat/Rocket.Chat/pull/14282) by [@wreiske](https://github.com/wreiske)) + - E2E messages not decrypting in message threads ([#14580](https://github.com/RocketChat/Rocket.Chat/pull/14580)) - Send replyTo for livechat offline messages ([#14568](https://github.com/RocketChat/Rocket.Chat/pull/14568)) @@ -3114,6 +3358,7 @@ - [@MarcosSpessatto](https://github.com/MarcosSpessatto) - [@alansikora](https://github.com/alansikora) +- [@d-gubert](https://github.com/d-gubert) - [@engelgabriel](https://github.com/engelgabriel) - [@geekgonecrazy](https://github.com/geekgonecrazy) - [@ggazzo](https://github.com/ggazzo) @@ -3293,7 +3538,7 @@ - [@rodrigok](https://github.com/rodrigok) # 1.0.0 -`2019-04-28 ยท 4 ๏ธ๏ธ๏ธโš ๏ธ ยท 30 ๐ŸŽ‰ ยท 32 ๐Ÿš€ ยท 97 ๐Ÿ› ยท 173 ๐Ÿ” ยท 60 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2019-04-28 ยท 4 ๏ธ๏ธ๏ธโš ๏ธ ยท 34 ๐ŸŽ‰ ยท 33 ๐Ÿš€ ยท 107 ๐Ÿ› ยท 174 ๐Ÿ” ยท 60 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.11.4` @@ -3346,6 +3591,14 @@ - User avatars from external source ([#7929](https://github.com/RocketChat/Rocket.Chat/pull/7929) by [@mjovanovic0](https://github.com/mjovanovic0)) +- Limit all DDP/Websocket requests (configurable via admin panel) ([#13311](https://github.com/RocketChat/Rocket.Chat/pull/13311)) + +- REST endpoint to forward livechat rooms ([#13308](https://github.com/RocketChat/Rocket.Chat/pull/13308)) + +- Collect data for Monthly/Daily Active Users for a future dashboard ([#11525](https://github.com/RocketChat/Rocket.Chat/pull/11525)) + +- Add parseUrls field to the apps message converter ([#13248](https://github.com/RocketChat/Rocket.Chat/pull/13248)) + - Add an option to delete file in files list ([#13815](https://github.com/RocketChat/Rocket.Chat/pull/13815)) - Threads V 1.0 ([#13996](https://github.com/RocketChat/Rocket.Chat/pull/13996)) @@ -3415,6 +3668,8 @@ - Update deleteUser errors to be more semantic ([#12380](https://github.com/RocketChat/Rocket.Chat/pull/12380) by [@timkinnane](https://github.com/timkinnane)) +- Send `uniqueID` to all clients so Jitsi rooms can be created correctly ([#13342](https://github.com/RocketChat/Rocket.Chat/pull/13342)) + - Line height on static content pages ([#11673](https://github.com/RocketChat/Rocket.Chat/pull/11673) by [@timkinnane](https://github.com/timkinnane)) - new icons ([#13289](https://github.com/RocketChat/Rocket.Chat/pull/13289)) @@ -3568,6 +3823,26 @@ - Fixed text for "bulk-register-user" ([#11558](https://github.com/RocketChat/Rocket.Chat/pull/11558) by [@the4ndy](https://github.com/the4ndy)) +- Pass token for cloud register ([#13350](https://github.com/RocketChat/Rocket.Chat/pull/13350)) + +- Setup wizard calling 'saveSetting' for each field/setting ([#13349](https://github.com/RocketChat/Rocket.Chat/pull/13349)) + +- Rate Limiter was limiting communication between instances ([#13326](https://github.com/RocketChat/Rocket.Chat/pull/13326)) + +- Mobile view and re-enable E2E tests ([#13322](https://github.com/RocketChat/Rocket.Chat/pull/13322)) + +- Hipchat Enterprise Importer not generating subscriptions ([#13293](https://github.com/RocketChat/Rocket.Chat/pull/13293) by [@Hudell](https://github.com/Hudell)) + +- Message updating by Apps ([#13294](https://github.com/RocketChat/Rocket.Chat/pull/13294)) + +- REST endpoint for creating custom emojis ([#13306](https://github.com/RocketChat/Rocket.Chat/pull/13306)) + +- Preview of image uploads were not working when apps framework is enable ([#13303](https://github.com/RocketChat/Rocket.Chat/pull/13303)) + +- HipChat Enterprise importer fails when importing a large amount of messages (millions) ([#13221](https://github.com/RocketChat/Rocket.Chat/pull/13221) by [@Hudell](https://github.com/Hudell)) + +- Fix bug when user try recreate channel or group with same name and remove room from cache when user leaves room ([#12341](https://github.com/RocketChat/Rocket.Chat/pull/12341)) + - Closing sidebar when room menu is clicked. ([#13842](https://github.com/RocketChat/Rocket.Chat/pull/13842) by [@Kailash0311](https://github.com/Kailash0311)) - Check settings for name requirement before validating ([#14021](https://github.com/RocketChat/Rocket.Chat/pull/14021)) @@ -3840,6 +4115,8 @@ - Removed old templates ([#13406](https://github.com/RocketChat/Rocket.Chat/pull/13406)) +- Fix: Missing export in cloud package ([#13282](https://github.com/RocketChat/Rocket.Chat/pull/13282)) + - Add pagination to getUsersOfRoom ([#12834](https://github.com/RocketChat/Rocket.Chat/pull/12834) by [@Hudell](https://github.com/Hudell)) - OpenShift custom OAuth support ([#13925](https://github.com/RocketChat/Rocket.Chat/pull/13925) by [@bsharrow](https://github.com/bsharrow)) @@ -4213,7 +4490,7 @@ - [@tassoevan](https://github.com/tassoevan) # 0.74.0 -`2019-01-28 ยท 10 ๐ŸŽ‰ ยท 11 ๐Ÿš€ ยท 17 ๐Ÿ› ยท 38 ๐Ÿ” ยท 24 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2019-01-28 ยท 11 ๐ŸŽ‰ ยท 11 ๐Ÿš€ ยท 15 ๐Ÿ› ยท 36 ๐Ÿ” ยท 22 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.11.4` @@ -4243,6 +4520,8 @@ - Add Allow Methods directive to CORS ([#13073](https://github.com/RocketChat/Rocket.Chat/pull/13073)) +- Cloud Integration ([#13013](https://github.com/RocketChat/Rocket.Chat/pull/13013)) + ### ๐Ÿš€ Improvements @@ -4271,10 +4550,6 @@ ### ๐Ÿ› Bug fixes -- Few polish translating ([#13112](https://github.com/RocketChat/Rocket.Chat/pull/13112) by [@theundefined](https://github.com/theundefined)) - -- Few polish translating ([#13112](https://github.com/RocketChat/Rocket.Chat/pull/13112) by [@theundefined](https://github.com/theundefined)) - - Update Message: Does not show edited when message was not edited. ([#13053](https://github.com/RocketChat/Rocket.Chat/pull/13053) by [@Kailash0311](https://github.com/Kailash0311)) - Notifications for mentions not working on large rooms and don't emit desktop notifications for offline users ([#13067](https://github.com/RocketChat/Rocket.Chat/pull/13067)) @@ -4311,8 +4586,6 @@ - Release 0.74.0 ([#13270](https://github.com/RocketChat/Rocket.Chat/pull/13270) by [@Xuhao](https://github.com/Xuhao) & [@supra08](https://github.com/supra08)) -- Regression: Fix message pinning ([#13213](https://github.com/RocketChat/Rocket.Chat/pull/13213) by [@TkTech](https://github.com/TkTech)) - - LingoHub based on develop ([#13201](https://github.com/RocketChat/Rocket.Chat/pull/13201)) - Language: Edit typo "ะžะฑะฝะพะฒะปะธั‚ัŒ" ([#13177](https://github.com/RocketChat/Rocket.Chat/pull/13177) by [@zpavlig](https://github.com/zpavlig)) @@ -4379,8 +4652,6 @@ - Regression: Fix audio message upload ([#13224](https://github.com/RocketChat/Rocket.Chat/pull/13224)) -- Regression: Fix message pinning ([#13213](https://github.com/RocketChat/Rocket.Chat/pull/13213) by [@TkTech](https://github.com/TkTech)) - - Regression: Fix emoji search ([#13207](https://github.com/RocketChat/Rocket.Chat/pull/13207)) - Change apps engine persistence bridge method to updateByAssociations ([#13239](https://github.com/RocketChat/Rocket.Chat/pull/13239)) @@ -4392,7 +4663,6 @@ - [@Hudell](https://github.com/Hudell) - [@Jeroeny](https://github.com/Jeroeny) - [@Kailash0311](https://github.com/Kailash0311) -- [@TkTech](https://github.com/TkTech) - [@Xuhao](https://github.com/Xuhao) - [@alexbartsch](https://github.com/alexbartsch) - [@behnejad](https://github.com/behnejad) @@ -4400,7 +4670,6 @@ - [@ohmonster](https://github.com/ohmonster) - [@piotrkochan](https://github.com/piotrkochan) - [@supra08](https://github.com/supra08) -- [@theundefined](https://github.com/theundefined) - [@zpavlig](https://github.com/zpavlig) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -4475,12 +4744,17 @@ - [@sampaiodiego](https://github.com/sampaiodiego) # 0.73.0 -`2018-12-28 ยท 10 ๐ŸŽ‰ ยท 9 ๐Ÿš€ ยท 34 ๐Ÿ› ยท 84 ๐Ÿ” ยท 26 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2018-12-28 ยท 1 ๏ธ๏ธ๏ธโš ๏ธ ยท 16 ๐ŸŽ‰ ยท 25 ๐Ÿš€ ยท 60 ๐Ÿ› ยท 165 ๐Ÿ” ยท 39 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.11.4` - NPM: `6.4.1` +### โš ๏ธ BREAKING CHANGES + + +- Update to Meteor to 1.8 ([#12468](https://github.com/RocketChat/Rocket.Chat/pull/12468)) + ### ๐ŸŽ‰ New features @@ -4504,6 +4778,18 @@ - Include message type & id in push notification payload ([#12771](https://github.com/RocketChat/Rocket.Chat/pull/12771) by [@cardoso](https://github.com/cardoso)) +- Add permission to enable personal access token to specific roles ([#12309](https://github.com/RocketChat/Rocket.Chat/pull/12309)) + +- Option to reset e2e key ([#12483](https://github.com/RocketChat/Rocket.Chat/pull/12483) by [@Hudell](https://github.com/Hudell)) + +- /api/v1/spotlight: return joinCodeRequired field for rooms ([#12651](https://github.com/RocketChat/Rocket.Chat/pull/12651) by [@cardoso](https://github.com/cardoso)) + +- New API Endpoints for the new version of JS SDK ([#12623](https://github.com/RocketChat/Rocket.Chat/pull/12623)) + +- Setting to configure robots.txt content ([#12547](https://github.com/RocketChat/Rocket.Chat/pull/12547) by [@Hudell](https://github.com/Hudell)) + +- Make Livechat's widget draggable ([#12378](https://github.com/RocketChat/Rocket.Chat/pull/12378)) + ### ๐Ÿš€ Improvements @@ -4525,6 +4811,38 @@ - Username suggestion logic ([#12779](https://github.com/RocketChat/Rocket.Chat/pull/12779)) +- Allow apps to update persistence by association ([#12714](https://github.com/RocketChat/Rocket.Chat/pull/12714)) + +- Add more methods to deal with rooms via Rocket.Chat.Apps ([#12680](https://github.com/RocketChat/Rocket.Chat/pull/12680)) + +- Better query for finding subscriptions that need a new E2E Key ([#12692](https://github.com/RocketChat/Rocket.Chat/pull/12692) by [@Hudell](https://github.com/Hudell)) + +- Improve unreads and unreadsFrom response, prevent it to be equal null ([#12563](https://github.com/RocketChat/Rocket.Chat/pull/12563)) + +- Add rooms property in user object, if the user has the permission, with rooms roles ([#12105](https://github.com/RocketChat/Rocket.Chat/pull/12105)) + +- border-radius to use --border-radius ([#12675](https://github.com/RocketChat/Rocket.Chat/pull/12675)) + +- Update the 'keyboard shortcuts' documentation ([#12564](https://github.com/RocketChat/Rocket.Chat/pull/12564) by [@nicolasbock](https://github.com/nicolasbock)) + +- Add new acceptable header for Livechat REST requests ([#12561](https://github.com/RocketChat/Rocket.Chat/pull/12561)) + +- Atlassian Crowd settings and option to sync user data ([#12616](https://github.com/RocketChat/Rocket.Chat/pull/12616)) + +- CircleCI to use MongoDB 4.0 for testing ([#12618](https://github.com/RocketChat/Rocket.Chat/pull/12618)) + +- Japanese translations ([#12382](https://github.com/RocketChat/Rocket.Chat/pull/12382) by [@ura14h](https://github.com/ura14h)) + +- Add CTRL modifier for keyboard shortcut ([#12525](https://github.com/RocketChat/Rocket.Chat/pull/12525) by [@nicolasbock](https://github.com/nicolasbock)) + +- Ignore non-existent Livechat custom fields on Livechat API ([#12522](https://github.com/RocketChat/Rocket.Chat/pull/12522)) + +- Emoji search on messageBox behaving like emojiPicker's search (#9607) ([#12452](https://github.com/RocketChat/Rocket.Chat/pull/12452) by [@vinade](https://github.com/vinade)) + +- German translations ([#12471](https://github.com/RocketChat/Rocket.Chat/pull/12471) by [@mrsimpson](https://github.com/mrsimpson)) + +- Limit the number of typing users shown (#8722) ([#12400](https://github.com/RocketChat/Rocket.Chat/pull/12400) by [@vinade](https://github.com/vinade)) + ### ๐Ÿ› Bug fixes @@ -4586,6 +4904,12 @@ - Version check update notification ([#12905](https://github.com/RocketChat/Rocket.Chat/pull/12905)) +- line-height for unread bar buttons (jump to first and mark as read) ([#12900](https://github.com/RocketChat/Rocket.Chat/pull/12900)) + +- PDF view loading indicator ([#12882](https://github.com/RocketChat/Rocket.Chat/pull/12882)) + +- Reset password email ([#12898](https://github.com/RocketChat/Rocket.Chat/pull/12898)) + - Data Import not working ([#12866](https://github.com/RocketChat/Rocket.Chat/pull/12866) by [@Hudell](https://github.com/Hudell)) - Incorrect parameter name in Livechat stream ([#12851](https://github.com/RocketChat/Rocket.Chat/pull/12851)) @@ -4594,12 +4918,62 @@ - Google Cloud Storage storage provider ([#12843](https://github.com/RocketChat/Rocket.Chat/pull/12843)) +- Update caret position on insert a new line in message box ([#12713](https://github.com/RocketChat/Rocket.Chat/pull/12713)) + +- DE translation for idle-time-limit ([#12637](https://github.com/RocketChat/Rocket.Chat/pull/12637) by [@pfuender](https://github.com/pfuender)) + +- Fixed Anonymous Registration ([#12633](https://github.com/RocketChat/Rocket.Chat/pull/12633) by [@wreiske](https://github.com/wreiske)) + +- high cpu usage ~ svg icon ([#12677](https://github.com/RocketChat/Rocket.Chat/pull/12677) by [@ph1p](https://github.com/ph1p)) + +- Fix favico error ([#12643](https://github.com/RocketChat/Rocket.Chat/pull/12643)) + +- Condition to not render PDF preview ([#12632](https://github.com/RocketChat/Rocket.Chat/pull/12632)) + +- Admin styles ([#12614](https://github.com/RocketChat/Rocket.Chat/pull/12614)) + +- Admin styles ([#12602](https://github.com/RocketChat/Rocket.Chat/pull/12602)) + +- Change registration message when user need to confirm email ([#9336](https://github.com/RocketChat/Rocket.Chat/pull/9336) by [@karlprieb](https://github.com/karlprieb)) + +- Import missed file in rocketchat-authorization ([#12570](https://github.com/RocketChat/Rocket.Chat/pull/12570)) + +- Prevent subscriptions and calls to rooms events that the user is not participating ([#12558](https://github.com/RocketChat/Rocket.Chat/pull/12558)) + +- Wrong test case for `users.setAvatar` endpoint ([#12539](https://github.com/RocketChat/Rocket.Chat/pull/12539)) + +- Spotlight method being called multiple times ([#12536](https://github.com/RocketChat/Rocket.Chat/pull/12536)) + +- German translation for for API_EmbedIgnoredHosts label ([#12518](https://github.com/RocketChat/Rocket.Chat/pull/12518) by [@mbrodala](https://github.com/mbrodala)) + +- Handle all events for enter key in message box ([#12507](https://github.com/RocketChat/Rocket.Chat/pull/12507)) + +- Fix wrong parameter in chat.delete endpoint and add some test cases ([#12408](https://github.com/RocketChat/Rocket.Chat/pull/12408)) + +- Email sending with GDPR user data ([#12487](https://github.com/RocketChat/Rocket.Chat/pull/12487)) + +- Manage own integrations permissions check ([#12397](https://github.com/RocketChat/Rocket.Chat/pull/12397)) + +- stream room-changed ([#12411](https://github.com/RocketChat/Rocket.Chat/pull/12411)) + +- Emoji picker is not in viewport on small screens ([#12457](https://github.com/RocketChat/Rocket.Chat/pull/12457) by [@ramrami](https://github.com/ramrami)) + +- `Disabled` word translation to Spanish ([#12406](https://github.com/RocketChat/Rocket.Chat/pull/12406) by [@Ismaw34](https://github.com/Ismaw34)) + +- `Disabled` word translation to Chinese ([#12260](https://github.com/RocketChat/Rocket.Chat/pull/12260) by [@AndreamApp](https://github.com/AndreamApp)) + +- Correct roomName value in Mail Messages (#12363) ([#12453](https://github.com/RocketChat/Rocket.Chat/pull/12453) by [@vinade](https://github.com/vinade)) + - Download files without extension wasn't possible ([#13033](https://github.com/RocketChat/Rocket.Chat/pull/13033))
๐Ÿ” Minor changes +- Release 0.72.3 ([#12932](https://github.com/RocketChat/Rocket.Chat/pull/12932) by [@Hudell](https://github.com/Hudell) & [@piotrkochan](https://github.com/piotrkochan)) + +- Release 0.72.2 ([#12901](https://github.com/RocketChat/Rocket.Chat/pull/12901)) + - LingoHub based on develop ([#13014](https://github.com/RocketChat/Rocket.Chat/pull/13014)) - Move isFirefox and isChrome functions to rocketchat-utils ([#13011](https://github.com/RocketChat/Rocket.Chat/pull/13011)) @@ -4762,102 +5136,275 @@ - Merge master into develop & Set version to 0.73.0-develop ([#12776](https://github.com/RocketChat/Rocket.Chat/pull/12776)) -- Change `chat.getDeletedMessages` to get messages after informed date and return only message's _id ([#13021](https://github.com/RocketChat/Rocket.Chat/pull/13021)) +- Update Apps Engine to 1.3.1 ([#12741](https://github.com/RocketChat/Rocket.Chat/pull/12741)) -- Improve Importer code quality ([#13020](https://github.com/RocketChat/Rocket.Chat/pull/13020) by [@Hudell](https://github.com/Hudell)) +- Regression: Expand Administration sections by toggling section title ([#12736](https://github.com/RocketChat/Rocket.Chat/pull/12736)) -- Regression: List of custom emojis wasn't working ([#13031](https://github.com/RocketChat/Rocket.Chat/pull/13031)) +- Regression: Fix Safari detection in PDF previewing ([#12737](https://github.com/RocketChat/Rocket.Chat/pull/12737)) -
+- Regression: Account pages layout ([#12735](https://github.com/RocketChat/Rocket.Chat/pull/12735)) -### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜ +- Regression: Inherit font-family for message box ([#12729](https://github.com/RocketChat/Rocket.Chat/pull/12729)) -- [@Hudell](https://github.com/Hudell) -- [@alexbartsch](https://github.com/alexbartsch) -- [@cardoso](https://github.com/cardoso) -- [@cyberb](https://github.com/cyberb) -- [@hypery2k](https://github.com/hypery2k) -- [@karakayasemi](https://github.com/karakayasemi) -- [@karlprieb](https://github.com/karlprieb) -- [@localguru](https://github.com/localguru) -- [@lvyue](https://github.com/lvyue) -- [@mathysie](https://github.com/mathysie) -- [@piotrkochan](https://github.com/piotrkochan) -- [@rssilva](https://github.com/rssilva) -- [@sanketsingh24](https://github.com/sanketsingh24) -- [@tsukiRep](https://github.com/tsukiRep) -- [@ura14h](https://github.com/ura14h) +- Fix some Ukrainian translations ([#12712](https://github.com/RocketChat/Rocket.Chat/pull/12712) by [@zdumitru](https://github.com/zdumitru)) -### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ +- Improve: Add missing translation keys. ([#12708](https://github.com/RocketChat/Rocket.Chat/pull/12708) by [@ura14h](https://github.com/ura14h)) -- [@LuluGO](https://github.com/LuluGO) -- [@MarcosSpessatto](https://github.com/MarcosSpessatto) -- [@d-gubert](https://github.com/d-gubert) -- [@engelgabriel](https://github.com/engelgabriel) -- [@geekgonecrazy](https://github.com/geekgonecrazy) -- [@ggazzo](https://github.com/ggazzo) -- [@marceloschmidt](https://github.com/marceloschmidt) -- [@renatobecker](https://github.com/renatobecker) -- [@rodrigok](https://github.com/rodrigok) -- [@sampaiodiego](https://github.com/sampaiodiego) -- [@tassoevan](https://github.com/tassoevan) +- Bump Apps Engine to 1.3.0 ([#12705](https://github.com/RocketChat/Rocket.Chat/pull/12705)) -# 0.72.3 -`2018-12-12 ยท 1 ๐Ÿ” ยท 5 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +- Fix: Exception when registering a user with gravatar ([#12699](https://github.com/RocketChat/Rocket.Chat/pull/12699)) -
-๐Ÿ” Minor changes +- Fix: Fix tests by increasing window size ([#12707](https://github.com/RocketChat/Rocket.Chat/pull/12707)) +- LingoHub based on develop ([#12684](https://github.com/RocketChat/Rocket.Chat/pull/12684)) -- Release 0.72.3 ([#12932](https://github.com/RocketChat/Rocket.Chat/pull/12932) by [@Hudell](https://github.com/Hudell) & [@piotrkochan](https://github.com/piotrkochan)) +- Convert rocketchat-mail-messages to main module structure ([#12682](https://github.com/RocketChat/Rocket.Chat/pull/12682)) -
+- Convert rocketchat-livestream to main module structure ([#12679](https://github.com/RocketChat/Rocket.Chat/pull/12679)) -### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜ +- Added "npm install" to quick start for developers ([#12374](https://github.com/RocketChat/Rocket.Chat/pull/12374) by [@wreiske](https://github.com/wreiske)) -- [@Hudell](https://github.com/Hudell) -- [@piotrkochan](https://github.com/piotrkochan) +- Convert rocketchat-ldap to main module structure ([#12678](https://github.com/RocketChat/Rocket.Chat/pull/12678)) -### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ +- Convert rocketchat-issuelinks to main module structure ([#12674](https://github.com/RocketChat/Rocket.Chat/pull/12674)) -- [@ggazzo](https://github.com/ggazzo) -- [@rodrigok](https://github.com/rodrigok) -- [@tassoevan](https://github.com/tassoevan) +- Convert rocketchat-integrations to main module structure ([#12670](https://github.com/RocketChat/Rocket.Chat/pull/12670)) -# 0.72.2 -`2018-12-10 ยท 2 ๐Ÿ› ยท 1 ๐Ÿ” ยท 2 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +- Convert rocketchat-irc to main module structure ([#12672](https://github.com/RocketChat/Rocket.Chat/pull/12672)) -### ๐Ÿ› Bug fixes +- Convert rocketchat-internal-hubot to main module structure ([#12671](https://github.com/RocketChat/Rocket.Chat/pull/12671)) +- Convert rocketchat-importer-hipchat-enterprise to main module structure ([#12665](https://github.com/RocketChat/Rocket.Chat/pull/12665)) -- line-height for unread bar buttons (jump to first and mark as read) ([#12900](https://github.com/RocketChat/Rocket.Chat/pull/12900)) +- Convert rocketchat-importer-slack-users to main module structure ([#12669](https://github.com/RocketChat/Rocket.Chat/pull/12669)) -- PDF view loading indicator ([#12882](https://github.com/RocketChat/Rocket.Chat/pull/12882)) +- Convert rocketchat-importer-slack to main module structure ([#12666](https://github.com/RocketChat/Rocket.Chat/pull/12666)) -
-๐Ÿ” Minor changes +- Convert rocketchat-iframe-login to main module structure ([#12661](https://github.com/RocketChat/Rocket.Chat/pull/12661)) +- Convert rocketchat-importer to main module structure ([#12662](https://github.com/RocketChat/Rocket.Chat/pull/12662)) -- Release 0.72.2 ([#12901](https://github.com/RocketChat/Rocket.Chat/pull/12901)) +- Convert rocketchat-importer-csv to main module structure ([#12663](https://github.com/RocketChat/Rocket.Chat/pull/12663)) -
+- Convert rocketchat-importer-hipchat to main module structure ([#12664](https://github.com/RocketChat/Rocket.Chat/pull/12664)) -### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ +- Convert rocketchat-highlight-words to main module structure ([#12659](https://github.com/RocketChat/Rocket.Chat/pull/12659)) -- [@sampaiodiego](https://github.com/sampaiodiego) -- [@tassoevan](https://github.com/tassoevan) +- Convert rocketchat-grant to main module structure ([#12657](https://github.com/RocketChat/Rocket.Chat/pull/12657)) -# 0.72.1 -`2018-12-05 ยท 4 ๐Ÿ› ยท 3 ๐Ÿ” ยท 8 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +- Convert rocketchat-graphql to main module structure ([#12658](https://github.com/RocketChat/Rocket.Chat/pull/12658)) -### ๐Ÿ› Bug fixes +- Convert rocketchat-google-vision to main module structure ([#12649](https://github.com/RocketChat/Rocket.Chat/pull/12649)) +- Removed RocketChatFile from globals ([#12650](https://github.com/RocketChat/Rocket.Chat/pull/12650)) -- Change spread operator to Array.from for Edge browser ([#12818](https://github.com/RocketChat/Rocket.Chat/pull/12818) by [@ohmonster](https://github.com/ohmonster)) +- Added imports for global variables in rocketchat-google-natural-language package ([#12647](https://github.com/RocketChat/Rocket.Chat/pull/12647)) -- API users.info returns caller rooms and not requested user ones ([#12727](https://github.com/RocketChat/Rocket.Chat/pull/12727) by [@piotrkochan](https://github.com/piotrkochan)) +- Convert rocketchat-gitlab to main module structure ([#12646](https://github.com/RocketChat/Rocket.Chat/pull/12646)) -- Missing HipChat Enterprise Importer ([#12847](https://github.com/RocketChat/Rocket.Chat/pull/12847) by [@Hudell](https://github.com/Hudell)) +- Convert rocketchat-file to main module structure ([#12644](https://github.com/RocketChat/Rocket.Chat/pull/12644)) + +- Convert rocketchat-github-enterprise to main module structure ([#12642](https://github.com/RocketChat/Rocket.Chat/pull/12642)) + +- Fix: Add email dependency in package.js ([#12645](https://github.com/RocketChat/Rocket.Chat/pull/12645)) + +- Convert rocketchat-custom-sounds to main module structure ([#12599](https://github.com/RocketChat/Rocket.Chat/pull/12599)) + +- Fix crowd error with import of SyncedCron ([#12641](https://github.com/RocketChat/Rocket.Chat/pull/12641)) + +- Convert emoji-emojione to main module structure ([#12605](https://github.com/RocketChat/Rocket.Chat/pull/12605)) + +- Convert rocketchat-favico to main module structure ([#12607](https://github.com/RocketChat/Rocket.Chat/pull/12607)) + +- Convert rocketchat-emoji-custom to main module structure ([#12604](https://github.com/RocketChat/Rocket.Chat/pull/12604)) + +- Convert rocketchat-error-handler to main module structure ([#12606](https://github.com/RocketChat/Rocket.Chat/pull/12606)) + +- Convert rocketchat-drupal to main module structure ([#12601](https://github.com/RocketChat/Rocket.Chat/pull/12601)) + +- Convert rocketchat-crowd to main module structure ([#12596](https://github.com/RocketChat/Rocket.Chat/pull/12596)) + +- Convert rocketchat-emoji to main module structure ([#12603](https://github.com/RocketChat/Rocket.Chat/pull/12603)) + +- Fix users.setAvatar endpoint tests and logic ([#12625](https://github.com/RocketChat/Rocket.Chat/pull/12625)) + +- [DOCS] Remove Cordova links, include F-Droid download button and few other adjustments ([#12583](https://github.com/RocketChat/Rocket.Chat/pull/12583) by [@rafaelks](https://github.com/rafaelks)) + +- Convert rocketchat-dolphin to main module structure ([#12600](https://github.com/RocketChat/Rocket.Chat/pull/12600)) + +- Convert rocketchat-channel-settings to main module structure ([#12594](https://github.com/RocketChat/Rocket.Chat/pull/12594)) + +- Convert rocketchat-cors to main module structure ([#12595](https://github.com/RocketChat/Rocket.Chat/pull/12595)) + +- Convert rocketchat-autotranslate to main module structure ([#12530](https://github.com/RocketChat/Rocket.Chat/pull/12530)) + +- Convert rocketchat-channel-settings-mail-messages to main module structure ([#12537](https://github.com/RocketChat/Rocket.Chat/pull/12537)) + +- Convert rocketchat-colors to main module structure ([#12538](https://github.com/RocketChat/Rocket.Chat/pull/12538)) + +- Convert rocketchat-cas to main module structure ([#12532](https://github.com/RocketChat/Rocket.Chat/pull/12532)) + +- Convert rocketchat-bot-helpers to main module structure ([#12531](https://github.com/RocketChat/Rocket.Chat/pull/12531)) + +- Convert rocketchat-autolinker to main module structure ([#12529](https://github.com/RocketChat/Rocket.Chat/pull/12529)) + +- Convert rocketchat-authorization to main module structure ([#12523](https://github.com/RocketChat/Rocket.Chat/pull/12523)) + +- Fix CSS import order ([#12524](https://github.com/RocketChat/Rocket.Chat/pull/12524)) + +- Remove template for feature requests as issues ([#12426](https://github.com/RocketChat/Rocket.Chat/pull/12426)) + +- Fix punctuation, spelling, and grammar ([#12451](https://github.com/RocketChat/Rocket.Chat/pull/12451) by [@imronras](https://github.com/imronras)) + +- Convert rocketchat-assets to main module structure ([#12521](https://github.com/RocketChat/Rocket.Chat/pull/12521)) + +- Convert rocketchat-api to main module structure ([#12510](https://github.com/RocketChat/Rocket.Chat/pull/12510)) + +- Convert rocketchat-analytics to main module structure ([#12506](https://github.com/RocketChat/Rocket.Chat/pull/12506)) + +- Convert rocketchat-action-links to main module structure ([#12503](https://github.com/RocketChat/Rocket.Chat/pull/12503)) + +- Convert rocketchat-2fa to main module structure ([#12501](https://github.com/RocketChat/Rocket.Chat/pull/12501)) + +- Convert meteor-timesync to main module structure ([#12495](https://github.com/RocketChat/Rocket.Chat/pull/12495)) + +- Convert meteor-autocomplete package to main module structure ([#12491](https://github.com/RocketChat/Rocket.Chat/pull/12491)) + +- Convert meteor-accounts-saml to main module structure ([#12486](https://github.com/RocketChat/Rocket.Chat/pull/12486)) + +- Convert chatpal search package to modular structure ([#12485](https://github.com/RocketChat/Rocket.Chat/pull/12485)) + +- Removal of TAPi18n and TAPi18next global variables ([#12467](https://github.com/RocketChat/Rocket.Chat/pull/12467)) + +- Removal of Template, Blaze, BlazeLayout, FlowRouter, DDPRateLimiter, Session, UAParser, Promise, Reload and CryptoJS global variables ([#12433](https://github.com/RocketChat/Rocket.Chat/pull/12433)) + +- Removal of Match, check, moment, Tracker and Mongo global variables ([#12410](https://github.com/RocketChat/Rocket.Chat/pull/12410)) + +- Removal of EJSON, Accounts, Email, HTTP, Random, ReactiveDict, ReactiveVar, SHA256 and WebApp global variables ([#12377](https://github.com/RocketChat/Rocket.Chat/pull/12377)) + +- Removal of Meteor global variable ([#12371](https://github.com/RocketChat/Rocket.Chat/pull/12371)) + +- Fix ES translation ([#12509](https://github.com/RocketChat/Rocket.Chat/pull/12509)) + +- LingoHub based on develop ([#12470](https://github.com/RocketChat/Rocket.Chat/pull/12470)) + +- Update npm dependencies ([#12465](https://github.com/RocketChat/Rocket.Chat/pull/12465)) + +- Fix: Developers not being able to debug root files in VSCode ([#12440](https://github.com/RocketChat/Rocket.Chat/pull/12440) by [@mrsimpson](https://github.com/mrsimpson)) + +- Merge master into develop & Set version to 0.72.0-develop ([#12460](https://github.com/RocketChat/Rocket.Chat/pull/12460) by [@Hudell](https://github.com/Hudell)) + +- Change `chat.getDeletedMessages` to get messages after informed date and return only message's _id ([#13021](https://github.com/RocketChat/Rocket.Chat/pull/13021)) + +- Improve Importer code quality ([#13020](https://github.com/RocketChat/Rocket.Chat/pull/13020) by [@Hudell](https://github.com/Hudell)) + +- Regression: List of custom emojis wasn't working ([#13031](https://github.com/RocketChat/Rocket.Chat/pull/13031)) + +
+ +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜ + +- [@AndreamApp](https://github.com/AndreamApp) +- [@Hudell](https://github.com/Hudell) +- [@Ismaw34](https://github.com/Ismaw34) +- [@alexbartsch](https://github.com/alexbartsch) +- [@cardoso](https://github.com/cardoso) +- [@cyberb](https://github.com/cyberb) +- [@hypery2k](https://github.com/hypery2k) +- [@imronras](https://github.com/imronras) +- [@karakayasemi](https://github.com/karakayasemi) +- [@karlprieb](https://github.com/karlprieb) +- [@localguru](https://github.com/localguru) +- [@lvyue](https://github.com/lvyue) +- [@mathysie](https://github.com/mathysie) +- [@mbrodala](https://github.com/mbrodala) +- [@mrsimpson](https://github.com/mrsimpson) +- [@nicolasbock](https://github.com/nicolasbock) +- [@pfuender](https://github.com/pfuender) +- [@ph1p](https://github.com/ph1p) +- [@piotrkochan](https://github.com/piotrkochan) +- [@rafaelks](https://github.com/rafaelks) +- [@ramrami](https://github.com/ramrami) +- [@rssilva](https://github.com/rssilva) +- [@sanketsingh24](https://github.com/sanketsingh24) +- [@tsukiRep](https://github.com/tsukiRep) +- [@ura14h](https://github.com/ura14h) +- [@vinade](https://github.com/vinade) +- [@wreiske](https://github.com/wreiske) +- [@zdumitru](https://github.com/zdumitru) + +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@LuluGO](https://github.com/LuluGO) +- [@MarcosSpessatto](https://github.com/MarcosSpessatto) +- [@d-gubert](https://github.com/d-gubert) +- [@engelgabriel](https://github.com/engelgabriel) +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@ggazzo](https://github.com/ggazzo) +- [@marceloschmidt](https://github.com/marceloschmidt) +- [@renatobecker](https://github.com/renatobecker) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) +- [@tassoevan](https://github.com/tassoevan) + +# 0.72.3 +`2018-12-12 ยท 1 ๐Ÿ” ยท 5 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` + +
+๐Ÿ” Minor changes + + +- Release 0.72.3 ([#12932](https://github.com/RocketChat/Rocket.Chat/pull/12932) by [@Hudell](https://github.com/Hudell) & [@piotrkochan](https://github.com/piotrkochan)) + +
+ +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜ + +- [@Hudell](https://github.com/Hudell) +- [@piotrkochan](https://github.com/piotrkochan) + +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@ggazzo](https://github.com/ggazzo) +- [@rodrigok](https://github.com/rodrigok) +- [@tassoevan](https://github.com/tassoevan) + +# 0.72.2 +`2018-12-10 ยท 3 ๐Ÿ› ยท 1 ๐Ÿ” ยท 2 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` + +### ๐Ÿ› Bug fixes + + +- line-height for unread bar buttons (jump to first and mark as read) ([#12900](https://github.com/RocketChat/Rocket.Chat/pull/12900)) + +- Reset password email ([#12898](https://github.com/RocketChat/Rocket.Chat/pull/12898)) + +- PDF view loading indicator ([#12882](https://github.com/RocketChat/Rocket.Chat/pull/12882)) + +
+๐Ÿ” Minor changes + + +- Release 0.72.2 ([#12901](https://github.com/RocketChat/Rocket.Chat/pull/12901)) + +
+ +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@sampaiodiego](https://github.com/sampaiodiego) +- [@tassoevan](https://github.com/tassoevan) + +# 0.72.1 +`2018-12-05 ยท 4 ๐Ÿ› ยท 3 ๐Ÿ” ยท 8 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` + +### ๐Ÿ› Bug fixes + + +- Change spread operator to Array.from for Edge browser ([#12818](https://github.com/RocketChat/Rocket.Chat/pull/12818) by [@ohmonster](https://github.com/ohmonster)) + +- API users.info returns caller rooms and not requested user ones ([#12727](https://github.com/RocketChat/Rocket.Chat/pull/12727) by [@piotrkochan](https://github.com/piotrkochan)) + +- Missing HipChat Enterprise Importer ([#12847](https://github.com/RocketChat/Rocket.Chat/pull/12847) by [@Hudell](https://github.com/Hudell)) - Emoji as avatar ([#12805](https://github.com/RocketChat/Rocket.Chat/pull/12805)) @@ -5190,12 +5737,21 @@ - [@tassoevan](https://github.com/tassoevan) # 0.71.2 -`2018-12-10` +`2018-12-10 ยท 1 ๐Ÿ› ยท 1 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.11.3` - NPM: `5.6.0` +### ๐Ÿ› Bug fixes + + +- Reset password email ([#12898](https://github.com/RocketChat/Rocket.Chat/pull/12898)) + +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@sampaiodiego](https://github.com/sampaiodiego) + # 0.71.1 `2018-10-31 ยท 1 ๐Ÿ› ยท 1 ๐Ÿ” ยท 1 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` @@ -5221,7 +5777,7 @@ - [@sampaiodiego](https://github.com/sampaiodiego) # 0.71.0 -`2018-10-27 ยท 2 ๏ธ๏ธ๏ธโš ๏ธ ยท 5 ๐ŸŽ‰ ยท 5 ๐Ÿš€ ยท 21 ๐Ÿ› ยท 8 ๐Ÿ” ยท 20 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2018-10-27 ยท 2 ๏ธ๏ธ๏ธโš ๏ธ ยท 5 ๐ŸŽ‰ ยท 5 ๐Ÿš€ ยท 23 ๐Ÿ› ยท 9 ๐Ÿ” ยท 20 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.11.3` @@ -5295,6 +5851,10 @@ - Invalid destructuring on Livechat API endpoint ([#12354](https://github.com/RocketChat/Rocket.Chat/pull/12354)) +- Modal confirm on enter ([#12283](https://github.com/RocketChat/Rocket.Chat/pull/12283)) + +- E2E alert shows up when encryption is disabled ([#12272](https://github.com/RocketChat/Rocket.Chat/pull/12272) by [@Hudell](https://github.com/Hudell)) + - E2E: Decrypting UTF-8 encoded messages ([#12398](https://github.com/RocketChat/Rocket.Chat/pull/12398) by [@pmmaga](https://github.com/pmmaga)) - Ignore errors when creating image preview for uploads ([#12424](https://github.com/RocketChat/Rocket.Chat/pull/12424)) @@ -5317,6 +5877,8 @@ - Fix: update check on err.details ([#12346](https://github.com/RocketChat/Rocket.Chat/pull/12346) by [@teresy](https://github.com/teresy)) +- Fix: Add wizard opt-in fields ([#12298](https://github.com/RocketChat/Rocket.Chat/pull/12298)) + - Update Apps Framework to version 1.2.1 ([#12442](https://github.com/RocketChat/Rocket.Chat/pull/12442)) - Regression: Change `starred` message property from object to array ([#12405](https://github.com/RocketChat/Rocket.Chat/pull/12405)) @@ -5485,7 +6047,7 @@ - [@theorenck](https://github.com/theorenck) # 0.70.0 -`2018-09-28 ยท 2 ๏ธ๏ธ๏ธโš ๏ธ ยท 18 ๐ŸŽ‰ ยท 3 ๐Ÿš€ ยท 31 ๐Ÿ› ยท 21 ๐Ÿ” ยท 33 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2018-09-28 ยท 2 ๏ธ๏ธ๏ธโš ๏ธ ยท 18 ๐ŸŽ‰ ยท 3 ๐Ÿš€ ยท 35 ๐Ÿ› ยท 19 ๐Ÿ” ยท 32 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.11.3` @@ -5587,6 +6149,14 @@ - Typo in a configuration key for SlackBridge excluded bot names ([#11872](https://github.com/RocketChat/Rocket.Chat/pull/11872) by [@TobiasKappe](https://github.com/TobiasKappe)) +- Duplicated message buttons ([#11853](https://github.com/RocketChat/Rocket.Chat/pull/11853) by [@ubarsaiyan](https://github.com/ubarsaiyan)) + +- App updates were not being shown correctly ([#11893](https://github.com/RocketChat/Rocket.Chat/pull/11893)) + +- Hipchat importer was not importing users without emails and uploaded files ([#11910](https://github.com/RocketChat/Rocket.Chat/pull/11910)) + +- Hipchat import was failing when importing messages from a non existent user ([#11892](https://github.com/RocketChat/Rocket.Chat/pull/11892)) + - Real Name on Direct Messages ([#12154](https://github.com/RocketChat/Rocket.Chat/pull/12154)) - Position of popover component on mobile ([#12038](https://github.com/RocketChat/Rocket.Chat/pull/12038)) @@ -5615,8 +6185,6 @@ ๐Ÿ” Minor changes -- Release 0.69.2 ([#12026](https://github.com/RocketChat/Rocket.Chat/pull/12026) by [@cardoso](https://github.com/cardoso) & [@kaiiiiiiiii](https://github.com/kaiiiiiiiii) & [@timkinnane](https://github.com/timkinnane)) - - LingoHub based on develop ([#11936](https://github.com/RocketChat/Rocket.Chat/pull/11936)) - Better organize package.json ([#12115](https://github.com/RocketChat/Rocket.Chat/pull/12115)) @@ -5627,8 +6195,6 @@ - Merge master into develop & Set version to 0.70.0-develop ([#11921](https://github.com/RocketChat/Rocket.Chat/pull/11921) by [@Hudell](https://github.com/Hudell) & [@c0dzilla](https://github.com/c0dzilla) & [@rndmh3ro](https://github.com/rndmh3ro) & [@ubarsaiyan](https://github.com/ubarsaiyan) & [@vynmera](https://github.com/vynmera)) -- Release 0.69.2 ([#12026](https://github.com/RocketChat/Rocket.Chat/pull/12026) by [@cardoso](https://github.com/cardoso) & [@kaiiiiiiiii](https://github.com/kaiiiiiiiii) & [@timkinnane](https://github.com/timkinnane)) - - Regression: fix message box autogrow ([#12138](https://github.com/RocketChat/Rocket.Chat/pull/12138)) - Regression: Modal height ([#12122](https://github.com/RocketChat/Rocket.Chat/pull/12122)) @@ -5671,7 +6237,6 @@ - [@crazy-max](https://github.com/crazy-max) - [@edzluhan](https://github.com/edzluhan) - [@flaviogrossi](https://github.com/flaviogrossi) -- [@kaiiiiiiiii](https://github.com/kaiiiiiiiii) - [@karakayasemi](https://github.com/karakayasemi) - [@mrinaldhar](https://github.com/mrinaldhar) - [@mrsimpson](https://github.com/mrsimpson) @@ -5760,7 +6325,7 @@ - [@rodrigok](https://github.com/rodrigok) # 0.69.0 -`2018-08-28 ยท 10 ๐ŸŽ‰ ยท 8 ๐Ÿš€ ยท 35 ๐Ÿ› ยท 13 ๐Ÿ” ยท 25 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2018-08-28 ยท 10 ๐ŸŽ‰ ยท 8 ๐Ÿš€ ยท 45 ๐Ÿ› ยท 12 ๐Ÿ” ยท 27 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.11.3` @@ -5837,6 +6402,8 @@ - Fix links in `onTableItemClick` of the directroy page ([#11543](https://github.com/RocketChat/Rocket.Chat/pull/11543) by [@ura14h](https://github.com/ura14h)) +- Livechat open room method ([#11830](https://github.com/RocketChat/Rocket.Chat/pull/11830)) + - App's i18nAlert is only being displayed as "i18nAlert" ([#11802](https://github.com/RocketChat/Rocket.Chat/pull/11802)) - Removed hardcoded values. ([#11627](https://github.com/RocketChat/Rocket.Chat/pull/11627) by [@Hudell](https://github.com/Hudell)) @@ -5873,22 +6440,36 @@ - Message attachments was not respecting sort and lost spacing ([#11740](https://github.com/RocketChat/Rocket.Chat/pull/11740)) +- Default server language not being applied ([#11719](https://github.com/RocketChat/Rocket.Chat/pull/11719)) + - Closed connections being storing on db ([#11709](https://github.com/RocketChat/Rocket.Chat/pull/11709)) +- Broken logo on setup wizard ([#11708](https://github.com/RocketChat/Rocket.Chat/pull/11708)) + +- Regression in prune by user, and update lastMessage ([#11646](https://github.com/RocketChat/Rocket.Chat/pull/11646) by [@vynmera](https://github.com/vynmera)) + - Login logo now centered on small screens ([#11626](https://github.com/RocketChat/Rocket.Chat/pull/11626) by [@wreiske](https://github.com/wreiske)) - Push notifications stuck after db failure ([#11667](https://github.com/RocketChat/Rocket.Chat/pull/11667)) +- SAML login not working when user has multiple emails ([#11642](https://github.com/RocketChat/Rocket.Chat/pull/11642) by [@Hudell](https://github.com/Hudell)) + +- Prune translation on room info panel ([#11635](https://github.com/RocketChat/Rocket.Chat/pull/11635)) + +- Prune translations in German ([#11631](https://github.com/RocketChat/Rocket.Chat/pull/11631) by [@rndmh3ro](https://github.com/rndmh3ro)) + +- User info APIs not returning customFields correctly ([#11625](https://github.com/RocketChat/Rocket.Chat/pull/11625)) + +- Missing chat history for users without permission `preview-c-room` ([#11639](https://github.com/RocketChat/Rocket.Chat/pull/11639) by [@Hudell](https://github.com/Hudell)) + +- Incorrect migration version in v130.js ([#11544](https://github.com/RocketChat/Rocket.Chat/pull/11544) by [@c0dzilla](https://github.com/c0dzilla)) + - Translations were not unique per app allowing conflicts among apps ([#11878](https://github.com/RocketChat/Rocket.Chat/pull/11878))
๐Ÿ” Minor changes -- Release 0.68.5 ([#11852](https://github.com/RocketChat/Rocket.Chat/pull/11852)) - -- Release 0.68.5 ([#11852](https://github.com/RocketChat/Rocket.Chat/pull/11852)) - - Fixed deutsch message pruning translations ([#11691](https://github.com/RocketChat/Rocket.Chat/pull/11691) by [@TheReal1604](https://github.com/TheReal1604)) - Fixed the Finnish translation and removed some profanities ([#11794](https://github.com/RocketChat/Rocket.Chat/pull/11794) by [@jukper](https://github.com/jukper)) @@ -5907,6 +6488,8 @@ - Merge master into develop & Set version to 0.69.0-develop ([#11606](https://github.com/RocketChat/Rocket.Chat/pull/11606)) +- Regression: Fix purge message's translations ([#11590](https://github.com/RocketChat/Rocket.Chat/pull/11590)) + - App engine merge ([#11835](https://github.com/RocketChat/Rocket.Chat/pull/11835)) - Regression: role tag background, unread item font and message box autogrow ([#11861](https://github.com/RocketChat/Rocket.Chat/pull/11861)) @@ -5919,12 +6502,14 @@ - [@Hudell](https://github.com/Hudell) - [@TheReal1604](https://github.com/TheReal1604) - [@ausminternet](https://github.com/ausminternet) +- [@c0dzilla](https://github.com/c0dzilla) - [@crazy-max](https://github.com/crazy-max) - [@gdelavald](https://github.com/gdelavald) - [@glstewart17](https://github.com/glstewart17) - [@gsperezb](https://github.com/gsperezb) - [@jukper](https://github.com/jukper) - [@kable-wilmoth](https://github.com/kable-wilmoth) +- [@rndmh3ro](https://github.com/rndmh3ro) - [@rssilva](https://github.com/rssilva) - [@timkinnane](https://github.com/timkinnane) - [@ubarsaiyan](https://github.com/ubarsaiyan) @@ -6235,7 +6820,7 @@ - [@tassoevan](https://github.com/tassoevan) # 0.67.0 -`2018-07-20 ยท 1 ๏ธ๏ธ๏ธโš ๏ธ ยท 1 ๐ŸŽ‰ ยท 1 ๐Ÿš€ ยท 6 ๐Ÿ› ยท 5 ๐Ÿ” ยท 11 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2018-07-20 ยท 1 ๏ธ๏ธ๏ธโš ๏ธ ยท 1 ๐ŸŽ‰ ยท 2 ๐Ÿš€ ยท 15 ๐Ÿ› ยท 7 ๐Ÿ” ยท 11 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.11.3` @@ -6256,13 +6841,23 @@ - Stop sort callbacks on run ([#11330](https://github.com/RocketChat/Rocket.Chat/pull/11330)) +- Setup Wizard username validation, step progress and optin/optout ([#11254](https://github.com/RocketChat/Rocket.Chat/pull/11254)) + ### ๐Ÿ› Bug fixes +- Livechat taking inquiry leading to 404 page ([#11406](https://github.com/RocketChat/Rocket.Chat/pull/11406)) + +- All messages notifications via email were sent as mention alert ([#11398](https://github.com/RocketChat/Rocket.Chat/pull/11398)) + - sort fname sidenav ([#11358](https://github.com/RocketChat/Rocket.Chat/pull/11358)) +- Livechat not sending desktop notifications ([#11266](https://github.com/RocketChat/Rocket.Chat/pull/11266)) + - SVG icons code ([#11319](https://github.com/RocketChat/Rocket.Chat/pull/11319)) +- Remove file snap store doesn't like ([#11365](https://github.com/RocketChat/Rocket.Chat/pull/11365)) + - Message popup responsiveness in slash commands ([#11313](https://github.com/RocketChat/Rocket.Chat/pull/11313)) - web app manifest errors as reported by Chrome DevTools ([#9991](https://github.com/RocketChat/Rocket.Chat/pull/9991) by [@justinribeiro](https://github.com/justinribeiro)) @@ -6271,6 +6866,16 @@ - Parse inline code without space before initial backtick ([#9754](https://github.com/RocketChat/Rocket.Chat/pull/9754) by [@c0dzilla](https://github.com/c0dzilla) & [@gdelavald](https://github.com/gdelavald)) +- Some updates were returning errors when based on queries with position operators ([#11335](https://github.com/RocketChat/Rocket.Chat/pull/11335)) + +- SAML attributes with periods are not properly read. ([#11315](https://github.com/RocketChat/Rocket.Chat/pull/11315) by [@Hudell](https://github.com/Hudell)) + +- Outgoing integrations were stopping the oplog tailing sometimes ([#11333](https://github.com/RocketChat/Rocket.Chat/pull/11333)) + +- Livestream muted when audio only option was enabled ([#11267](https://github.com/RocketChat/Rocket.Chat/pull/11267) by [@gdelavald](https://github.com/gdelavald)) + +- Notification preferences being lost when switching view mode ([#11295](https://github.com/RocketChat/Rocket.Chat/pull/11295)) +
๐Ÿ” Minor changes @@ -6281,6 +6886,10 @@ - Merge master into develop & Set version to 0.67.0-develop ([#11399](https://github.com/RocketChat/Rocket.Chat/pull/11399)) +- Regression: Fix migration 125 checking for settings field ([#11364](https://github.com/RocketChat/Rocket.Chat/pull/11364)) + +- Send setting Allow_Marketing_Emails to statistics collector ([#11359](https://github.com/RocketChat/Rocket.Chat/pull/11359)) + - Merge master into develop & Set version to 0.67.0-develop ([#11348](https://github.com/RocketChat/Rocket.Chat/pull/11348) by [@Hudell](https://github.com/Hudell) & [@gdelavald](https://github.com/gdelavald)) - Merge master into develop & Set version to 0.67.0-develop ([#11290](https://github.com/RocketChat/Rocket.Chat/pull/11290)) @@ -6392,7 +7001,7 @@ - [@tassoevan](https://github.com/tassoevan) # 0.66.0 -`2018-06-27 ยท 1 ๏ธ๏ธ๏ธโš ๏ธ ยท 23 ๐ŸŽ‰ ยท 3 ๐Ÿš€ ยท 55 ๐Ÿ› ยท 47 ๐Ÿ” ยท 45 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2018-06-27 ยท 1 ๏ธ๏ธ๏ธโš ๏ธ ยท 23 ๐ŸŽ‰ ยท 3 ๐Ÿš€ ยท 59 ๐Ÿ› ยท 47 ๐Ÿ” ยท 45 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.11.3` @@ -6554,6 +7163,14 @@ - Icons svg xml structure ([#10771](https://github.com/RocketChat/Rocket.Chat/pull/10771) by [@timkinnane](https://github.com/timkinnane)) +- Leave room wasn't working as expected ([#10851](https://github.com/RocketChat/Rocket.Chat/pull/10851)) + +- Application crashing on startup when trying to log errors to `exceptions` channel ([#10934](https://github.com/RocketChat/Rocket.Chat/pull/10934)) + +- Image lazy load was breaking attachments ([#10904](https://github.com/RocketChat/Rocket.Chat/pull/10904)) + +- Incomplete email notification link ([#10928](https://github.com/RocketChat/Rocket.Chat/pull/10928)) + - Remove outdated 2FA warning for mobile clients ([#10916](https://github.com/RocketChat/Rocket.Chat/pull/10916) by [@cardoso](https://github.com/cardoso)) - Update Sandstorm build config ([#10867](https://github.com/RocketChat/Rocket.Chat/pull/10867) by [@ocdtrekkie](https://github.com/ocdtrekkie)) @@ -6782,7 +7399,7 @@ - [@sampaiodiego](https://github.com/sampaiodiego) # 0.65.0 -`2018-05-28 ยท 13 ๐ŸŽ‰ ยท 16 ๐Ÿ› ยท 15 ๐Ÿ” ยท 25 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2018-05-28 ยท 17 ๐ŸŽ‰ ยท 24 ๐Ÿ› ยท 30 ๐Ÿ” ยท 25 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.11.1` @@ -6815,6 +7432,14 @@ - Add REST API endpoints `channels.setCustomFields` and `groups.setCustomFields` ([#9733](https://github.com/RocketChat/Rocket.Chat/pull/9733) by [@xbolshe](https://github.com/xbolshe)) +- Add REST endpoints `channels.roles` & `groups.roles` ([#10607](https://github.com/RocketChat/Rocket.Chat/pull/10607) by [@cardoso](https://github.com/cardoso) & [@rafaelks](https://github.com/rafaelks)) + +- Add more options for Wordpress OAuth configuration ([#10724](https://github.com/RocketChat/Rocket.Chat/pull/10724) by [@Hudell](https://github.com/Hudell)) + +- Setup Wizard ([#10523](https://github.com/RocketChat/Rocket.Chat/pull/10523) by [@karlprieb](https://github.com/karlprieb)) + +- Improvements to notifications logic ([#10686](https://github.com/RocketChat/Rocket.Chat/pull/10686)) + - Add permission `view-broadcast-member-list` ([#10753](https://github.com/RocketChat/Rocket.Chat/pull/10753) by [@cardoso](https://github.com/cardoso)) ### ๐Ÿ› Bug fixes @@ -6834,6 +7459,22 @@ - Private settings were not being cleared from client cache in some cases ([#10625](https://github.com/RocketChat/Rocket.Chat/pull/10625) by [@Hudell](https://github.com/Hudell)) +- Not escaping special chars on mentions ([#10793](https://github.com/RocketChat/Rocket.Chat/pull/10793) by [@erhan-](https://github.com/erhan-)) + +- Send a message when muted returns inconsistent result in chat.sendMessage ([#10720](https://github.com/RocketChat/Rocket.Chat/pull/10720)) + +- Regression: Empty content on announcement modal ([#10733](https://github.com/RocketChat/Rocket.Chat/pull/10733) by [@gdelavald](https://github.com/gdelavald)) + +- Missing attachment description when Rocket.Chat Apps were enabled ([#10705](https://github.com/RocketChat/Rocket.Chat/pull/10705) by [@Hudell](https://github.com/Hudell)) + +- Improve desktop notification formatting ([#10445](https://github.com/RocketChat/Rocket.Chat/pull/10445) by [@Sameesunkaria](https://github.com/Sameesunkaria)) + +- Message box emoji icon was flickering when typing a text ([#10678](https://github.com/RocketChat/Rocket.Chat/pull/10678) by [@gdelavald](https://github.com/gdelavald)) + +- Channel owner was being set as muted when creating a read-only channel ([#10665](https://github.com/RocketChat/Rocket.Chat/pull/10665)) + +- SAML wasn't working correctly when running multiple instances ([#10681](https://github.com/RocketChat/Rocket.Chat/pull/10681) by [@Hudell](https://github.com/Hudell)) + - Internal Error when requesting user data download ([#10837](https://github.com/RocketChat/Rocket.Chat/pull/10837) by [@Hudell](https://github.com/Hudell)) - Broadcast channels were showing reply button for deleted messages and generating wrong reply links some times ([#10835](https://github.com/RocketChat/Rocket.Chat/pull/10835)) @@ -6866,6 +7507,36 @@ - Prevent setup wizard redirects ([#10811](https://github.com/RocketChat/Rocket.Chat/pull/10811)) +- Prometheus: Add metric to track hooks time ([#10798](https://github.com/RocketChat/Rocket.Chat/pull/10798)) + +- Regression: Autorun of wizard was not destroyed after completion ([#10802](https://github.com/RocketChat/Rocket.Chat/pull/10802)) + +- Prometheus: Fix notification metric ([#10803](https://github.com/RocketChat/Rocket.Chat/pull/10803)) + +- Regression: Fix wrong wizard field name ([#10804](https://github.com/RocketChat/Rocket.Chat/pull/10804)) + +- Prometheus: Improve metric names ([#10789](https://github.com/RocketChat/Rocket.Chat/pull/10789)) + +- Improvement to push notifications on direct messages ([#10788](https://github.com/RocketChat/Rocket.Chat/pull/10788)) + +- Better metric for notifications ([#10786](https://github.com/RocketChat/Rocket.Chat/pull/10786)) + +- Add badge back to push notifications ([#10779](https://github.com/RocketChat/Rocket.Chat/pull/10779)) + +- Wizard improvements ([#10776](https://github.com/RocketChat/Rocket.Chat/pull/10776)) + +- Add setting and expose prometheus on port 9100 ([#10766](https://github.com/RocketChat/Rocket.Chat/pull/10766)) + +- Regression: Fix notifications for direct messages ([#10760](https://github.com/RocketChat/Rocket.Chat/pull/10760)) + +- More improvements on send notifications logic ([#10736](https://github.com/RocketChat/Rocket.Chat/pull/10736)) + +- LingoHub based on develop ([#10691](https://github.com/RocketChat/Rocket.Chat/pull/10691)) + +- Add `npm run postinstall` into example build script ([#10524](https://github.com/RocketChat/Rocket.Chat/pull/10524) by [@peccu](https://github.com/peccu)) + +- Correct links in README file ([#10674](https://github.com/RocketChat/Rocket.Chat/pull/10674) by [@winterstefan](https://github.com/winterstefan)) + - Fix: Regression in REST API endpoint `/me` ([#10833](https://github.com/RocketChat/Rocket.Chat/pull/10833)) - Regression: Fix email notification preference not showing correct selected value ([#10847](https://github.com/RocketChat/Rocket.Chat/pull/10847)) @@ -6920,132 +7591,18 @@ - [@sampaiodiego](https://github.com/sampaiodiego) # 0.64.2 -`2018-05-18 ยท 8 ๐ŸŽ‰ ยท 16 ๐Ÿ› ยท 31 ๐Ÿ” ยท 13 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2018-05-18 ยท 1 ๐Ÿ” ยท 12 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.11.1` - NPM: `5.6.0` -### ๐ŸŽ‰ New features - - -- Add REST endpoints `channels.roles` & `groups.roles` ([#10607](https://github.com/RocketChat/Rocket.Chat/pull/10607) by [@cardoso](https://github.com/cardoso) & [@rafaelks](https://github.com/rafaelks)) - -- Add more options for Wordpress OAuth configuration ([#10724](https://github.com/RocketChat/Rocket.Chat/pull/10724) by [@Hudell](https://github.com/Hudell)) - -- Setup Wizard ([#10523](https://github.com/RocketChat/Rocket.Chat/pull/10523) by [@karlprieb](https://github.com/karlprieb)) - -- Improvements to notifications logic ([#10686](https://github.com/RocketChat/Rocket.Chat/pull/10686)) - -- Add REST endpoints `channels.roles` & `groups.roles` ([#10607](https://github.com/RocketChat/Rocket.Chat/pull/10607) by [@cardoso](https://github.com/cardoso) & [@rafaelks](https://github.com/rafaelks)) - -- Add more options for Wordpress OAuth configuration ([#10724](https://github.com/RocketChat/Rocket.Chat/pull/10724) by [@Hudell](https://github.com/Hudell)) - -- Setup Wizard ([#10523](https://github.com/RocketChat/Rocket.Chat/pull/10523) by [@karlprieb](https://github.com/karlprieb)) - -- Improvements to notifications logic ([#10686](https://github.com/RocketChat/Rocket.Chat/pull/10686)) - -### ๐Ÿ› Bug fixes - - -- Not escaping special chars on mentions ([#10793](https://github.com/RocketChat/Rocket.Chat/pull/10793) by [@erhan-](https://github.com/erhan-)) - -- Send a message when muted returns inconsistent result in chat.sendMessage ([#10720](https://github.com/RocketChat/Rocket.Chat/pull/10720)) - -- Regression: Empty content on announcement modal ([#10733](https://github.com/RocketChat/Rocket.Chat/pull/10733) by [@gdelavald](https://github.com/gdelavald)) - -- Missing attachment description when Rocket.Chat Apps were enabled ([#10705](https://github.com/RocketChat/Rocket.Chat/pull/10705) by [@Hudell](https://github.com/Hudell)) - -- Improve desktop notification formatting ([#10445](https://github.com/RocketChat/Rocket.Chat/pull/10445) by [@Sameesunkaria](https://github.com/Sameesunkaria)) - -- Message box emoji icon was flickering when typing a text ([#10678](https://github.com/RocketChat/Rocket.Chat/pull/10678) by [@gdelavald](https://github.com/gdelavald)) - -- Channel owner was being set as muted when creating a read-only channel ([#10665](https://github.com/RocketChat/Rocket.Chat/pull/10665)) - -- SAML wasn't working correctly when running multiple instances ([#10681](https://github.com/RocketChat/Rocket.Chat/pull/10681) by [@Hudell](https://github.com/Hudell)) - -- Send a message when muted returns inconsistent result in chat.sendMessage ([#10720](https://github.com/RocketChat/Rocket.Chat/pull/10720)) - -- Regression: Empty content on announcement modal ([#10733](https://github.com/RocketChat/Rocket.Chat/pull/10733) by [@gdelavald](https://github.com/gdelavald)) - -- Missing attachment description when Rocket.Chat Apps were enabled ([#10705](https://github.com/RocketChat/Rocket.Chat/pull/10705) by [@Hudell](https://github.com/Hudell)) - -- Improve desktop notification formatting ([#10445](https://github.com/RocketChat/Rocket.Chat/pull/10445) by [@Sameesunkaria](https://github.com/Sameesunkaria)) - -- Message box emoji icon was flickering when typing a text ([#10678](https://github.com/RocketChat/Rocket.Chat/pull/10678) by [@gdelavald](https://github.com/gdelavald)) - -- Channel owner was being set as muted when creating a read-only channel ([#10665](https://github.com/RocketChat/Rocket.Chat/pull/10665)) - -- SAML wasn't working correctly when running multiple instances ([#10681](https://github.com/RocketChat/Rocket.Chat/pull/10681) by [@Hudell](https://github.com/Hudell)) - -- Not escaping special chars on mentions ([#10793](https://github.com/RocketChat/Rocket.Chat/pull/10793) by [@erhan-](https://github.com/erhan-)) -
๐Ÿ” Minor changes - Release 0.64.2 ([#10812](https://github.com/RocketChat/Rocket.Chat/pull/10812) by [@Hudell](https://github.com/Hudell) & [@Sameesunkaria](https://github.com/Sameesunkaria) & [@cardoso](https://github.com/cardoso) & [@erhan-](https://github.com/erhan-) & [@gdelavald](https://github.com/gdelavald) & [@karlprieb](https://github.com/karlprieb) & [@peccu](https://github.com/peccu) & [@winterstefan](https://github.com/winterstefan)) -- Prometheus: Add metric to track hooks time ([#10798](https://github.com/RocketChat/Rocket.Chat/pull/10798)) - -- Regression: Autorun of wizard was not destroyed after completion ([#10802](https://github.com/RocketChat/Rocket.Chat/pull/10802)) - -- Prometheus: Fix notification metric ([#10803](https://github.com/RocketChat/Rocket.Chat/pull/10803)) - -- Regression: Fix wrong wizard field name ([#10804](https://github.com/RocketChat/Rocket.Chat/pull/10804)) - -- Prometheus: Improve metric names ([#10789](https://github.com/RocketChat/Rocket.Chat/pull/10789)) - -- Improvement to push notifications on direct messages ([#10788](https://github.com/RocketChat/Rocket.Chat/pull/10788)) - -- Better metric for notifications ([#10786](https://github.com/RocketChat/Rocket.Chat/pull/10786)) - -- Add badge back to push notifications ([#10779](https://github.com/RocketChat/Rocket.Chat/pull/10779)) - -- Wizard improvements ([#10776](https://github.com/RocketChat/Rocket.Chat/pull/10776)) - -- Add setting and expose prometheus on port 9100 ([#10766](https://github.com/RocketChat/Rocket.Chat/pull/10766)) - -- Regression: Fix notifications for direct messages ([#10760](https://github.com/RocketChat/Rocket.Chat/pull/10760)) - -- More improvements on send notifications logic ([#10736](https://github.com/RocketChat/Rocket.Chat/pull/10736)) - -- LingoHub based on develop ([#10691](https://github.com/RocketChat/Rocket.Chat/pull/10691)) - -- Add `npm run postinstall` into example build script ([#10524](https://github.com/RocketChat/Rocket.Chat/pull/10524) by [@peccu](https://github.com/peccu)) - -- Correct links in README file ([#10674](https://github.com/RocketChat/Rocket.Chat/pull/10674) by [@winterstefan](https://github.com/winterstefan)) - -- More improvements on send notifications logic ([#10736](https://github.com/RocketChat/Rocket.Chat/pull/10736)) - -- LingoHub based on develop ([#10691](https://github.com/RocketChat/Rocket.Chat/pull/10691)) - -- Add `npm run postinstall` into example build script ([#10524](https://github.com/RocketChat/Rocket.Chat/pull/10524) by [@peccu](https://github.com/peccu)) - -- Correct links in README file ([#10674](https://github.com/RocketChat/Rocket.Chat/pull/10674) by [@winterstefan](https://github.com/winterstefan)) - -- Prometheus: Improve metric names ([#10789](https://github.com/RocketChat/Rocket.Chat/pull/10789)) - -- Improvement to push notifications on direct messages ([#10788](https://github.com/RocketChat/Rocket.Chat/pull/10788)) - -- Better metric for notifications ([#10786](https://github.com/RocketChat/Rocket.Chat/pull/10786)) - -- Add badge back to push notifications ([#10779](https://github.com/RocketChat/Rocket.Chat/pull/10779)) - -- Wizard improvements ([#10776](https://github.com/RocketChat/Rocket.Chat/pull/10776)) - -- Add setting and expose prometheus on port 9100 ([#10766](https://github.com/RocketChat/Rocket.Chat/pull/10766)) - -- Regression: Fix notifications for direct messages ([#10760](https://github.com/RocketChat/Rocket.Chat/pull/10760)) - -- Prometheus: Add metric to track hooks time ([#10798](https://github.com/RocketChat/Rocket.Chat/pull/10798)) - -- Regression: Autorun of wizard was not destroyed after completion ([#10802](https://github.com/RocketChat/Rocket.Chat/pull/10802)) - -- Prometheus: Fix notification metric ([#10803](https://github.com/RocketChat/Rocket.Chat/pull/10803)) - -- Regression: Fix wrong wizard field name ([#10804](https://github.com/RocketChat/Rocket.Chat/pull/10804)) -
### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜ @@ -7057,7 +7614,6 @@ - [@gdelavald](https://github.com/gdelavald) - [@karlprieb](https://github.com/karlprieb) - [@peccu](https://github.com/peccu) -- [@rafaelks](https://github.com/rafaelks) - [@winterstefan](https://github.com/winterstefan) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -7433,7 +7989,7 @@ - [@sampaiodiego](https://github.com/sampaiodiego) # 0.63.0 -`2018-04-04 ยท 1 ๏ธ๏ธ๏ธโš ๏ธ ยท 18 ๐ŸŽ‰ ยท 30 ๐Ÿ› ยท 20 ๐Ÿ” ยท 24 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2018-04-04 ยท 1 ๏ธ๏ธ๏ธโš ๏ธ ยท 18 ๐ŸŽ‰ ยท 36 ๐Ÿ› ยท 20 ๐Ÿ” ยท 25 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.11.1` @@ -7522,6 +8078,18 @@ - Able to react with invalid emoji ([#8667](https://github.com/RocketChat/Rocket.Chat/pull/8667) by [@mutdmour](https://github.com/mutdmour)) +- Slack Import reports `invalid import file type` due to a call to BSON.native() which is now doesn't exist ([#10071](https://github.com/RocketChat/Rocket.Chat/pull/10071) by [@trongthanh](https://github.com/trongthanh)) + +- Verified property of user is always set to false if not supplied ([#9719](https://github.com/RocketChat/Rocket.Chat/pull/9719)) + +- Update preferences of users with settings: null was crashing the server ([#10076](https://github.com/RocketChat/Rocket.Chat/pull/10076)) + +- REST API: Can't list all public channels when user has permission `view-joined-room` ([#10009](https://github.com/RocketChat/Rocket.Chat/pull/10009)) + +- Message editing is crashing the server when read receipts are enabled ([#10061](https://github.com/RocketChat/Rocket.Chat/pull/10061)) + +- Download links was duplicating Sub Paths ([#10029](https://github.com/RocketChat/Rocket.Chat/pull/10029)) + - User preferences can't be saved when roles are hidden in admin settings ([#10051](https://github.com/RocketChat/Rocket.Chat/pull/10051) by [@Hudell](https://github.com/Hudell)) - Browser was auto-filling values when editing another user profile ([#9932](https://github.com/RocketChat/Rocket.Chat/pull/9932) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) @@ -7609,6 +8177,7 @@ - [@mutdmour](https://github.com/mutdmour) - [@pierreozoux](https://github.com/pierreozoux) - [@ramrami](https://github.com/ramrami) +- [@trongthanh](https://github.com/trongthanh) - [@ubarsaiyan](https://github.com/ubarsaiyan) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -7699,7 +8268,7 @@ - [@sampaiodiego](https://github.com/sampaiodiego) # 0.62.0 -`2018-02-27 ยท 1 ๏ธ๏ธ๏ธโš ๏ธ ยท 24 ๐ŸŽ‰ ยท 29 ๐Ÿ› ยท 26 ๐Ÿ” ยท 39 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2018-02-27 ยท 1 ๏ธ๏ธ๏ธโš ๏ธ ยท 24 ๐ŸŽ‰ ยท 32 ๐Ÿ› ยท 26 ๐Ÿ” ยท 39 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.9.4` @@ -7770,6 +8339,10 @@ - Close button on file upload bar was not working ([#9662](https://github.com/RocketChat/Rocket.Chat/pull/9662) by [@karlprieb](https://github.com/karlprieb)) +- Livechat conversation not receiving messages when start without form ([#9772](https://github.com/RocketChat/Rocket.Chat/pull/9772)) + +- Emoji rendering on last message ([#9776](https://github.com/RocketChat/Rocket.Chat/pull/9776)) + - Chrome 64 breaks jitsi-meet iframe ([#9560](https://github.com/RocketChat/Rocket.Chat/pull/9560) by [@speedy01](https://github.com/speedy01)) - Harmonize channel-related actions ([#9697](https://github.com/RocketChat/Rocket.Chat/pull/9697) by [@mrsimpson](https://github.com/mrsimpson)) @@ -7780,6 +8353,8 @@ - 'Query' support for channels.list.joined, groups.list, groups.listAll, im.list ([#9424](https://github.com/RocketChat/Rocket.Chat/pull/9424) by [@xbolshe](https://github.com/xbolshe)) +- Livechat issues on external queue and lead capture ([#9750](https://github.com/RocketChat/Rocket.Chat/pull/9750)) + - DeprecationWarning: prom-client ... when starting Rocket Chat server ([#9747](https://github.com/RocketChat/Rocket.Chat/pull/9747) by [@jgtoriginal](https://github.com/jgtoriginal)) - API to retrive rooms was returning empty objects ([#9737](https://github.com/RocketChat/Rocket.Chat/pull/9737)) @@ -7975,7 +8550,7 @@ - [@rodrigok](https://github.com/rodrigok) # 0.61.0 -`2018-01-27 ยท 1 ๏ธ๏ธ๏ธโš ๏ธ ยท 11 ๐ŸŽ‰ ยท 13 ๐Ÿ› ยท 8 ๐Ÿ” ยท 15 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2018-01-27 ยท 1 ๏ธ๏ธ๏ธโš ๏ธ ยท 12 ๐ŸŽ‰ ยท 44 ๐Ÿ› ยท 39 ๐Ÿ” ยท 23 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.9.3` @@ -8009,6 +8584,8 @@ - Add support to external livechat queue service provider ([#9053](https://github.com/RocketChat/Rocket.Chat/pull/9053)) +- Make Custom oauth accept nested usernameField ([#9066](https://github.com/RocketChat/Rocket.Chat/pull/9066) by [@pierreozoux](https://github.com/pierreozoux)) + - Contextual bar mail messages ([#9510](https://github.com/RocketChat/Rocket.Chat/pull/9510) by [@karlprieb](https://github.com/karlprieb)) ### ๐Ÿ› Bug fixes @@ -8030,48 +8607,179 @@ - Highlight setting not working correctly ([#9364](https://github.com/RocketChat/Rocket.Chat/pull/9364) by [@cyclops24](https://github.com/cyclops24)) -- File access not working when passing credentials via querystring ([#9264](https://github.com/RocketChat/Rocket.Chat/pull/9264)) +- announcement hyperlink color ([#9330](https://github.com/RocketChat/Rocket.Chat/pull/9330) by [@karlprieb](https://github.com/karlprieb)) -- Contextual bar redesign ([#9481](https://github.com/RocketChat/Rocket.Chat/pull/9481) by [@gdelavald](https://github.com/gdelavald) & [@karlprieb](https://github.com/karlprieb)) +- popover on safari for iOS ([#9328](https://github.com/RocketChat/Rocket.Chat/pull/9328) by [@karlprieb](https://github.com/karlprieb)) -- mention-here is missing i18n text #9455 ([#9456](https://github.com/RocketChat/Rocket.Chat/pull/9456) by [@ryjones](https://github.com/ryjones)) +- last message cutting on bottom ([#9345](https://github.com/RocketChat/Rocket.Chat/pull/9345) by [@karlprieb](https://github.com/karlprieb)) -- Fix livechat visitor edit ([#9506](https://github.com/RocketChat/Rocket.Chat/pull/9506)) +- Deleting message with store last message not removing ([#9335](https://github.com/RocketChat/Rocket.Chat/pull/9335)) -- large names on userinfo, and admin user bug on users with no usernames ([#9493](https://github.com/RocketChat/Rocket.Chat/pull/9493) by [@gdelavald](https://github.com/gdelavald)) +- custom emoji size on sidebar item ([#9314](https://github.com/RocketChat/Rocket.Chat/pull/9314) by [@karlprieb](https://github.com/karlprieb)) -
-๐Ÿ” Minor changes +- svg render on firefox ([#9311](https://github.com/RocketChat/Rocket.Chat/pull/9311) by [@karlprieb](https://github.com/karlprieb)) +- sidebar footer padding ([#9249](https://github.com/RocketChat/Rocket.Chat/pull/9249) by [@karlprieb](https://github.com/karlprieb)) -- Release 0.61.0 ([#9533](https://github.com/RocketChat/Rocket.Chat/pull/9533) by [@karlprieb](https://github.com/karlprieb) & [@ryjones](https://github.com/ryjones)) +- LDAP/AD is not importing all users ([#9309](https://github.com/RocketChat/Rocket.Chat/pull/9309)) -- Add community bot ([#9439](https://github.com/RocketChat/Rocket.Chat/pull/9439)) +- Wrong position of notifications alert in accounts preference page ([#9289](https://github.com/RocketChat/Rocket.Chat/pull/9289) by [@HammyHavoc](https://github.com/HammyHavoc)) -- Use correct version of Mailparser module ([#9356](https://github.com/RocketChat/Rocket.Chat/pull/9356)) +- English Typos ([#9285](https://github.com/RocketChat/Rocket.Chat/pull/9285) by [@HammyHavoc](https://github.com/HammyHavoc)) -- Develop sync - Bump version to 0.61.0-develop ([#9260](https://github.com/RocketChat/Rocket.Chat/pull/9260) by [@cpitman](https://github.com/cpitman) & [@karlprieb](https://github.com/karlprieb)) +- File access not working when passing credentials via querystring ([#9264](https://github.com/RocketChat/Rocket.Chat/pull/9264)) -- [Fix] oauth not working because of email array ([#9173](https://github.com/RocketChat/Rocket.Chat/pull/9173)) +- Move emojipicker css to theme package ([#9243](https://github.com/RocketChat/Rocket.Chat/pull/9243) by [@karlprieb](https://github.com/karlprieb)) -- [DOCS] Update the links of our Mobile Apps in Features topic ([#9469](https://github.com/RocketChat/Rocket.Chat/pull/9469) by [@rafaelks](https://github.com/rafaelks)) +- Show modal with announcement ([#9241](https://github.com/RocketChat/Rocket.Chat/pull/9241) by [@karlprieb](https://github.com/karlprieb)) -- Update license ([#9490](https://github.com/RocketChat/Rocket.Chat/pull/9490)) +- "Enter usernames" placeholder is cutting in "create channel" view ([#9194](https://github.com/RocketChat/Rocket.Chat/pull/9194) by [@TheReal1604](https://github.com/TheReal1604)) -- Prevent NPM package-lock inside livechat ([#9504](https://github.com/RocketChat/Rocket.Chat/pull/9504)) +- File upload not working on IE and weird on Chrome ([#9206](https://github.com/RocketChat/Rocket.Chat/pull/9206) by [@karlprieb](https://github.com/karlprieb)) -
+- make the cross icon on user selection at channel creation page work ([#9176](https://github.com/RocketChat/Rocket.Chat/pull/9176) by [@karlprieb](https://github.com/karlprieb) & [@vitor-nagao](https://github.com/vitor-nagao)) -### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜ +- Made welcome emails more readable ([#9193](https://github.com/RocketChat/Rocket.Chat/pull/9193) by [@HammyHavoc](https://github.com/HammyHavoc)) -- [@cpitman](https://github.com/cpitman) -- [@cyclops24](https://github.com/cyclops24) +- Cursor position when reply on safari ([#9185](https://github.com/RocketChat/Rocket.Chat/pull/9185) by [@karlprieb](https://github.com/karlprieb)) + +- Emoji size on last message preview ([#9186](https://github.com/RocketChat/Rocket.Chat/pull/9186) by [@karlprieb](https://github.com/karlprieb)) + +- Unread bar position when room have announcement ([#9188](https://github.com/RocketChat/Rocket.Chat/pull/9188) by [@karlprieb](https://github.com/karlprieb)) + +- Error when user roles is missing or is invalid ([#9040](https://github.com/RocketChat/Rocket.Chat/pull/9040) by [@paulovitin](https://github.com/paulovitin)) + +- Make mentions and menu icons color darker ([#8922](https://github.com/RocketChat/Rocket.Chat/pull/8922) by [@karlprieb](https://github.com/karlprieb)) + +- "Use Emoji" preference not working ([#9182](https://github.com/RocketChat/Rocket.Chat/pull/9182) by [@karlprieb](https://github.com/karlprieb)) + +- channel create scroll on small screens ([#9168](https://github.com/RocketChat/Rocket.Chat/pull/9168) by [@karlprieb](https://github.com/karlprieb)) + +- go to replied message ([#9172](https://github.com/RocketChat/Rocket.Chat/pull/9172) by [@karlprieb](https://github.com/karlprieb)) + +- modal data on enter and modal style for file preview ([#9171](https://github.com/RocketChat/Rocket.Chat/pull/9171) by [@karlprieb](https://github.com/karlprieb)) + +- show oauth logins when adblock is used ([#9170](https://github.com/RocketChat/Rocket.Chat/pull/9170) by [@karlprieb](https://github.com/karlprieb)) + +- Last sent message reoccurs in textbox ([#9169](https://github.com/RocketChat/Rocket.Chat/pull/9169)) + +- Update Rocket.Chat for sandstorm ([#9062](https://github.com/RocketChat/Rocket.Chat/pull/9062) by [@peterlee0127](https://github.com/peterlee0127)) + +- Importers not recovering when an error occurs ([#9134](https://github.com/RocketChat/Rocket.Chat/pull/9134)) + +- Do not block room while loading history ([#9121](https://github.com/RocketChat/Rocket.Chat/pull/9121)) + +- Channel page error ([#9091](https://github.com/RocketChat/Rocket.Chat/pull/9091) by [@ggrish](https://github.com/ggrish)) + +- Contextual bar redesign ([#9481](https://github.com/RocketChat/Rocket.Chat/pull/9481) by [@gdelavald](https://github.com/gdelavald) & [@karlprieb](https://github.com/karlprieb)) + +- mention-here is missing i18n text #9455 ([#9456](https://github.com/RocketChat/Rocket.Chat/pull/9456) by [@ryjones](https://github.com/ryjones)) + +- Fix livechat visitor edit ([#9506](https://github.com/RocketChat/Rocket.Chat/pull/9506)) + +- large names on userinfo, and admin user bug on users with no usernames ([#9493](https://github.com/RocketChat/Rocket.Chat/pull/9493) by [@gdelavald](https://github.com/gdelavald)) + +
+๐Ÿ” Minor changes + + +- Release 0.61.0 ([#9533](https://github.com/RocketChat/Rocket.Chat/pull/9533) by [@karlprieb](https://github.com/karlprieb) & [@ryjones](https://github.com/ryjones)) + +- Add community bot ([#9439](https://github.com/RocketChat/Rocket.Chat/pull/9439)) + +- Use correct version of Mailparser module ([#9356](https://github.com/RocketChat/Rocket.Chat/pull/9356)) + +- Update Marked dependecy to 0.3.9 ([#9346](https://github.com/RocketChat/Rocket.Chat/pull/9346)) + +- Fix: English language improvements ([#9299](https://github.com/RocketChat/Rocket.Chat/pull/9299) by [@HammyHavoc](https://github.com/HammyHavoc)) + +- Fix: Change 'Wordpress' to 'WordPress ([#9291](https://github.com/RocketChat/Rocket.Chat/pull/9291) by [@HammyHavoc](https://github.com/HammyHavoc)) + +- Fix: Improved README.md ([#9290](https://github.com/RocketChat/Rocket.Chat/pull/9290) by [@HammyHavoc](https://github.com/HammyHavoc)) + +- Fix: README typo ([#9286](https://github.com/RocketChat/Rocket.Chat/pull/9286) by [@HammyHavoc](https://github.com/HammyHavoc)) + +- Develop sync - Bump version to 0.61.0-develop ([#9260](https://github.com/RocketChat/Rocket.Chat/pull/9260) by [@cpitman](https://github.com/cpitman) & [@karlprieb](https://github.com/karlprieb)) + +- Do not change room icon color when room is unread ([#9257](https://github.com/RocketChat/Rocket.Chat/pull/9257)) + +- LingoHub based on develop ([#9256](https://github.com/RocketChat/Rocket.Chat/pull/9256)) + +- Fix: Sidebar item on rtl and small devices ([#9247](https://github.com/RocketChat/Rocket.Chat/pull/9247) by [@karlprieb](https://github.com/karlprieb)) + +- Add curl, its missing on worker nodes so has to be explicitly added ([#9248](https://github.com/RocketChat/Rocket.Chat/pull/9248)) + +- Fix: Unneeded warning in payload of REST API calls ([#9240](https://github.com/RocketChat/Rocket.Chat/pull/9240)) + +- Fix: Missing option to set user's avatar from a url ([#9229](https://github.com/RocketChat/Rocket.Chat/pull/9229)) + +- Fix: Upload access control too distributed ([#9215](https://github.com/RocketChat/Rocket.Chat/pull/9215)) + +- Fix: Username find is matching partially ([#9217](https://github.com/RocketChat/Rocket.Chat/pull/9217)) + +- Fix: updating last message on message edit or delete ([#9227](https://github.com/RocketChat/Rocket.Chat/pull/9227)) + +- Fix: Rooms and users are using different avatar style ([#9196](https://github.com/RocketChat/Rocket.Chat/pull/9196)) + +- Replace postcss-nesting with postcss-nested ([#9200](https://github.com/RocketChat/Rocket.Chat/pull/9200)) + +- Dependencies Update ([#9197](https://github.com/RocketChat/Rocket.Chat/pull/9197)) + +- Typo: German language file ([#9190](https://github.com/RocketChat/Rocket.Chat/pull/9190) by [@TheReal1604](https://github.com/TheReal1604)) + +- Fix: Snippet name to not showing in snippet list ([#9184](https://github.com/RocketChat/Rocket.Chat/pull/9184) by [@karlprieb](https://github.com/karlprieb)) + +- Fix/api me only return verified ([#9183](https://github.com/RocketChat/Rocket.Chat/pull/9183)) + +- Fix: UI: Descenders of glyphs are cut off ([#9181](https://github.com/RocketChat/Rocket.Chat/pull/9181)) + +- [Fix] oauth not working because of email array ([#9173](https://github.com/RocketChat/Rocket.Chat/pull/9173)) + +- Fix: Click on channel name - hover area bigger than link area ([#9165](https://github.com/RocketChat/Rocket.Chat/pull/9165)) + +- Fix: UI: Descenders of glyphs are cut off ([#9166](https://github.com/RocketChat/Rocket.Chat/pull/9166)) + +- Fix: Canโ€™t login using LDAP via REST ([#9162](https://github.com/RocketChat/Rocket.Chat/pull/9162)) + +- Fix: Unread line ([#9149](https://github.com/RocketChat/Rocket.Chat/pull/9149)) + +- Fix test without oplog by waiting a successful login on changing users ([#9146](https://github.com/RocketChat/Rocket.Chat/pull/9146)) + +- Fix: Messages being displayed in reverse order ([#9144](https://github.com/RocketChat/Rocket.Chat/pull/9144)) + +- Fix: Clear all unreads modal not closing after confirming ([#9137](https://github.com/RocketChat/Rocket.Chat/pull/9137)) + +- Fix: Message action quick buttons drops if "new message" divider is being shown ([#9138](https://github.com/RocketChat/Rocket.Chat/pull/9138)) + +- Fix: Confirmation modals showing `Send` button ([#9136](https://github.com/RocketChat/Rocket.Chat/pull/9136)) + +- Fix: Multiple unread indicators ([#9120](https://github.com/RocketChat/Rocket.Chat/pull/9120)) + +- [DOCS] Update the links of our Mobile Apps in Features topic ([#9469](https://github.com/RocketChat/Rocket.Chat/pull/9469) by [@rafaelks](https://github.com/rafaelks)) + +- Update license ([#9490](https://github.com/RocketChat/Rocket.Chat/pull/9490)) + +- Prevent NPM package-lock inside livechat ([#9504](https://github.com/RocketChat/Rocket.Chat/pull/9504)) + +
+ +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜ + +- [@HammyHavoc](https://github.com/HammyHavoc) +- [@TheReal1604](https://github.com/TheReal1604) +- [@cpitman](https://github.com/cpitman) +- [@cyclops24](https://github.com/cyclops24) - [@gdelavald](https://github.com/gdelavald) +- [@ggrish](https://github.com/ggrish) - [@karlprieb](https://github.com/karlprieb) +- [@paulovitin](https://github.com/paulovitin) +- [@peterlee0127](https://github.com/peterlee0127) +- [@pierreozoux](https://github.com/pierreozoux) - [@rafaelks](https://github.com/rafaelks) - [@ramrami](https://github.com/ramrami) - [@rndmh3ro](https://github.com/rndmh3ro) - [@ryjones](https://github.com/ryjones) +- [@vitor-nagao](https://github.com/vitor-nagao) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -8080,6 +8788,7 @@ - [@frdmn](https://github.com/frdmn) - [@geekgonecrazy](https://github.com/geekgonecrazy) - [@ggazzo](https://github.com/ggazzo) +- [@graywolf336](https://github.com/graywolf336) - [@rodrigok](https://github.com/rodrigok) - [@sampaiodiego](https://github.com/sampaiodiego) @@ -8215,7 +8924,7 @@ - [@rodrigok](https://github.com/rodrigok) # 0.60.0 -`2017-12-27 ยท 27 ๐ŸŽ‰ ยท 74 ๐Ÿ› ยท 72 ๐Ÿ” ยท 59 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2017-12-27 ยท 33 ๐ŸŽ‰ ยท 171 ๐Ÿ› ยท 99 ๐Ÿ” ยท 71 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `8.9.3` @@ -8266,118 +8975,324 @@ - Upgrade Meteor to 1.6 ([#8715](https://github.com/RocketChat/Rocket.Chat/pull/8715) by [@karlprieb](https://github.com/karlprieb)) +- Setting to disable MarkDown and enable AutoLinker ([#8459](https://github.com/RocketChat/Rocket.Chat/pull/8459)) + - Add settings for allow user direct messages to yourself ([#8066](https://github.com/RocketChat/Rocket.Chat/pull/8066) by [@lindoelio](https://github.com/lindoelio)) - Add sweet alert to video call tab ([#8108](https://github.com/RocketChat/Rocket.Chat/pull/8108)) - Displays QR code for manually entering when enabling 2fa ([#8143](https://github.com/RocketChat/Rocket.Chat/pull/8143)) -- Add yunohost.org installation method to Readme.md ([#8037](https://github.com/RocketChat/Rocket.Chat/pull/8037) by [@selamanse](https://github.com/selamanse)) +- Unify unread and mentions badge ([#8361](https://github.com/RocketChat/Rocket.Chat/pull/8361) by [@karlprieb](https://github.com/karlprieb)) + +- make sidebar item width 100% ([#8362](https://github.com/RocketChat/Rocket.Chat/pull/8362) by [@karlprieb](https://github.com/karlprieb)) + +- Smaller accountBox ([#8360](https://github.com/RocketChat/Rocket.Chat/pull/8360) by [@karlprieb](https://github.com/karlprieb)) + +- Add RD Station integration to livechat ([#8304](https://github.com/RocketChat/Rocket.Chat/pull/8304)) + +- Upgrade to meteor 1.5.2 ([#8073](https://github.com/RocketChat/Rocket.Chat/pull/8073)) + +- Add yunohost.org installation method to Readme.md ([#8037](https://github.com/RocketChat/Rocket.Chat/pull/8037) by [@selamanse](https://github.com/selamanse)) + +- Modal ([#9092](https://github.com/RocketChat/Rocket.Chat/pull/9092) by [@karlprieb](https://github.com/karlprieb)) + +- Make Custom oauth accept nested usernameField ([#9066](https://github.com/RocketChat/Rocket.Chat/pull/9066) by [@pierreozoux](https://github.com/pierreozoux)) + +### ๐Ÿ› Bug fixes + + +- Can't react on Read Only rooms even when enabled ([#8925](https://github.com/RocketChat/Rocket.Chat/pull/8925) by [@karlprieb](https://github.com/karlprieb)) + +- CAS does not share secrets when operating multiple server instances ([#8654](https://github.com/RocketChat/Rocket.Chat/pull/8654) by [@AmShaegar13](https://github.com/AmShaegar13)) + +- Snippetted messages not working ([#8937](https://github.com/RocketChat/Rocket.Chat/pull/8937) by [@karlprieb](https://github.com/karlprieb)) + +- Added afterUserCreated trigger after first CAS login ([#9022](https://github.com/RocketChat/Rocket.Chat/pull/9022) by [@AmShaegar13](https://github.com/AmShaegar13)) + +- Notification is not sent when a video conference start ([#8828](https://github.com/RocketChat/Rocket.Chat/pull/8828) by [@deepseainside75](https://github.com/deepseainside75) & [@stefanoverducci](https://github.com/stefanoverducci)) + +- long filename overlaps cancel button in progress bar ([#8868](https://github.com/RocketChat/Rocket.Chat/pull/8868) by [@joesitton](https://github.com/joesitton)) + +- Changed oembedUrlWidget to prefer og:image and twitter:image over msapplication-TileImage ([#9012](https://github.com/RocketChat/Rocket.Chat/pull/9012) by [@wferris722](https://github.com/wferris722)) + +- Update insecure moment.js dependency ([#9046](https://github.com/RocketChat/Rocket.Chat/pull/9046) by [@robbyoconnor](https://github.com/robbyoconnor)) + +- Custom OAuth: Not able to set different token place for routes ([#9034](https://github.com/RocketChat/Rocket.Chat/pull/9034)) + +- Can't use OAuth login against a Rocket.Chat OAuth server ([#9044](https://github.com/RocketChat/Rocket.Chat/pull/9044)) + +- Notification sound is not disabling when busy ([#9042](https://github.com/RocketChat/Rocket.Chat/pull/9042)) + +- Use encodeURI in AmazonS3 contentDisposition file.name to prevent fail ([#9024](https://github.com/RocketChat/Rocket.Chat/pull/9024) by [@paulovitin](https://github.com/paulovitin)) + +- snap install by setting grpc package used by google/vision to 1.6.6 ([#9029](https://github.com/RocketChat/Rocket.Chat/pull/9029)) + +- Enable CORS for Restivus ([#8671](https://github.com/RocketChat/Rocket.Chat/pull/8671) by [@mrsimpson](https://github.com/mrsimpson)) + +- Importers failing when usernames exists but cases don't match and improve the importer framework's performance ([#8966](https://github.com/RocketChat/Rocket.Chat/pull/8966)) + +- Error when saving integration with symbol as only trigger ([#9023](https://github.com/RocketChat/Rocket.Chat/pull/9023)) + +- Sync of non existent field throws exception ([#8006](https://github.com/RocketChat/Rocket.Chat/pull/8006) by [@goiaba](https://github.com/goiaba)) + +- Autoupdate of CSS does not work when using a prefix ([#8107](https://github.com/RocketChat/Rocket.Chat/pull/8107) by [@Darkneon](https://github.com/Darkneon)) + +- Contextual errors for this and RegExp declarations in IRC module ([#8656](https://github.com/RocketChat/Rocket.Chat/pull/8656) by [@Pharserror](https://github.com/Pharserror)) + +- Wrong room counter name ([#9013](https://github.com/RocketChat/Rocket.Chat/pull/9013) by [@karlprieb](https://github.com/karlprieb)) + +- Message-box autogrow flick ([#8932](https://github.com/RocketChat/Rocket.Chat/pull/8932) by [@karlprieb](https://github.com/karlprieb)) + +- Don't strip trailing slash on autolinker urls ([#8812](https://github.com/RocketChat/Rocket.Chat/pull/8812) by [@jwilkins](https://github.com/jwilkins)) + +- Change the unread messages style ([#8883](https://github.com/RocketChat/Rocket.Chat/pull/8883) by [@karlprieb](https://github.com/karlprieb)) + +- Missing sidebar footer padding ([#8884](https://github.com/RocketChat/Rocket.Chat/pull/8884) by [@karlprieb](https://github.com/karlprieb)) + +- Long room announcement cut off ([#8907](https://github.com/RocketChat/Rocket.Chat/pull/8907) by [@karlprieb](https://github.com/karlprieb)) + +- DM email notifications always being sent regardless of account setting ([#8917](https://github.com/RocketChat/Rocket.Chat/pull/8917) by [@ashward](https://github.com/ashward)) + +- Typo Fix ([#8938](https://github.com/RocketChat/Rocket.Chat/pull/8938) by [@seangeleno](https://github.com/seangeleno)) + +- Katex markdown link changed ([#8948](https://github.com/RocketChat/Rocket.Chat/pull/8948) by [@mritunjaygoutam12](https://github.com/mritunjaygoutam12)) + +- if ogImage exists use it over image in oembedUrlWidget ([#9000](https://github.com/RocketChat/Rocket.Chat/pull/9000) by [@satyapramodh](https://github.com/satyapramodh)) + +- Cannot edit or delete custom sounds ([#8889](https://github.com/RocketChat/Rocket.Chat/pull/8889) by [@ccfang](https://github.com/ccfang)) + +- Change old 'rocketbot' username to 'InternalHubot_Username' setting ([#8928](https://github.com/RocketChat/Rocket.Chat/pull/8928) by [@ramrami](https://github.com/ramrami)) + +- Link for channels are not rendering correctly ([#8985](https://github.com/RocketChat/Rocket.Chat/pull/8985) by [@karlprieb](https://github.com/karlprieb)) + +- Xenforo [BD]API for 'user.user_id; instead of 'id' ([#8968](https://github.com/RocketChat/Rocket.Chat/pull/8968) by [@wesnspace](https://github.com/wesnspace)) + +- flextab height on smaller screens ([#8994](https://github.com/RocketChat/Rocket.Chat/pull/8994) by [@karlprieb](https://github.com/karlprieb)) + +- Check for mention-all permission in room scope ([#8931](https://github.com/RocketChat/Rocket.Chat/pull/8931)) + +- fix emoji package path so they show up correctly in browser ([#8822](https://github.com/RocketChat/Rocket.Chat/pull/8822) by [@ryoshimizu](https://github.com/ryoshimizu)) + +- Set correct Twitter link ([#8830](https://github.com/RocketChat/Rocket.Chat/pull/8830) by [@jotafeldmann](https://github.com/jotafeldmann)) + +- User email settings on DM ([#8810](https://github.com/RocketChat/Rocket.Chat/pull/8810) by [@karlprieb](https://github.com/karlprieb)) + +- i18n'd Resend_verification_mail, username_initials, upload avatar ([#8721](https://github.com/RocketChat/Rocket.Chat/pull/8721) by [@arungalva](https://github.com/arungalva)) + +- Username clipping on firefox ([#8716](https://github.com/RocketChat/Rocket.Chat/pull/8716) by [@karlprieb](https://github.com/karlprieb)) + +- Improved grammar and made it clearer to the user ([#8795](https://github.com/RocketChat/Rocket.Chat/pull/8795) by [@HammyHavoc](https://github.com/HammyHavoc)) + +- Show real name of current user at top of side nav if setting enabled ([#8718](https://github.com/RocketChat/Rocket.Chat/pull/8718) by [@alexbrazier](https://github.com/alexbrazier)) + +- Range Slider Value label has bug in RTL ([#8441](https://github.com/RocketChat/Rocket.Chat/pull/8441) by [@cyclops24](https://github.com/cyclops24)) + +- Add historic chats icon in Livechat ([#8708](https://github.com/RocketChat/Rocket.Chat/pull/8708) by [@mrsimpson](https://github.com/mrsimpson)) + +- Sort direct messages by full name if show real names setting enabled ([#8717](https://github.com/RocketChat/Rocket.Chat/pull/8717) by [@alexbrazier](https://github.com/alexbrazier)) + +- Improving consistency of UX ([#8796](https://github.com/RocketChat/Rocket.Chat/pull/8796) by [@HammyHavoc](https://github.com/HammyHavoc)) + +- fixed some typos ([#8787](https://github.com/RocketChat/Rocket.Chat/pull/8787) by [@TheReal1604](https://github.com/TheReal1604)) + +- Fix e-mail message forward ([#8645](https://github.com/RocketChat/Rocket.Chat/pull/8645)) + +- Audio message icon ([#8648](https://github.com/RocketChat/Rocket.Chat/pull/8648) by [@karlprieb](https://github.com/karlprieb)) + +- Highlighted color height issue ([#8431](https://github.com/RocketChat/Rocket.Chat/pull/8431) by [@cyclops24](https://github.com/cyclops24)) + +- AmazonS3: Quote file.name for ContentDisposition for files with commas ([#8593](https://github.com/RocketChat/Rocket.Chat/pull/8593) by [@xenithorb](https://github.com/xenithorb)) + +- Update pt-BR translation ([#8655](https://github.com/RocketChat/Rocket.Chat/pull/8655) by [@rodorgas](https://github.com/rodorgas)) + +- Fix typos ([#8679](https://github.com/RocketChat/Rocket.Chat/pull/8679)) + +- LDAP not respecting UTF8 characters & Sync Interval not working ([#8691](https://github.com/RocketChat/Rocket.Chat/pull/8691)) + +- Missing scroll at create channel page ([#8637](https://github.com/RocketChat/Rocket.Chat/pull/8637) by [@karlprieb](https://github.com/karlprieb)) + +- Message popup menu on mobile/cordova ([#8634](https://github.com/RocketChat/Rocket.Chat/pull/8634) by [@karlprieb](https://github.com/karlprieb)) + +- API channel/group.members not sorting ([#8635](https://github.com/RocketChat/Rocket.Chat/pull/8635)) + +- LDAP not merging existent users && Wrong id link generation ([#8613](https://github.com/RocketChat/Rocket.Chat/pull/8613)) + +- encode filename in url to prevent links breaking ([#8551](https://github.com/RocketChat/Rocket.Chat/pull/8551) by [@joesitton](https://github.com/joesitton)) + +- Fix guest pool inquiry taking ([#8577](https://github.com/RocketChat/Rocket.Chat/pull/8577)) + +- Changed all rocket.chat/docs/ to docs.rocket.chat/ ([#8588](https://github.com/RocketChat/Rocket.Chat/pull/8588) by [@RekkyRek](https://github.com/RekkyRek)) + +- Color reset when default value editor is different ([#8543](https://github.com/RocketChat/Rocket.Chat/pull/8543)) + +- Wrong colors after migration 103 ([#8547](https://github.com/RocketChat/Rocket.Chat/pull/8547)) + +- LDAP login error regression at 0.59.0 ([#8541](https://github.com/RocketChat/Rocket.Chat/pull/8541)) + +- Migration 103 wrong converting primrary colors ([#8544](https://github.com/RocketChat/Rocket.Chat/pull/8544)) + +- Do not send joinCode field to clients ([#8527](https://github.com/RocketChat/Rocket.Chat/pull/8527)) + +- Uncessary route reload break some routes ([#8514](https://github.com/RocketChat/Rocket.Chat/pull/8514)) + +- Invalid Code message for password protected channel ([#8491](https://github.com/RocketChat/Rocket.Chat/pull/8491)) + +- Wrong message when reseting password and 2FA is enabled ([#8489](https://github.com/RocketChat/Rocket.Chat/pull/8489)) + +- LDAP memory issues when pagination is not available ([#8457](https://github.com/RocketChat/Rocket.Chat/pull/8457)) + +- Add needed dependency for snaps ([#8389](https://github.com/RocketChat/Rocket.Chat/pull/8389)) + +- Slack import failing and not being able to be restarted ([#8390](https://github.com/RocketChat/Rocket.Chat/pull/8390)) + +- Sidebar item menu position in RTL ([#8397](https://github.com/RocketChat/Rocket.Chat/pull/8397) by [@cyclops24](https://github.com/cyclops24)) + +- disabled katex tooltip on messageBox ([#8386](https://github.com/RocketChat/Rocket.Chat/pull/8386)) + +- Duplicate code in rest api letting in a few bugs with the rest api ([#8408](https://github.com/RocketChat/Rocket.Chat/pull/8408)) + +- Various LDAP issues & Missing pagination ([#8372](https://github.com/RocketChat/Rocket.Chat/pull/8372)) + +- remove accountBox from admin menu ([#8358](https://github.com/RocketChat/Rocket.Chat/pull/8358) by [@karlprieb](https://github.com/karlprieb)) + +- Missing i18n translations ([#8357](https://github.com/RocketChat/Rocket.Chat/pull/8357)) + +- After deleting the room, cache is not synchronizing ([#8314](https://github.com/RocketChat/Rocket.Chat/pull/8314) by [@szluohua](https://github.com/szluohua)) + +- Remove sidebar header on admin embedded version ([#8334](https://github.com/RocketChat/Rocket.Chat/pull/8334) by [@karlprieb](https://github.com/karlprieb)) + +- Email Subjects not being sent ([#8317](https://github.com/RocketChat/Rocket.Chat/pull/8317)) + +- Put delete action on another popover group ([#8315](https://github.com/RocketChat/Rocket.Chat/pull/8315) by [@karlprieb](https://github.com/karlprieb)) + +- Mention unread indicator was removed ([#8316](https://github.com/RocketChat/Rocket.Chat/pull/8316)) + +- Execute meteor reset on TRAVIS_TAG builds ([#8310](https://github.com/RocketChat/Rocket.Chat/pull/8310)) + +- Wrong file name when upload to AWS S3 ([#8296](https://github.com/RocketChat/Rocket.Chat/pull/8296)) + +- TypeError: Cannot read property 't' of undefined ([#8298](https://github.com/RocketChat/Rocket.Chat/pull/8298)) + +- Check attachments is defined before accessing first element ([#8295](https://github.com/RocketChat/Rocket.Chat/pull/8295) by [@Darkneon](https://github.com/Darkneon)) + +- Amin menu not showing all items & File list breaking line ([#8299](https://github.com/RocketChat/Rocket.Chat/pull/8299) by [@karlprieb](https://github.com/karlprieb)) + +- Call buttons with wrong margin on RTL ([#8307](https://github.com/RocketChat/Rocket.Chat/pull/8307) by [@karlprieb](https://github.com/karlprieb)) + +- Emoji Picker hidden for reactions in RTL ([#8300](https://github.com/RocketChat/Rocket.Chat/pull/8300) by [@karlprieb](https://github.com/karlprieb)) + +- fix color on unread messages ([#8282](https://github.com/RocketChat/Rocket.Chat/pull/8282)) + +- Missing placeholder translations ([#8286](https://github.com/RocketChat/Rocket.Chat/pull/8286)) + +- "Cancel button" on modal in RTL in Firefox 55 ([#8278](https://github.com/RocketChat/Rocket.Chat/pull/8278) by [@cyclops24](https://github.com/cyclops24)) -- Modal ([#9092](https://github.com/RocketChat/Rocket.Chat/pull/9092) by [@karlprieb](https://github.com/karlprieb)) +- Attachment icons alignment in LTR and RTL ([#8271](https://github.com/RocketChat/Rocket.Chat/pull/8271) by [@cyclops24](https://github.com/cyclops24)) -- Make Custom oauth accept nested usernameField ([#9066](https://github.com/RocketChat/Rocket.Chat/pull/9066) by [@pierreozoux](https://github.com/pierreozoux)) +- [i18n] My Profile & README.md links ([#8270](https://github.com/RocketChat/Rocket.Chat/pull/8270) by [@Rzeszow](https://github.com/Rzeszow)) -### ๐Ÿ› Bug fixes +- Incorrect URL for login terms when using prefix ([#8211](https://github.com/RocketChat/Rocket.Chat/pull/8211) by [@Darkneon](https://github.com/Darkneon)) +- Scrollbar not using new style ([#8190](https://github.com/RocketChat/Rocket.Chat/pull/8190)) -- Can't react on Read Only rooms even when enabled ([#8925](https://github.com/RocketChat/Rocket.Chat/pull/8925) by [@karlprieb](https://github.com/karlprieb)) +- User avatar in DM list. ([#8210](https://github.com/RocketChat/Rocket.Chat/pull/8210)) -- CAS does not share secrets when operating multiple server instances ([#8654](https://github.com/RocketChat/Rocket.Chat/pull/8654) by [@AmShaegar13](https://github.com/AmShaegar13)) +- Fix iframe login API response (issue #8145) ([#8146](https://github.com/RocketChat/Rocket.Chat/pull/8146) by [@astax-t](https://github.com/astax-t)) -- Snippetted messages not working ([#8937](https://github.com/RocketChat/Rocket.Chat/pull/8937) by [@karlprieb](https://github.com/karlprieb)) +- Issue #8166 where empty analytics setting breaks to load Piwik script ([#8167](https://github.com/RocketChat/Rocket.Chat/pull/8167) by [@ruKurz](https://github.com/ruKurz)) -- Added afterUserCreated trigger after first CAS login ([#9022](https://github.com/RocketChat/Rocket.Chat/pull/9022) by [@AmShaegar13](https://github.com/AmShaegar13)) +- Sidebar and RTL alignments ([#8154](https://github.com/RocketChat/Rocket.Chat/pull/8154) by [@karlprieb](https://github.com/karlprieb)) -- Notification is not sent when a video conference start ([#8828](https://github.com/RocketChat/Rocket.Chat/pull/8828) by [@deepseainside75](https://github.com/deepseainside75) & [@stefanoverducci](https://github.com/stefanoverducci)) +- "*.members" rest api being useless and only returning usernames ([#8147](https://github.com/RocketChat/Rocket.Chat/pull/8147)) -- long filename overlaps cancel button in progress bar ([#8868](https://github.com/RocketChat/Rocket.Chat/pull/8868) by [@joesitton](https://github.com/joesitton)) +- Text area lost text when page reloads ([#8159](https://github.com/RocketChat/Rocket.Chat/pull/8159)) -- Changed oembedUrlWidget to prefer og:image and twitter:image over msapplication-TileImage ([#9012](https://github.com/RocketChat/Rocket.Chat/pull/9012) by [@wferris722](https://github.com/wferris722)) +- Add admin audio preferences translations ([#8094](https://github.com/RocketChat/Rocket.Chat/pull/8094)) -- Update insecure moment.js dependency ([#9046](https://github.com/RocketChat/Rocket.Chat/pull/9046) by [@robbyoconnor](https://github.com/robbyoconnor)) +- RTL ([#8112](https://github.com/RocketChat/Rocket.Chat/pull/8112)) -- Custom OAuth: Not able to set different token place for routes ([#9034](https://github.com/RocketChat/Rocket.Chat/pull/9034)) +- Settings description not showing ([#8122](https://github.com/RocketChat/Rocket.Chat/pull/8122)) -- Can't use OAuth login against a Rocket.Chat OAuth server ([#9044](https://github.com/RocketChat/Rocket.Chat/pull/9044)) +- Not sending email to mentioned users with unchanged preference ([#8059](https://github.com/RocketChat/Rocket.Chat/pull/8059)) -- Notification sound is not disabling when busy ([#9042](https://github.com/RocketChat/Rocket.Chat/pull/9042)) +- Dynamic popover ([#8101](https://github.com/RocketChat/Rocket.Chat/pull/8101) by [@karlprieb](https://github.com/karlprieb)) -- Use encodeURI in AmazonS3 contentDisposition file.name to prevent fail ([#9024](https://github.com/RocketChat/Rocket.Chat/pull/9024) by [@paulovitin](https://github.com/paulovitin)) +- Fix setting user avatar on LDAP login ([#8099](https://github.com/RocketChat/Rocket.Chat/pull/8099)) -- snap install by setting grpc package used by google/vision to 1.6.6 ([#9029](https://github.com/RocketChat/Rocket.Chat/pull/9029)) +- Scroll on messagebox ([#8047](https://github.com/RocketChat/Rocket.Chat/pull/8047)) -- Enable CORS for Restivus ([#8671](https://github.com/RocketChat/Rocket.Chat/pull/8671) by [@mrsimpson](https://github.com/mrsimpson)) +- Invisible leader bar on hover ([#8048](https://github.com/RocketChat/Rocket.Chat/pull/8048)) -- Importers failing when usernames exists but cases don't match and improve the importer framework's performance ([#8966](https://github.com/RocketChat/Rocket.Chat/pull/8966)) +- Fix email on mention ([#7754](https://github.com/RocketChat/Rocket.Chat/pull/7754)) -- Error when saving integration with symbol as only trigger ([#9023](https://github.com/RocketChat/Rocket.Chat/pull/9023)) +- Prevent autotranslate tokens race condition ([#8046](https://github.com/RocketChat/Rocket.Chat/pull/8046)) -- Sync of non existent field throws exception ([#8006](https://github.com/RocketChat/Rocket.Chat/pull/8006) by [@goiaba](https://github.com/goiaba)) +- Vertical menu on flex-tab ([#7988](https://github.com/RocketChat/Rocket.Chat/pull/7988) by [@karlprieb](https://github.com/karlprieb)) -- Autoupdate of CSS does not work when using a prefix ([#8107](https://github.com/RocketChat/Rocket.Chat/pull/8107) by [@Darkneon](https://github.com/Darkneon)) +- message-box autogrow ([#8019](https://github.com/RocketChat/Rocket.Chat/pull/8019) by [@karlprieb](https://github.com/karlprieb)) -- Contextual errors for this and RegExp declarations in IRC module ([#8656](https://github.com/RocketChat/Rocket.Chat/pull/8656) by [@Pharserror](https://github.com/Pharserror)) +- copy to clipboard and update clipboard.js library ([#8039](https://github.com/RocketChat/Rocket.Chat/pull/8039) by [@karlprieb](https://github.com/karlprieb)) -- Wrong room counter name ([#9013](https://github.com/RocketChat/Rocket.Chat/pull/9013) by [@karlprieb](https://github.com/karlprieb)) +- Recent emojis not updated when adding via text ([#7998](https://github.com/RocketChat/Rocket.Chat/pull/7998)) -- Message-box autogrow flick ([#8932](https://github.com/RocketChat/Rocket.Chat/pull/8932) by [@karlprieb](https://github.com/karlprieb)) +- [PL] Polish translation ([#7989](https://github.com/RocketChat/Rocket.Chat/pull/7989) by [@Rzeszow](https://github.com/Rzeszow)) -- Don't strip trailing slash on autolinker urls ([#8812](https://github.com/RocketChat/Rocket.Chat/pull/8812) by [@jwilkins](https://github.com/jwilkins)) +- Chat box no longer auto-focuses when typing ([#7984](https://github.com/RocketChat/Rocket.Chat/pull/7984)) -- Change the unread messages style ([#8883](https://github.com/RocketChat/Rocket.Chat/pull/8883) by [@karlprieb](https://github.com/karlprieb)) +- Fix the status on the members list ([#7963](https://github.com/RocketChat/Rocket.Chat/pull/7963)) -- Missing sidebar footer padding ([#8884](https://github.com/RocketChat/Rocket.Chat/pull/8884) by [@karlprieb](https://github.com/karlprieb)) +- Markdown being rendered in code tags ([#7965](https://github.com/RocketChat/Rocket.Chat/pull/7965)) -- Long room announcement cut off ([#8907](https://github.com/RocketChat/Rocket.Chat/pull/8907) by [@karlprieb](https://github.com/karlprieb)) +- Email verification indicator added ([#7923](https://github.com/RocketChat/Rocket.Chat/pull/7923) by [@aditya19496](https://github.com/aditya19496)) -- DM email notifications always being sent regardless of account setting ([#8917](https://github.com/RocketChat/Rocket.Chat/pull/8917) by [@ashward](https://github.com/ashward)) +- Show leader on first load ([#7712](https://github.com/RocketChat/Rocket.Chat/pull/7712) by [@danischreiber](https://github.com/danischreiber)) -- Typo Fix ([#8938](https://github.com/RocketChat/Rocket.Chat/pull/8938) by [@seangeleno](https://github.com/seangeleno)) +- Add padding on messages to allow space to the action buttons ([#7971](https://github.com/RocketChat/Rocket.Chat/pull/7971)) -- Katex markdown link changed ([#8948](https://github.com/RocketChat/Rocket.Chat/pull/8948) by [@mritunjaygoutam12](https://github.com/mritunjaygoutam12)) +- Small alignment fixes ([#7970](https://github.com/RocketChat/Rocket.Chat/pull/7970)) -- if ogImage exists use it over image in oembedUrlWidget ([#9000](https://github.com/RocketChat/Rocket.Chat/pull/9000) by [@satyapramodh](https://github.com/satyapramodh)) +- username ellipsis on firefox ([#7953](https://github.com/RocketChat/Rocket.Chat/pull/7953) by [@karlprieb](https://github.com/karlprieb)) -- Cannot edit or delete custom sounds ([#8889](https://github.com/RocketChat/Rocket.Chat/pull/8889) by [@ccfang](https://github.com/ccfang)) +- Document README.md. Drupal repo out of date ([#7948](https://github.com/RocketChat/Rocket.Chat/pull/7948) by [@Lawri-van-Buel](https://github.com/Lawri-van-Buel)) -- Change old 'rocketbot' username to 'InternalHubot_Username' setting ([#8928](https://github.com/RocketChat/Rocket.Chat/pull/8928) by [@ramrami](https://github.com/ramrami)) +- Double scroll on 'keyboard shortcuts' menu in sidepanel ([#7927](https://github.com/RocketChat/Rocket.Chat/pull/7927) by [@aditya19496](https://github.com/aditya19496)) -- Link for channels are not rendering correctly ([#8985](https://github.com/RocketChat/Rocket.Chat/pull/8985) by [@karlprieb](https://github.com/karlprieb)) +- Broken emoji picker on firefox ([#7943](https://github.com/RocketChat/Rocket.Chat/pull/7943) by [@karlprieb](https://github.com/karlprieb)) -- Xenforo [BD]API for 'user.user_id; instead of 'id' ([#8968](https://github.com/RocketChat/Rocket.Chat/pull/8968) by [@wesnspace](https://github.com/wesnspace)) +- Broken embedded view layout ([#7944](https://github.com/RocketChat/Rocket.Chat/pull/7944) by [@karlprieb](https://github.com/karlprieb)) -- flextab height on smaller screens ([#8994](https://github.com/RocketChat/Rocket.Chat/pull/8994) by [@karlprieb](https://github.com/karlprieb)) +- Fix placeholders in account profile ([#7945](https://github.com/RocketChat/Rocket.Chat/pull/7945) by [@josiasds](https://github.com/josiasds)) -- Check for mention-all permission in room scope ([#8931](https://github.com/RocketChat/Rocket.Chat/pull/8931)) +- OTR buttons padding ([#7954](https://github.com/RocketChat/Rocket.Chat/pull/7954) by [@karlprieb](https://github.com/karlprieb)) -- fix emoji package path so they show up correctly in browser ([#8822](https://github.com/RocketChat/Rocket.Chat/pull/8822) by [@ryoshimizu](https://github.com/ryoshimizu)) +- status and active room colors on sidebar ([#7960](https://github.com/RocketChat/Rocket.Chat/pull/7960) by [@karlprieb](https://github.com/karlprieb)) -- Set correct Twitter link ([#8830](https://github.com/RocketChat/Rocket.Chat/pull/8830) by [@jotafeldmann](https://github.com/jotafeldmann)) +- Fix google play logo on repo README ([#7912](https://github.com/RocketChat/Rocket.Chat/pull/7912) by [@luizbills](https://github.com/luizbills)) -- User email settings on DM ([#8810](https://github.com/RocketChat/Rocket.Chat/pull/8810) by [@karlprieb](https://github.com/karlprieb)) +- Fix livechat toggle UI issue ([#7904](https://github.com/RocketChat/Rocket.Chat/pull/7904)) -- i18n'd Resend_verification_mail, username_initials, upload avatar ([#8721](https://github.com/RocketChat/Rocket.Chat/pull/8721) by [@arungalva](https://github.com/arungalva)) +- Remove break change in Realtime API ([#7895](https://github.com/RocketChat/Rocket.Chat/pull/7895)) -- Username clipping on firefox ([#8716](https://github.com/RocketChat/Rocket.Chat/pull/8716) by [@karlprieb](https://github.com/karlprieb)) +- Window exception when parsing Markdown on server ([#7893](https://github.com/RocketChat/Rocket.Chat/pull/7893)) -- Improved grammar and made it clearer to the user ([#8795](https://github.com/RocketChat/Rocket.Chat/pull/8795) by [@HammyHavoc](https://github.com/HammyHavoc)) +- sidebar buttons and badge paddings ([#7888](https://github.com/RocketChat/Rocket.Chat/pull/7888) by [@karlprieb](https://github.com/karlprieb)) -- Show real name of current user at top of side nav if setting enabled ([#8718](https://github.com/RocketChat/Rocket.Chat/pull/8718) by [@alexbrazier](https://github.com/alexbrazier)) +- hyperlink style on sidebar footer ([#7882](https://github.com/RocketChat/Rocket.Chat/pull/7882) by [@karlprieb](https://github.com/karlprieb)) -- Range Slider Value label has bug in RTL ([#8441](https://github.com/RocketChat/Rocket.Chat/pull/8441) by [@cyclops24](https://github.com/cyclops24)) +- livechat icon ([#7886](https://github.com/RocketChat/Rocket.Chat/pull/7886) by [@karlprieb](https://github.com/karlprieb)) -- Add historic chats icon in Livechat ([#8708](https://github.com/RocketChat/Rocket.Chat/pull/8708) by [@mrsimpson](https://github.com/mrsimpson)) +- Makes text action menu width based on content size ([#7887](https://github.com/RocketChat/Rocket.Chat/pull/7887) by [@gdelavald](https://github.com/gdelavald)) -- Sort direct messages by full name if show real names setting enabled ([#8717](https://github.com/RocketChat/Rocket.Chat/pull/8717) by [@alexbrazier](https://github.com/alexbrazier)) +- message actions over unread bar ([#7885](https://github.com/RocketChat/Rocket.Chat/pull/7885) by [@karlprieb](https://github.com/karlprieb)) -- Improving consistency of UX ([#8796](https://github.com/RocketChat/Rocket.Chat/pull/8796) by [@HammyHavoc](https://github.com/HammyHavoc)) +- popover position on mobile ([#7883](https://github.com/RocketChat/Rocket.Chat/pull/7883) by [@karlprieb](https://github.com/karlprieb)) -- fixed some typos ([#8787](https://github.com/RocketChat/Rocket.Chat/pull/8787) by [@TheReal1604](https://github.com/TheReal1604)) +- search results position on sidebar ([#7881](https://github.com/RocketChat/Rocket.Chat/pull/7881) by [@karlprieb](https://github.com/karlprieb)) -- Changed all rocket.chat/docs/ to docs.rocket.chat/ ([#8588](https://github.com/RocketChat/Rocket.Chat/pull/8588) by [@RekkyRek](https://github.com/RekkyRek)) +- sidebar paddings ([#7880](https://github.com/RocketChat/Rocket.Chat/pull/7880) by [@karlprieb](https://github.com/karlprieb)) -- Email verification indicator added ([#7923](https://github.com/RocketChat/Rocket.Chat/pull/7923) by [@aditya19496](https://github.com/aditya19496)) +- Adds default search text padding for emoji search ([#7878](https://github.com/RocketChat/Rocket.Chat/pull/7878) by [@gdelavald](https://github.com/gdelavald)) - REST API file upload not respecting size limit ([#9108](https://github.com/RocketChat/Rocket.Chat/pull/9108)) @@ -8483,8 +9398,26 @@ - Updated comments. ([#8719](https://github.com/RocketChat/Rocket.Chat/pull/8719) by [@jasonjyu](https://github.com/jasonjyu)) +- removing a duplicate line ([#8434](https://github.com/RocketChat/Rocket.Chat/pull/8434) by [@vikaskedia](https://github.com/vikaskedia)) + +- install grpc package manually to fix snap armhf build ([#8653](https://github.com/RocketChat/Rocket.Chat/pull/8653)) + - Fix community links in readme ([#8589](https://github.com/RocketChat/Rocket.Chat/pull/8589)) +- Improve room sync speed ([#8529](https://github.com/RocketChat/Rocket.Chat/pull/8529)) + +- Fix high CPU load when sending messages on large rooms (regression) ([#8520](https://github.com/RocketChat/Rocket.Chat/pull/8520)) + +- Change artifact path ([#8515](https://github.com/RocketChat/Rocket.Chat/pull/8515)) + +- Color variables migration ([#8463](https://github.com/RocketChat/Rocket.Chat/pull/8463) by [@karlprieb](https://github.com/karlprieb)) + +- Fix: Change password not working in new UI ([#8516](https://github.com/RocketChat/Rocket.Chat/pull/8516)) + +- Enable AutoLinker back ([#8490](https://github.com/RocketChat/Rocket.Chat/pull/8490)) + +- Improve markdown parser code ([#8451](https://github.com/RocketChat/Rocket.Chat/pull/8451)) + - [MOVE] Move favico to client folder ([#8077](https://github.com/RocketChat/Rocket.Chat/pull/8077) by [@vcapretz](https://github.com/vcapretz)) - [MOVE] Move files from emojione to client/server folders ([#8078](https://github.com/RocketChat/Rocket.Chat/pull/8078) by [@vcapretz](https://github.com/vcapretz)) @@ -8511,12 +9444,48 @@ - [MOVE] Move timesync files to client/server folders ([#8152](https://github.com/RocketChat/Rocket.Chat/pull/8152) by [@vcapretz](https://github.com/vcapretz)) +- Fix: Account menu position on RTL ([#8416](https://github.com/RocketChat/Rocket.Chat/pull/8416) by [@karlprieb](https://github.com/karlprieb)) + +- Fix: Missing LDAP option to show internal logs ([#8417](https://github.com/RocketChat/Rocket.Chat/pull/8417)) + +- Fix: Missing LDAP reconnect setting ([#8414](https://github.com/RocketChat/Rocket.Chat/pull/8414)) + +- Add i18n Title to snippet messages ([#8394](https://github.com/RocketChat/Rocket.Chat/pull/8394)) + +- Fix: Missing settings to configure LDAP size and page limits ([#8398](https://github.com/RocketChat/Rocket.Chat/pull/8398)) + +- LingoHub based on develop ([#8375](https://github.com/RocketChat/Rocket.Chat/pull/8375)) + +- Update Meteor to 1.5.2.2 ([#8364](https://github.com/RocketChat/Rocket.Chat/pull/8364)) + +- Sync translations from LingoHub ([#8363](https://github.com/RocketChat/Rocket.Chat/pull/8363)) + +- Remove field `lastActivity` from subscription data ([#8345](https://github.com/RocketChat/Rocket.Chat/pull/8345)) + +- Update meteor to 1.5.2.2-rc.0 ([#8355](https://github.com/RocketChat/Rocket.Chat/pull/8355)) + +- [FIX-RC] Mobile file upload not working ([#8331](https://github.com/RocketChat/Rocket.Chat/pull/8331) by [@karlprieb](https://github.com/karlprieb)) + +- Deps update ([#8273](https://github.com/RocketChat/Rocket.Chat/pull/8273)) + +- Fix more rtl issues ([#8194](https://github.com/RocketChat/Rocket.Chat/pull/8194) by [@karlprieb](https://github.com/karlprieb)) + +- npm deps update ([#8197](https://github.com/RocketChat/Rocket.Chat/pull/8197)) + +- Remove unnecessary returns in cors common ([#8054](https://github.com/RocketChat/Rocket.Chat/pull/8054) by [@Kiran-Rao](https://github.com/Kiran-Rao)) + - Adding: How to Install in WeDeploy ([#8036](https://github.com/RocketChat/Rocket.Chat/pull/8036) by [@thompsonemerson](https://github.com/thompsonemerson)) - Revert "npm deps update" ([#7983](https://github.com/RocketChat/Rocket.Chat/pull/7983)) +- [DOCS] Add native mobile app links into README and update button images ([#7909](https://github.com/RocketChat/Rocket.Chat/pull/7909) by [@rafaelks](https://github.com/rafaelks)) + - npm deps update ([#7969](https://github.com/RocketChat/Rocket.Chat/pull/7969)) +- Update BlackDuck URL ([#7941](https://github.com/RocketChat/Rocket.Chat/pull/7941)) + +- Hide flex-tab close button ([#7894](https://github.com/RocketChat/Rocket.Chat/pull/7894) by [@karlprieb](https://github.com/karlprieb)) + - Added RocketChatLauncher (SaaS) ([#6606](https://github.com/RocketChat/Rocket.Chat/pull/6606) by [@designgurudotorg](https://github.com/designgurudotorg)) - Develop sync ([#7866](https://github.com/RocketChat/Rocket.Chat/pull/7866)) @@ -8584,14 +9553,18 @@ - [@AmShaegar13](https://github.com/AmShaegar13) - [@Darkneon](https://github.com/Darkneon) - [@HammyHavoc](https://github.com/HammyHavoc) +- [@Kiran-Rao](https://github.com/Kiran-Rao) +- [@Lawri-van-Buel](https://github.com/Lawri-van-Buel) - [@Pharserror](https://github.com/Pharserror) - [@RekkyRek](https://github.com/RekkyRek) +- [@Rzeszow](https://github.com/Rzeszow) - [@TheReal1604](https://github.com/TheReal1604) - [@aditya19496](https://github.com/aditya19496) - [@alexbrazier](https://github.com/alexbrazier) - [@armand1m](https://github.com/armand1m) - [@arungalva](https://github.com/arungalva) - [@ashward](https://github.com/ashward) +- [@astax-t](https://github.com/astax-t) - [@ccfang](https://github.com/ccfang) - [@cpitman](https://github.com/cpitman) - [@cyclops24](https://github.com/cyclops24) @@ -8605,10 +9578,12 @@ - [@icosamuel](https://github.com/icosamuel) - [@jasonjyu](https://github.com/jasonjyu) - [@joesitton](https://github.com/joesitton) +- [@josiasds](https://github.com/josiasds) - [@jotafeldmann](https://github.com/jotafeldmann) - [@jwilkins](https://github.com/jwilkins) - [@karlprieb](https://github.com/karlprieb) - [@lindoelio](https://github.com/lindoelio) +- [@luizbills](https://github.com/luizbills) - [@mastappl](https://github.com/mastappl) - [@mritunjaygoutam12](https://github.com/mritunjaygoutam12) - [@mrsimpson](https://github.com/mrsimpson) @@ -8616,9 +9591,12 @@ - [@peterlee0127](https://github.com/peterlee0127) - [@pierreozoux](https://github.com/pierreozoux) - [@pkgodara](https://github.com/pkgodara) +- [@rafaelks](https://github.com/rafaelks) - [@ramrami](https://github.com/ramrami) - [@rmetzler](https://github.com/rmetzler) - [@robbyoconnor](https://github.com/robbyoconnor) +- [@rodorgas](https://github.com/rodorgas) +- [@ruKurz](https://github.com/ruKurz) - [@ryoshimizu](https://github.com/ryoshimizu) - [@sarbasamuel](https://github.com/sarbasamuel) - [@satyapramodh](https://github.com/satyapramodh) @@ -8626,12 +9604,15 @@ - [@selamanse](https://github.com/selamanse) - [@stalley](https://github.com/stalley) - [@stefanoverducci](https://github.com/stefanoverducci) +- [@szluohua](https://github.com/szluohua) - [@thompsonemerson](https://github.com/thompsonemerson) - [@torgeirl](https://github.com/torgeirl) - [@vcapretz](https://github.com/vcapretz) +- [@vikaskedia](https://github.com/vikaskedia) - [@vitor-nagao](https://github.com/vitor-nagao) - [@wesnspace](https://github.com/wesnspace) - [@wferris722](https://github.com/wferris722) +- [@xenithorb](https://github.com/xenithorb) ### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ @@ -8819,7 +9800,7 @@ - [@sampaiodiego](https://github.com/sampaiodiego) # 0.59.0 -`2017-10-18 ยท 24 ๐ŸŽ‰ ยท 116 ๐Ÿ› ยท 50 ๐Ÿ” ยท 44 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2017-10-18 ยท 25 ๐ŸŽ‰ ยท 122 ๐Ÿ› ยท 51 ๐Ÿ” ยท 46 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `4.8.4` @@ -8862,6 +9843,8 @@ - Rocket.Chat UI Redesign ([#7643](https://github.com/RocketChat/Rocket.Chat/pull/7643)) +- Add unread options for direct messages ([#7658](https://github.com/RocketChat/Rocket.Chat/pull/7658)) + - Upgrade to meteor 1.5.2 ([#8073](https://github.com/RocketChat/Rocket.Chat/pull/8073)) - Enable read only channel creation ([#8260](https://github.com/RocketChat/Rocket.Chat/pull/8260) by [@karlprieb](https://github.com/karlprieb)) @@ -8909,6 +9892,8 @@ - Fixed function closure syntax allowing validation emails to be sent. ([#7758](https://github.com/RocketChat/Rocket.Chat/pull/7758) by [@snoozan](https://github.com/snoozan)) +- Csv importer: work with more problematic data ([#7456](https://github.com/RocketChat/Rocket.Chat/pull/7456) by [@reist](https://github.com/reist)) + - Fix avatar upload fail on Cordova app ([#7656](https://github.com/RocketChat/Rocket.Chat/pull/7656) by [@ccfang](https://github.com/ccfang)) - Make link inside YouTube preview open in new tab ([#7679](https://github.com/RocketChat/Rocket.Chat/pull/7679) by [@1lann](https://github.com/1lann)) @@ -8917,6 +9902,16 @@ - Example usage of unsubscribe.js ([#7673](https://github.com/RocketChat/Rocket.Chat/pull/7673) by [@Kiran-Rao](https://github.com/Kiran-Rao)) +- Wrong email subject when "All Messages" setting enabled ([#7639](https://github.com/RocketChat/Rocket.Chat/pull/7639)) + +- Markdown noopener/noreferrer: use correct HTML attribute ([#7644](https://github.com/RocketChat/Rocket.Chat/pull/7644) by [@jangmarker](https://github.com/jangmarker)) + +- Fix room load on first hit ([#7687](https://github.com/RocketChat/Rocket.Chat/pull/7687)) + +- Wrong render of snippetโ€™s name ([#7630](https://github.com/RocketChat/Rocket.Chat/pull/7630)) + +- Fix messagebox growth ([#7629](https://github.com/RocketChat/Rocket.Chat/pull/7629)) + - sidebar paddings ([#7880](https://github.com/RocketChat/Rocket.Chat/pull/7880) by [@karlprieb](https://github.com/karlprieb)) - Adds default search text padding for emoji search ([#7878](https://github.com/RocketChat/Rocket.Chat/pull/7878) by [@gdelavald](https://github.com/gdelavald)) @@ -9151,6 +10146,8 @@ - [MOVE] Client folder rocketchat-emoji ([#7671](https://github.com/RocketChat/Rocket.Chat/pull/7671) by [@Kiran-Rao](https://github.com/Kiran-Rao)) +- Only use "File Uploaded" prefix on files ([#7652](https://github.com/RocketChat/Rocket.Chat/pull/7652)) + - Fix typo in generated URI ([#7661](https://github.com/RocketChat/Rocket.Chat/pull/7661) by [@Rohlik](https://github.com/Rohlik)) - Bump version to 0.59.0-develop ([#7625](https://github.com/RocketChat/Rocket.Chat/pull/7625)) @@ -9240,6 +10237,7 @@ - [@danischreiber](https://github.com/danischreiber) - [@gdelavald](https://github.com/gdelavald) - [@goiaba](https://github.com/goiaba) +- [@jangmarker](https://github.com/jangmarker) - [@josiasds](https://github.com/josiasds) - [@karlprieb](https://github.com/karlprieb) - [@luizbills](https://github.com/luizbills) @@ -9250,6 +10248,7 @@ - [@pkgodara](https://github.com/pkgodara) - [@rafaelks](https://github.com/rafaelks) - [@rdebeasi](https://github.com/rdebeasi) +- [@reist](https://github.com/reist) - [@ruKurz](https://github.com/ruKurz) - [@snoozan](https://github.com/snoozan) - [@szluohua](https://github.com/szluohua) @@ -9268,12 +10267,26 @@ - [@sampaiodiego](https://github.com/sampaiodiego) # 0.58.4 -`2017-10-05` +`2017-10-05 ยท 3 ๐Ÿ› ยท 2 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `4.8.4` - NPM: `4.6.1` +### ๐Ÿ› Bug fixes + + +- Duplicate code in rest api letting in a few bugs with the rest api ([#8408](https://github.com/RocketChat/Rocket.Chat/pull/8408)) + +- Slack import failing and not being able to be restarted ([#8390](https://github.com/RocketChat/Rocket.Chat/pull/8390)) + +- Add needed dependency for snaps ([#8389](https://github.com/RocketChat/Rocket.Chat/pull/8389)) + +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@graywolf336](https://github.com/graywolf336) + # 0.58.2 `2017-08-22 ยท 1 ๐Ÿ” ยท 2 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` @@ -9323,7 +10336,7 @@ - [@rodrigok](https://github.com/rodrigok) # 0.58.0 -`2017-08-16 ยท 1 ๏ธ๏ธ๏ธโš ๏ธ ยท 26 ๐ŸŽ‰ ยท 33 ๐Ÿ› ยท 18 ๐Ÿ” ยท 32 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2017-08-16 ยท 1 ๏ธ๏ธ๏ธโš ๏ธ ยท 27 ๐ŸŽ‰ ยท 48 ๐Ÿ› ยท 19 ๐Ÿ” ยท 32 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `4.8.4` @@ -9385,6 +10398,8 @@ - Option to select unread count behavior ([#7477](https://github.com/RocketChat/Rocket.Chat/pull/7477)) +- Force use of MongoDB for spotlight queries ([#7311](https://github.com/RocketChat/Rocket.Chat/pull/7311)) + - Add healthchecks in OpenShift templates ([#7184](https://github.com/RocketChat/Rocket.Chat/pull/7184) by [@jfchevrette](https://github.com/jfchevrette)) - Add unread options for direct messages ([#7658](https://github.com/RocketChat/Rocket.Chat/pull/7658)) @@ -9392,6 +10407,12 @@ ### ๐Ÿ› Bug fixes +- Slack import failing and not being able to be restarted ([#8390](https://github.com/RocketChat/Rocket.Chat/pull/8390)) + +- Duplicate code in rest api letting in a few bugs with the rest api ([#8408](https://github.com/RocketChat/Rocket.Chat/pull/8408)) + +- Add needed dependency for snaps ([#8389](https://github.com/RocketChat/Rocket.Chat/pull/8389)) + - Error when updating message with an empty attachment array ([#7624](https://github.com/RocketChat/Rocket.Chat/pull/7624)) - Uploading an unknown file type erroring out ([#7623](https://github.com/RocketChat/Rocket.Chat/pull/7623)) @@ -9426,8 +10447,22 @@ - Prevent new room status from playing when user status changes ([#7487](https://github.com/RocketChat/Rocket.Chat/pull/7487)) +- S3 uploads not working for custom URLs ([#7443](https://github.com/RocketChat/Rocket.Chat/pull/7443)) + +- Fix Private Channel List Submit ([#7432](https://github.com/RocketChat/Rocket.Chat/pull/7432)) + +- Fix file upload on Slack import ([#7469](https://github.com/RocketChat/Rocket.Chat/pull/7469)) + +- Fix Unread Bar Disappearing ([#7403](https://github.com/RocketChat/Rocket.Chat/pull/7403)) + +- Always set LDAP properties on login ([#7472](https://github.com/RocketChat/Rocket.Chat/pull/7472)) + - url click events in the cordova app open in external browser or not at all ([#7205](https://github.com/RocketChat/Rocket.Chat/pull/7205) by [@flaviogrossi](https://github.com/flaviogrossi)) +- Fix Emails in User Admin View ([#7431](https://github.com/RocketChat/Rocket.Chat/pull/7431)) + +- Fix migration of avatars from version 0.57.0 ([#7428](https://github.com/RocketChat/Rocket.Chat/pull/7428)) + - sweetalert alignment on mobile ([#7404](https://github.com/RocketChat/Rocket.Chat/pull/7404) by [@karlprieb](https://github.com/karlprieb)) - Sweet-Alert modal popup position on mobile devices ([#7376](https://github.com/RocketChat/Rocket.Chat/pull/7376) by [@Oliver84](https://github.com/Oliver84)) @@ -9440,8 +10475,18 @@ - Fix Block Delete Message After (n) Minutes ([#7207](https://github.com/RocketChat/Rocket.Chat/pull/7207)) +- Fix jump to unread button ([#7320](https://github.com/RocketChat/Rocket.Chat/pull/7320)) + +- Fix Secret Url ([#7321](https://github.com/RocketChat/Rocket.Chat/pull/7321)) + - Use I18n on "File Uploaded" ([#7199](https://github.com/RocketChat/Rocket.Chat/pull/7199)) +- "requirePasswordChange" property not being saved when set to false ([#7209](https://github.com/RocketChat/Rocket.Chat/pull/7209)) + +- Fix oembed previews not being shown ([#7208](https://github.com/RocketChat/Rocket.Chat/pull/7208)) + +- Fix editing others messages ([#7200](https://github.com/RocketChat/Rocket.Chat/pull/7200)) + - Fix error on image preview due to undefined description|title ([#7187](https://github.com/RocketChat/Rocket.Chat/pull/7187)) - Fix messagebox growth ([#7629](https://github.com/RocketChat/Rocket.Chat/pull/7629)) @@ -9494,6 +10539,8 @@ - update meteor to 1.5.0 ([#7287](https://github.com/RocketChat/Rocket.Chat/pull/7287)) +- Fix the Zapier oAuth return url to the new one ([#7215](https://github.com/RocketChat/Rocket.Chat/pull/7215)) + - [New] Add instance id to response headers ([#7211](https://github.com/RocketChat/Rocket.Chat/pull/7211)) - Only use "File Uploaded" prefix on files ([#7652](https://github.com/RocketChat/Rocket.Chat/pull/7652)) @@ -9652,7 +10699,7 @@ - [@sampaiodiego](https://github.com/sampaiodiego) # 0.57.0 -`2017-07-03 ยท 1 ๏ธ๏ธ๏ธโš ๏ธ ยท 10 ๐ŸŽ‰ ยท 44 ๐Ÿ› ยท 30 ๐Ÿ” ยท 25 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2017-07-03 ยท 1 ๏ธ๏ธ๏ธโš ๏ธ ยท 12 ๐ŸŽ‰ ยท 45 ๐Ÿ› ยท 29 ๐Ÿ” ยท 25 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `4.8.2` @@ -9682,6 +10729,10 @@ - Make channel/group delete call answer to roomName ([#6857](https://github.com/RocketChat/Rocket.Chat/pull/6857) by [@reist](https://github.com/reist)) +- Show info about multiple instances at admin page ([#6953](https://github.com/RocketChat/Rocket.Chat/pull/6953)) + +- Improve CI/Docker build/release ([#6938](https://github.com/RocketChat/Rocket.Chat/pull/6938)) + - Feature/delete any message permission ([#6919](https://github.com/RocketChat/Rocket.Chat/pull/6919) by [@phutchins](https://github.com/phutchins)) - Force use of MongoDB for spotlight queries ([#7311](https://github.com/RocketChat/Rocket.Chat/pull/7311)) @@ -9749,6 +10800,8 @@ - Use AWS Signature Version 4 signed URLs for uploads ([#6947](https://github.com/RocketChat/Rocket.Chat/pull/6947)) +- make channels.create API check for create-c ([#6968](https://github.com/RocketChat/Rocket.Chat/pull/6968) by [@reist](https://github.com/reist)) + - Bugs in `isUserFromParams` helper ([#6904](https://github.com/RocketChat/Rocket.Chat/pull/6904) by [@abrom](https://github.com/abrom)) - Allow image insert from slack through slackbridge ([#6910](https://github.com/RocketChat/Rocket.Chat/pull/6910)) @@ -9827,18 +10880,16 @@ - Convert WebRTC Package to Js ([#6775](https://github.com/RocketChat/Rocket.Chat/pull/6775)) +- [Fix] Error when trying to show preview of undefined filetype ([#6935](https://github.com/RocketChat/Rocket.Chat/pull/6935)) + - Remove missing CoffeeScript dependencies ([#7154](https://github.com/RocketChat/Rocket.Chat/pull/7154)) - Switch logic of artifact name ([#7158](https://github.com/RocketChat/Rocket.Chat/pull/7158)) - Fix the Zapier oAuth return url to the new one ([#7215](https://github.com/RocketChat/Rocket.Chat/pull/7215)) -- Fix the admin oauthApps view not working ([#7196](https://github.com/RocketChat/Rocket.Chat/pull/7196)) - - Fix forbidden error on setAvatar REST endpoint ([#7159](https://github.com/RocketChat/Rocket.Chat/pull/7159)) -- Fix the admin oauthApps view not working ([#7196](https://github.com/RocketChat/Rocket.Chat/pull/7196)) - - Fix mobile avatars ([#7177](https://github.com/RocketChat/Rocket.Chat/pull/7177))
@@ -9875,7 +10926,7 @@ - [@sampaiodiego](https://github.com/sampaiodiego) # 0.56.0 -`2017-05-15 ยท 11 ๐ŸŽ‰ ยท 19 ๐Ÿ› ยท 19 ๐Ÿ” ยท 19 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` +`2017-05-15 ยท 11 ๐ŸŽ‰ ยท 21 ๐Ÿ› ยท 19 ๐Ÿ” ยท 19 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` ### Engine versions - Node: `4.8.2` @@ -9937,6 +10988,10 @@ - Fix Caddy by forcing go 1.7 as needed by one of caddy's dependencies ([#6721](https://github.com/RocketChat/Rocket.Chat/pull/6721)) +- emoji picker exception ([#6709](https://github.com/RocketChat/Rocket.Chat/pull/6709) by [@gdelavald](https://github.com/gdelavald)) + +- Fix message types ([#6704](https://github.com/RocketChat/Rocket.Chat/pull/6704)) + - Users status on main menu always offline ([#6896](https://github.com/RocketChat/Rocket.Chat/pull/6896)) - Not showing unread count on electron appโ€™s icon ([#6923](https://github.com/RocketChat/Rocket.Chat/pull/6923)) @@ -10328,4 +11383,4 @@ - [@graywolf336](https://github.com/graywolf336) - [@marceloschmidt](https://github.com/marceloschmidt) - [@rodrigok](https://github.com/rodrigok) -- [@sampaiodiego](https://github.com/sampaiodiego) +- [@sampaiodiego](https://github.com/sampaiodiego) \ No newline at end of file diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index f5c360f56b86..77a6d9273776 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.1.0-rc.4" + "version": "3.1.0-rc.5" } diff --git a/package.json b/package.json index 76226bb395ca..7f5d7e3f0ac7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Rocket.Chat", "description": "The Ultimate Open Source WebChat Platform", - "version": "3.1.0-rc.4", + "version": "3.1.0-rc.5", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From 7ad3675ae541445868d1dd413299c6587eeab019 Mon Sep 17 00:00:00 2001 From: gabriellsh <40830821+gabriellsh@users.noreply.github.com> Date: Tue, 31 Mar 2020 14:38:41 -0300 Subject: [PATCH 119/223] Regression: Collapsible elements didn't respect attachment parameter. (#16994) --- .../client/messageAttachment.html | 6 +- .../client/messageAttachment.js | 72 +++++++++++++++-- app/oembed/client/baseWidget.js | 8 ++ app/oembed/client/index.js | 3 - app/oembed/client/oembedAudioWidget.html | 7 +- app/oembed/client/oembedAudioWidget.js | 7 -- app/oembed/client/oembedFrameWidget.html | 8 +- app/oembed/client/oembedFrameWidget.js | 7 -- app/oembed/client/oembedImageWidget.html | 8 +- app/oembed/client/oembedImageWidget.js | 3 - app/oembed/client/oembedUrlWidget.js | 3 - app/oembed/client/oembedVideoWidget.html | 8 +- app/oembed/client/oembedVideoWidget.js | 4 - app/oembed/client/oembedYoutubeWidget.html | 8 +- app/oembed/client/oembedYoutubeWidget.js | 7 -- app/ui-message/client/message.html | 5 +- app/ui-message/client/message.js | 77 +------------------ app/ui-utils/client/index.js | 1 + app/ui-utils/client/lib/collapseArrow.html | 7 ++ app/ui-utils/client/lib/collapseArrow.js | 31 ++++++++ 20 files changed, 135 insertions(+), 145 deletions(-) delete mode 100644 app/oembed/client/oembedAudioWidget.js delete mode 100644 app/oembed/client/oembedFrameWidget.js delete mode 100644 app/oembed/client/oembedYoutubeWidget.js create mode 100644 app/ui-utils/client/lib/collapseArrow.html create mode 100644 app/ui-utils/client/lib/collapseArrow.js diff --git a/app/message-attachments/client/messageAttachment.html b/app/message-attachments/client/messageAttachment.html index d21442f49ad7..73d753fa6792 100644 --- a/app/message-attachments/client/messageAttachment.html +++ b/app/message-attachments/client/messageAttachment.html @@ -62,11 +62,7 @@ {{else}} {{title}} {{/if}} - {{#if collapsed}} - - {{else}} - - {{/if}} + {{> collapseArrow collapsedMedia=collapsedMediaVar}}

{{/if}} diff --git a/app/message-attachments/client/messageAttachment.js b/app/message-attachments/client/messageAttachment.js index 5736a59f4cfc..5e299eb17ee6 100644 --- a/app/message-attachments/client/messageAttachment.js +++ b/app/message-attachments/client/messageAttachment.js @@ -1,8 +1,9 @@ +import { Meteor } from 'meteor/meteor'; import { Template } from 'meteor/templating'; import { DateFormat } from '../../lib'; import { getURL } from '../../utils/client'; -import { renderMessageBody } from '../../ui-utils'; +import { renderMessageBody, createCollapseable } from '../../ui-utils'; const colors = { good: '#35AC19', @@ -10,6 +11,59 @@ const colors = { danger: '#D30230', }; +async function renderPdfToCanvas(canvasId, pdfLink) { + const isSafari = /constructor/i.test(window.HTMLElement) + || ((p) => p.toString() === '[object SafariRemoteNotification]')(!window.safari + || (typeof window.safari !== 'undefined' && window.safari.pushNotification)); + + if (isSafari) { + const [, version] = /Version\/([0-9]+)/.exec(navigator.userAgent) || [null, 0]; + if (version <= 12) { + return; + } + } + + if (!pdfLink || !/\.pdf$/i.test(pdfLink)) { + return; + } + pdfLink = getURL(pdfLink); + + const canvas = document.getElementById(canvasId); + if (!canvas) { + return; + } + + const pdfjsLib = await import('pdfjs-dist'); + pdfjsLib.GlobalWorkerOptions.workerSrc = `${ Meteor.absoluteUrl() }pdf.worker.min.js`; + + const loader = document.getElementById(`js-loading-${ canvasId }`); + + if (loader) { + loader.style.display = 'block'; + } + + const pdf = await pdfjsLib.getDocument(pdfLink); + const page = await pdf.getPage(1); + const scale = 0.5; + const viewport = page.getViewport(scale); + const context = canvas.getContext('2d'); + canvas.height = viewport.height; + canvas.width = viewport.width; + await page.render({ + canvasContext: context, + viewport, + }).promise; + + if (loader) { + loader.style.display = 'none'; + } + + canvas.style.maxWidth = '-webkit-fill-available'; + canvas.style.maxWidth = '-moz-available'; + canvas.style.display = 'block'; +} + +createCollapseable(Template.messageAttachment, (instance) => (instance.data && (instance.data.collapsed || (instance.data.settings && instance.data.settings.collapseMediaByDefault))) || false); Template.messageAttachment.helpers({ parsedText() { @@ -46,9 +100,6 @@ Template.messageAttachment.helpers({ color() { return colors[this.color] || this.color; }, - collapsed() { - return this.collapsedMedia; - }, time() { const messageDate = new Date(this.ts); const today = new Date(); @@ -78,12 +129,21 @@ Template.messageAttachment.helpers({ if ( this.type === 'file' && this.title_link.endsWith('.pdf') - && Template.parentData(2).msg.file + && Template.parentData(1).msg.file ) { - this.fileId = Template.parentData(2).msg.file._id; + this.fileId = Template.parentData(1).msg.file._id; return true; } return false; }, getURL, }); + +Template.messageAttachment.onRendered(function() { + const { msg } = Template.parentData(1); + this.autorun(() => { + if (msg && msg.file && msg.file.type === 'application/pdf' && !this.collapsedMedia.get()) { + Meteor.defer(() => { renderPdfToCanvas(msg.file._id, msg.attachments[0].title_link); }); + } + }); +}); diff --git a/app/oembed/client/baseWidget.js b/app/oembed/client/baseWidget.js index 004169306bd6..3f97eabf5dbe 100644 --- a/app/oembed/client/baseWidget.js +++ b/app/oembed/client/baseWidget.js @@ -1,7 +1,15 @@ import { Template } from 'meteor/templating'; +import { createCollapseable } from '../../ui-utils'; + +createCollapseable(Template.oembedBaseWidget, (instance) => instance.data.settings.collapseMediaByDefault || false); + Template.oembedBaseWidget.helpers({ template() { + const { collapsedMedia } = Template.instance(); + this.collapsedMediaVar = function() { return collapsedMedia; }; + this.collapsed = collapsedMedia.get(); + let contentType; if (this.headers) { contentType = this.headers.contentType; diff --git a/app/oembed/client/index.js b/app/oembed/client/index.js index c5b326243e89..477fc69b0bf8 100644 --- a/app/oembed/client/index.js +++ b/app/oembed/client/index.js @@ -3,12 +3,9 @@ import './baseWidget'; import './oembedImageWidget.html'; import './oembedImageWidget'; import './oembedAudioWidget.html'; -import './oembedAudioWidget'; import './oembedVideoWidget.html'; import './oembedVideoWidget'; import './oembedYoutubeWidget.html'; -import './oembedYoutubeWidget'; import './oembedUrlWidget.html'; import './oembedUrlWidget'; import './oembedFrameWidget.html'; -import './oembedFrameWidget'; diff --git a/app/oembed/client/oembedAudioWidget.html b/app/oembed/client/oembedAudioWidget.html index 62c1924b4491..1a221a20bef9 100644 --- a/app/oembed/client/oembedAudioWidget.html +++ b/app/oembed/client/oembedAudioWidget.html @@ -1,9 +1,8 @@ diff --git a/app/oembed/client/oembedAudioWidget.js b/app/oembed/client/oembedAudioWidget.js deleted file mode 100644 index 055c18f280e4..000000000000 --- a/app/oembed/client/oembedAudioWidget.js +++ /dev/null @@ -1,7 +0,0 @@ -import { Template } from 'meteor/templating'; - -Template.oembedAudioWidget.helpers({ - collapsed() { - return this.collapsedMedia; - }, -}); diff --git a/app/oembed/client/oembedFrameWidget.html b/app/oembed/client/oembedFrameWidget.html index c11a82b79b38..964a76ec536e 100644 --- a/app/oembed/client/oembedFrameWidget.html +++ b/app/oembed/client/oembedFrameWidget.html @@ -18,15 +18,13 @@ {{meta.oembedTitle}} {{/if}} {{/if}} - {{#if collapsed}} -
- {{else}} -
+ {{> collapseArrow collapsedMedia=collapsedMediaVar}}
+ {{#unless collapsed}} {{#if meta.oembedDescription}}

{{meta.oembedDescription}}

{{/if}} {{{meta.oembedHtml}}} - {{/if}} + {{/unless}} {{/if}} diff --git a/app/oembed/client/oembedFrameWidget.js b/app/oembed/client/oembedFrameWidget.js deleted file mode 100644 index dd488fa1cbb8..000000000000 --- a/app/oembed/client/oembedFrameWidget.js +++ /dev/null @@ -1,7 +0,0 @@ -import { Template } from 'meteor/templating'; - -Template.oembedFrameWidget.helpers({ - collapsed() { - return this.collapsedMedia; - }, -}); diff --git a/app/oembed/client/oembedImageWidget.html b/app/oembed/client/oembedImageWidget.html index 4d91c6d9d793..3e01ca1ea069 100644 --- a/app/oembed/client/oembedImageWidget.html +++ b/app/oembed/client/oembedImageWidget.html @@ -1,9 +1,7 @@ diff --git a/app/oembed/client/oembedImageWidget.js b/app/oembed/client/oembedImageWidget.js index c9ca4c235825..c48812a903d8 100644 --- a/app/oembed/client/oembedImageWidget.js +++ b/app/oembed/client/oembedImageWidget.js @@ -13,7 +13,4 @@ Template.oembedImageWidget.helpers({ } return true; }, - collapsed() { - return this.collapsedMedia; - }, }); diff --git a/app/oembed/client/oembedUrlWidget.js b/app/oembed/client/oembedUrlWidget.js index 7ae45dc59c7c..66db81e25af7 100644 --- a/app/oembed/client/oembedUrlWidget.js +++ b/app/oembed/client/oembedUrlWidget.js @@ -60,7 +60,4 @@ Template.oembedUrlWidget.helpers({ show() { return (getDescription(this) != null) || (getTitle(this) != null); }, - collapsed() { - return this.collapsedMedia; - }, }); diff --git a/app/oembed/client/oembedVideoWidget.html b/app/oembed/client/oembedVideoWidget.html index 7cbc8e658c78..7f26db74e5ae 100644 --- a/app/oembed/client/oembedVideoWidget.html +++ b/app/oembed/client/oembedVideoWidget.html @@ -3,15 +3,13 @@
{{title}} - {{#if collapsed}} - - {{else}} -
+ {{> collapseArrow collapsedMedia=collapsedMediaVar}}
+ {{#unless collapsed}} - {{/if}} + {{/unless}}
{{/if}} diff --git a/app/oembed/client/oembedVideoWidget.js b/app/oembed/client/oembedVideoWidget.js index 03df03333fa4..09934610d9f8 100644 --- a/app/oembed/client/oembedVideoWidget.js +++ b/app/oembed/client/oembedVideoWidget.js @@ -25,8 +25,4 @@ Template.oembedVideoWidget.helpers({ title() { return getTitle(this); }, - collapsed() { - return this.collapsedMedia; - }, - }); diff --git a/app/oembed/client/oembedYoutubeWidget.html b/app/oembed/client/oembedYoutubeWidget.html index a30b1c1eb2d0..2c00c8f3884f 100644 --- a/app/oembed/client/oembedYoutubeWidget.html +++ b/app/oembed/client/oembedYoutubeWidget.html @@ -2,13 +2,11 @@ {{#if parsedUrl}}
{{parsedUrl.host}} - {{#if collapsed}} -
- {{else}} -
+ {{> collapseArrow collapsedMedia=collapsedMediaVar}}
+ {{#unless collapsed}}
{{{meta.description}}} - {{/if}} + {{/unless}}
{{/if}} diff --git a/app/oembed/client/oembedYoutubeWidget.js b/app/oembed/client/oembedYoutubeWidget.js deleted file mode 100644 index ce1040c1c268..000000000000 --- a/app/oembed/client/oembedYoutubeWidget.js +++ /dev/null @@ -1,7 +0,0 @@ -import { Template } from 'meteor/templating'; - -Template.oembedYoutubeWidget.helpers({ - collapsed() { - return this.collapsedMedia; - }, -}); diff --git a/app/ui-message/client/message.html b/app/ui-message/client/message.html index f9bdbcf4648b..a69ad4ca7a71 100644 --- a/app/ui-message/client/message.html +++ b/app/ui-message/client/message.html @@ -93,15 +93,16 @@ {{#if hasOembed}} {{#each msg.urls}} {{injectMessage . ../msg}} + {{injectSettings . ../settings}} {{injectIndex . @index}} - {{> oembedBaseWidget (injectCollapsedMedia .)}} + {{> oembedBaseWidget}} {{/each}} {{/if}} {{#each msg.attachments}} {{injectMessage . ../msg}} {{injectSettings . ../settings}} {{injectIndex . @index}} - {{> messageAttachment (injectCollapsedMedia .)}} + {{> messageAttachment}} {{/each}} {{#if msg.drid}} diff --git a/app/ui-message/client/message.js b/app/ui-message/client/message.js index f8bf9a58036f..628534eb07d4 100644 --- a/app/ui-message/client/message.js +++ b/app/ui-message/client/message.js @@ -4,7 +4,6 @@ import { Meteor } from 'meteor/meteor'; import { Tracker } from 'meteor/tracker'; import { Template } from 'meteor/templating'; import { TAPi18n } from 'meteor/rocketchat:tap-i18n'; -import { ReactiveVar } from 'meteor/reactive-var'; import { timeAgo, formatDateAndTime } from '../../lib/client/lib/formatDate'; import { DateFormat } from '../../lib/client'; @@ -12,64 +11,12 @@ import { renderMessageBody, MessageTypes, MessageAction, call, normalizeThreadMe import { RoomRoles, UserRoles, Roles, Messages } from '../../models/client'; import { callbacks } from '../../callbacks/client'; import { Markdown } from '../../markdown/client'; -import { t, roomTypes, getURL } from '../../utils'; +import { t, roomTypes } from '../../utils'; import { upsertMessage } from '../../ui-utils/client/lib/RoomHistoryManager'; import './message.html'; import './messageThread.html'; import { AutoTranslate } from '../../autotranslate/client'; -async function renderPdfToCanvas(canvasId, pdfLink) { - const isSafari = /constructor/i.test(window.HTMLElement) - || ((p) => p.toString() === '[object SafariRemoteNotification]')(!window.safari - || (typeof window.safari !== 'undefined' && window.safari.pushNotification)); - - if (isSafari) { - const [, version] = /Version\/([0-9]+)/.exec(navigator.userAgent) || [null, 0]; - if (version <= 12) { - return; - } - } - - if (!pdfLink || !/\.pdf$/i.test(pdfLink)) { - return; - } - pdfLink = getURL(pdfLink); - - const canvas = document.getElementById(canvasId); - if (!canvas) { - return; - } - - const pdfjsLib = await import('pdfjs-dist'); - pdfjsLib.GlobalWorkerOptions.workerSrc = `${ Meteor.absoluteUrl() }pdf.worker.min.js`; - - const loader = document.getElementById(`js-loading-${ canvasId }`); - - if (loader) { - loader.style.display = 'block'; - } - - const pdf = await pdfjsLib.getDocument(pdfLink); - const page = await pdf.getPage(1); - const scale = 0.5; - const viewport = page.getViewport(scale); - const context = canvas.getContext('2d'); - canvas.height = viewport.height; - canvas.width = viewport.width; - await page.render({ - canvasContext: context, - viewport, - }).promise; - - if (loader) { - loader.style.display = 'none'; - } - - canvas.style.maxWidth = '-webkit-fill-available'; - canvas.style.maxWidth = '-moz-available'; - canvas.style.display = 'block'; -} - const renderBody = (msg, settings) => { const isSystemMessage = MessageTypes.isSystemMessage(msg); const messageType = MessageTypes.getType(msg) || {}; @@ -95,12 +42,6 @@ const renderBody = (msg, settings) => { return msg; }; -Template.message.events({ - 'click .collapse-switch'(e, instance) { - instance.collapsedMedia.set(!instance.collapsedMedia.get()); - }, -}); - Template.message.helpers({ body() { const { msg, settings } = this; @@ -377,11 +318,6 @@ Template.message.helpers({ injectSettings(data, settings) { data.settings = settings; }, - injectCollapsedMedia(data) { - const collapsedMedia = Template.instance().collapsedMedia.get(); - Object.assign(data, { collapsedMedia }); - return data; - }, channelName() { const { subscription } = this; // const subscription = Subscriptions.findOne({ rid: this.rid }); @@ -436,9 +372,6 @@ Template.message.helpers({ return 'collapsed'; } }, - collapsedMedia() { - return Template.instance().collapsedMedia.get(); - }, collapseSwitchClass() { const { msg: { collapsed = true } } = this; return collapsed ? 'icon-right-dir' : 'icon-down-dir'; @@ -485,7 +418,6 @@ const findParentMessage = (() => { Template.message.onCreated(function() { const { msg, shouldCollapseReplies } = Template.currentData(); - this.collapsedMedia = new ReactiveVar(this.data.settings.collapseMediaByDefault === true); if (shouldCollapseReplies && msg.tmid && !msg.threadMsg) { findParentMessage(msg.tmid); } @@ -572,13 +504,10 @@ const isSequential = (currentNode, previousNode, forceDate, period, showDateSepa return false; }; -const processSequentials = ({ index, currentNode, settings, forceDate, showDateSeparator = true, groupable, msg, shouldCollapseReplies, collapsedMedia }) => { +const processSequentials = ({ index, currentNode, settings, forceDate, showDateSeparator = true, groupable, shouldCollapseReplies }) => { if (!showDateSeparator && !groupable) { return; } - if (msg.file && msg.file.type === 'application/pdf' && !collapsedMedia) { - Meteor.defer(() => { renderPdfToCanvas(msg.file._id, msg.attachments[0].title_link); }); - } // const currentDataset = currentNode.dataset; const previousNode = (index === undefined || index > 0) && getPreviousSentMessage(currentNode); const nextNode = currentNode.nextElementSibling; @@ -612,5 +541,5 @@ const processSequentials = ({ index, currentNode, settings, forceDate, showDateS Template.message.onRendered(function() { const currentNode = this.firstNode; - this.autorun(() => processSequentials({ currentNode, ...Template.currentData(), collapsedMedia: this.collapsedMedia.get() })); + this.autorun(() => processSequentials({ currentNode, ...Template.currentData() })); }); diff --git a/app/ui-utils/client/index.js b/app/ui-utils/client/index.js index 813392fcf961..163a9fa6e0bb 100644 --- a/app/ui-utils/client/index.js +++ b/app/ui-utils/client/index.js @@ -28,3 +28,4 @@ export { openRoom } from './lib/openRoom'; export * from './lib/rtl'; export * from './lib/keyCodes'; export * from './lib/prependReplies'; +export * from './lib/collapseArrow'; diff --git a/app/ui-utils/client/lib/collapseArrow.html b/app/ui-utils/client/lib/collapseArrow.html new file mode 100644 index 000000000000..db848b16ae2c --- /dev/null +++ b/app/ui-utils/client/lib/collapseArrow.html @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/app/ui-utils/client/lib/collapseArrow.js b/app/ui-utils/client/lib/collapseArrow.js new file mode 100644 index 000000000000..418a36eafdf4 --- /dev/null +++ b/app/ui-utils/client/lib/collapseArrow.js @@ -0,0 +1,31 @@ +import { Template } from 'meteor/templating'; +import { ReactiveVar } from 'meteor/reactive-var'; + +import './collapseArrow.html'; + +export const createCollapseable = (template, getInicialFromInstance = () => false) => { + template.onCreated(function() { + this.collapsedMedia = new ReactiveVar(getInicialFromInstance(Template.instance())); + }); + template.helpers({ + collapsed() { + return Template.instance().collapsedMedia.get(); + }, + collapsedMediaVar() { + return Template.instance().collapsedMedia; + }, + }); +}; + +Template.collapseArrow.events({ + 'click .collapse-switch'(e, i) { + e.preventDefault(); + i.data.collapsedMedia.set(!i.data.collapsedMedia.get()); + }, +}); + +Template.collapseArrow.helpers({ + collapsed() { + return this.collapsedMedia.get(); + }, +}); From 4a1dedc88ecefa8ef7f9e9e59240a3e67d05b6b1 Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Tue, 31 Mar 2020 18:52:34 -0300 Subject: [PATCH 120/223] Regression: Block users was not possible for 1:1 DMs (#17105) --- app/lib/lib/roomTypes/direct.js | 11 ++++++++--- app/lib/server/methods/blockUser.js | 8 ++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/app/lib/lib/roomTypes/direct.js b/app/lib/lib/roomTypes/direct.js index 01b6f962f444..1a36927ba561 100644 --- a/app/lib/lib/roomTypes/direct.js +++ b/app/lib/lib/roomTypes/direct.js @@ -3,7 +3,7 @@ import { Session } from 'meteor/session'; import { ChatRoom, Subscriptions } from '../../../models'; import { openRoom } from '../../../ui-utils'; -import { getUserPreference, RoomTypeConfig, RoomTypeRouteConfig, RoomSettingsEnum, UiTextContext } from '../../../utils'; +import { getUserPreference, RoomTypeConfig, RoomTypeRouteConfig, RoomSettingsEnum, RoomMemberActions, UiTextContext } from '../../../utils'; import { hasPermission, hasAtLeastOnePermission } from '../../../authorization'; import { settings } from '../../../settings'; import { getUserAvatarURL } from '../../../utils/lib/getUserAvatarURL'; @@ -131,8 +131,13 @@ export class DirectMessageRoomType extends RoomTypeConfig { } } - allowMemberAction(/* room, action */) { - return false; + allowMemberAction(room, action) { + switch (action) { + case RoomMemberActions.BLOCK: + return !this.isGroupChat(room); + default: + return false; + } } enableMembersListProfile() { diff --git a/app/lib/server/methods/blockUser.js b/app/lib/server/methods/blockUser.js index aeb622e65694..f9e4bb4c54d2 100644 --- a/app/lib/server/methods/blockUser.js +++ b/app/lib/server/methods/blockUser.js @@ -2,6 +2,8 @@ import { Meteor } from 'meteor/meteor'; import { check } from 'meteor/check'; import { Subscriptions } from '../../../models'; +import { roomTypes, RoomMemberActions } from '../../../utils/server'; +import { Rooms } from '../../../models/server'; Meteor.methods({ blockUser({ rid, blocked }) { @@ -12,6 +14,12 @@ Meteor.methods({ throw new Meteor.Error('error-invalid-user', 'Invalid user', { method: 'blockUser' }); } + const room = Rooms.findOne({ _id: rid }); + + if (!roomTypes.getConfig(room.t).allowMemberAction(room, RoomMemberActions.BLOCK)) { + throw new Meteor.Error('error-invalid-room', 'Invalid room', { method: 'blockUser' }); + } + const subscription = Subscriptions.findOneByRoomIdAndUserId(rid, Meteor.userId()); const subscription2 = Subscriptions.findOneByRoomIdAndUserId(rid, blocked); From ca85376e8408b7030d1b6bad0ba0878d09637318 Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Tue, 31 Mar 2020 20:27:22 -0300 Subject: [PATCH 121/223] Regression: Files were been deleted when deleting users as last members of private rooms (#17111) --- app/file-upload/server/lib/FileUpload.js | 3 +++ app/lib/server/functions/deleteUser.js | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/file-upload/server/lib/FileUpload.js b/app/file-upload/server/lib/FileUpload.js index fafd92f034b1..3d006b14aa0d 100644 --- a/app/file-upload/server/lib/FileUpload.js +++ b/app/file-upload/server/lib/FileUpload.js @@ -405,6 +405,9 @@ export const FileUpload = { }, removeFilesByRoomId(rid) { + if (typeof rid !== 'string' || rid.trim().length === 0) { + return; + } Messages.find({ rid, 'file._id': { diff --git a/app/lib/server/functions/deleteUser.js b/app/lib/server/functions/deleteUser.js index 1038c6783d46..ef39206c74bd 100644 --- a/app/lib/server/functions/deleteUser.js +++ b/app/lib/server/functions/deleteUser.js @@ -101,7 +101,7 @@ export const deleteUser = function(userId) { // Remove non-channel rooms with only 1 user (the one being deleted) return roomData.t !== 'c' && roomData.subscribers === 1; - }).map(({ _id }) => _id); + }).map(({ rid }) => rid); Rooms.find1On1ByUserId(user._id, { fields: { _id: 1 } }).forEach(({ _id }) => roomIds.push(_id)); From f4f4ff9bf13e97d54fc6db45ec73d9b8931627cd Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Tue, 31 Mar 2020 20:36:29 -0300 Subject: [PATCH 122/223] Bump version to 3.1.0-rc.6 --- .docker/Dockerfile.rhel | 2 +- .github/history.json | 40 +++++++++++++++++++++++++++++++++++++++ HISTORY.md | 21 ++++++++++++++++++++ app/utils/rocketchat.info | 2 +- package.json | 2 +- 5 files changed, 64 insertions(+), 3 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index bd0adbbbda24..cf38e2d5fe94 100644 --- a/.docker/Dockerfile.rhel +++ b/.docker/Dockerfile.rhel @@ -1,6 +1,6 @@ FROM registry.access.redhat.com/rhscl/nodejs-8-rhel7 -ENV RC_VERSION 3.1.0-rc.5 +ENV RC_VERSION 3.1.0-rc.6 MAINTAINER buildmaster@rocket.chat diff --git a/.github/history.json b/.github/history.json index 38b2712206e6..669163f1f675 100644 --- a/.github/history.json +++ b/.github/history.json @@ -41679,6 +41679,46 @@ ] } ] + }, + "3.1.0-rc.6": { + "node_version": "12.16.1", + "npm_version": "6.13.4", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "17111", + "title": "Regression: Files were been deleted when deleting users as last members of private rooms", + "userLogin": "rodrigok", + "milestone": "3.1.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "17105", + "title": "Regression: Block users was not possible for 1:1 DMs", + "userLogin": "ggazzo", + "milestone": "3.1.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "16994", + "title": "Regression: Collapsible elements didn't respect attachment parameter.", + "userLogin": "gabriellsh", + "milestone": "3.1.0", + "contributors": [ + "gabriellsh", + "web-flow", + "ggazzo" + ] + } + ] } } } \ No newline at end of file diff --git a/HISTORY.md b/HISTORY.md index bcdf18a0766b..0b94b78ef297 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,6 +1,27 @@ # 3.1.0 (Under Release Candidate Process) +## 3.1.0-rc.6 +`2020-03-31 ยท 3 ๐Ÿ” ยท 3 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` + +
+๐Ÿ” Minor changes + + +- Regression: Files were been deleted when deleting users as last members of private rooms ([#17111](https://github.com/RocketChat/Rocket.Chat/pull/17111)) + +- Regression: Block users was not possible for 1:1 DMs ([#17105](https://github.com/RocketChat/Rocket.Chat/pull/17105)) + +- Regression: Collapsible elements didn't respect attachment parameter. ([#16994](https://github.com/RocketChat/Rocket.Chat/pull/16994)) + +
+ +### ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“ + +- [@gabriellsh](https://github.com/gabriellsh) +- [@ggazzo](https://github.com/ggazzo) +- [@rodrigok](https://github.com/rodrigok) + ## 3.1.0-rc.5 `2020-03-31 ยท 1 ๐Ÿ› ยท 1 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป` diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index 77a6d9273776..d857506287d8 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.1.0-rc.5" + "version": "3.1.0-rc.6" } diff --git a/package.json b/package.json index 7f5d7e3f0ac7..adb4b214b20d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Rocket.Chat", "description": "The Ultimate Open Source WebChat Platform", - "version": "3.1.0-rc.5", + "version": "3.1.0-rc.6", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From fd098226d41e10443a16f470a6b9826ca1705c92 Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Tue, 31 Mar 2020 21:32:11 -0300 Subject: [PATCH 123/223] [NEW] Sort List, View Mode and Group by revamp (#17103) --- app/ui-sidenav/client/SortList.js | 131 +++++++++++++++++++++ app/ui-sidenav/client/index.js | 2 - app/ui-sidenav/client/sidebarHeader.js | 101 ++-------------- app/ui-sidenav/client/sortlist.html | 65 ---------- app/ui-sidenav/client/sortlist.js | 52 -------- client/routes.js | 2 +- packages/rocketchat-i18n/i18n/en.i18n.json | 2 + 7 files changed, 143 insertions(+), 212 deletions(-) create mode 100644 app/ui-sidenav/client/SortList.js delete mode 100644 app/ui-sidenav/client/sortlist.html delete mode 100644 app/ui-sidenav/client/sortlist.js diff --git a/app/ui-sidenav/client/SortList.js b/app/ui-sidenav/client/SortList.js new file mode 100644 index 000000000000..bb9e874e2361 --- /dev/null +++ b/app/ui-sidenav/client/SortList.js @@ -0,0 +1,131 @@ +import React, { useCallback } from 'react'; +import { Icon, ToggleSwitch, RadioButton, Box, Flex, Margins } from '@rocket.chat/fuselage'; + + +import { useTranslation } from '../../../client/contexts/TranslationContext'; +import { useUserPreference } from '../../../client/contexts/UserContext'; +import { useMethod } from '../../../client/contexts/ServerContext'; + +function SortListItem({ text, icon, input }) { + return + + + + + + + + + {text} + + + + {input} + + + + + ; +} +const style = { + textTransform: 'uppercase', +}; +export function SortList() { + return <> +
+ + + +
+ ; +} + +export function SortModeList() { + const t = useTranslation(); + const saveUserPreferences = useMethod('saveUserPreferences'); + const sidebarSortBy = useUserPreference('sidebarSortby', 'alphabetical'); + + const handleChange = (value) => () => saveUserPreferences({ sidebarSortby: value }); + + const setToAlphabetical = useCallback(handleChange('alphabetical'), []); + const setToActivity = useCallback(handleChange('activity'), []); + + return <> + + {t('Sort_By')} + +
    + + } /> + } /> + +
+ ; +} + + +function ViewModeList() { + const t = useTranslation(); + + const saveUserPreferences = useMethod('saveUserPreferences'); + + const handleChange = (value) => () => saveUserPreferences({ sidebarViewMode: value }); + + const sidebarViewMode = useUserPreference('sidebarViewMode', 'extended'); + const sidebarHideAvatar = useUserPreference('sidebarHideAvatar', false); + + const setToExtended = useCallback(handleChange('extended'), []); + const setToMedium = useCallback(handleChange('medium'), []); + const setToCondensed = useCallback(handleChange('condensed'), []); + + const handleChangeSidebarHideAvatar = useCallback(() => saveUserPreferences({ sidebarHideAvatar: !sidebarHideAvatar }), [sidebarHideAvatar]); + + return <> + + {t('View_mode')} + +
    + + } /> + } /> + } /> + } /> + +
+ ; +} + + +function GroupingList() { + const sidebarShowDiscussion = useUserPreference('sidebarShowDiscussion'); + const sidebarGroupByType = useUserPreference('sidebarGroupByType'); + const sidebarShowFavorites = useUserPreference('sidebarShowFavorites'); + const sidebarShowUnread = useUserPreference('sidebarShowUnread'); + + const saveUserPreferences = useMethod('saveUserPreferences'); + + const handleChange = (key, value) => () => saveUserPreferences({ [key]: value }); + + const handleChangeShowDicussion = useCallback(handleChange('sidebarShowDiscussion', !sidebarShowDiscussion), [sidebarShowDiscussion]); + const handleChangeGroupByType = useCallback(handleChange('sidebarGroupByType', !sidebarGroupByType), [sidebarGroupByType]); + const handleChangeShoFavorite = useCallback(handleChange('sidebarShowFavorites', !sidebarShowFavorites), [sidebarShowFavorites]); + const handleChangeShowUnread = useCallback(handleChange('sidebarShowUnread', !sidebarShowUnread), [sidebarShowUnread]); + + + const t = useTranslation(); + return <> + + {t('Grouping')} + +
    + + } /> + } /> + } /> + } /> + +
+ ; +} + +SortList.name = 'SortList'; diff --git a/app/ui-sidenav/client/index.js b/app/ui-sidenav/client/index.js index 216d156fe5e4..ce46c1f15fa7 100644 --- a/app/ui-sidenav/client/index.js +++ b/app/ui-sidenav/client/index.js @@ -4,14 +4,12 @@ import './sidebarItem.html'; import './sideNav.html'; import './toolbar.html'; import './roomList.html'; -import './sortlist.html'; import './userStatus.html'; import './chatRoomItem'; import { toolbarSearch } from './sidebarHeader'; import './sidebarItem'; import './sideNav'; import './roomList'; -import './sortlist'; import './toolbar'; import './userPresence'; diff --git a/app/ui-sidenav/client/sidebarHeader.js b/app/ui-sidenav/client/sidebarHeader.js index ef4139876f3f..100ae6793ce8 100644 --- a/app/ui-sidenav/client/sidebarHeader.js +++ b/app/ui-sidenav/client/sidebarHeader.js @@ -4,12 +4,14 @@ import { FlowRouter } from 'meteor/kadira:flow-router'; import { Template } from 'meteor/templating'; import { popover, AccountBox, menu, SideNav, modal } from '../../ui-utils'; -import { t, getUserPreference, handleError } from '../../utils'; +import { t } from '../../utils'; import { callbacks } from '../../callbacks'; import { settings } from '../../settings'; import { hasAtLeastOnePermission } from '../../authorization'; import { userStatus } from '../../user-status'; import { hasPermission } from '../../authorization/client'; +import { createTemplateForComponent } from '../../../client/routes'; + const setStatus = (status, statusText) => { AccountBox.setStatus(status, statusText); @@ -17,29 +19,6 @@ const setStatus = (status, statusText) => { popover.close(); }; -const viewModeIcon = { - extended: 'th-list', - medium: 'list', - condensed: 'list-alt', -}; - -const extendedViewOption = (user) => { - if (settings.get('Store_Last_Message')) { - return { - icon: viewModeIcon.extended, - name: t('Extended'), - modifier: getUserPreference(user, 'sidebarViewMode') === 'extended' ? 'bold' : null, - action: () => { - Meteor.call('saveUserPreferences', { sidebarViewMode: 'extended' }, function(error) { - if (error) { - return handleError(error); - } - }); - }, - }; - } -}; - const showToolbar = new ReactiveVar(false); export const toolbarSearch = { @@ -57,7 +36,7 @@ export const toolbarSearch = { }, }; -const toolbarButtons = (user) => [{ +const toolbarButtons = (/* user */) => [{ name: t('Home'), icon: 'home', condition: () => settings.get('Layout_Show_Home_Button'), @@ -80,84 +59,22 @@ const toolbarButtons = (user) => [{ FlowRouter.go('directory'); }, }, -{ - name: t('View_mode'), - icon: () => viewModeIcon[getUserPreference(user, 'sidebarViewMode') || 'condensed'], - hasPopup: true, - action: (e) => { - const hideAvatarSetting = getUserPreference(user, 'sidebarHideAvatar'); - const config = { - columns: [ - { - groups: [ - { - items: [ - extendedViewOption(user), - { - icon: viewModeIcon.medium, - name: t('Medium'), - modifier: getUserPreference(user, 'sidebarViewMode') === 'medium' ? 'bold' : null, - action: () => { - Meteor.call('saveUserPreferences', { sidebarViewMode: 'medium' }, function(error) { - if (error) { - return handleError(error); - } - }); - }, - }, - { - icon: viewModeIcon.condensed, - name: t('Condensed'), - modifier: getUserPreference(user, 'sidebarViewMode') === 'condensed' ? 'bold' : null, - action: () => { - Meteor.call('saveUserPreferences', { sidebarViewMode: 'condensed' }, function(error) { - if (error) { - return handleError(error); - } - }); - }, - }, - ], - }, - { - items: [ - { - icon: 'user-rounded', - name: hideAvatarSetting ? t('Show_Avatars') : t('Hide_Avatars'), - action: () => { - Meteor.call('saveUserPreferences', { sidebarHideAvatar: !hideAvatarSetting }, function(error) { - if (error) { - return handleError(error); - } - }); - }, - }, - ], - }, - ], - }, - ], - currentTarget: e.currentTarget, - offsetVertical: e.currentTarget.clientHeight + 10, - }; - - popover.open(config); - }, -}, { name: t('Sort'), icon: 'sort', hasPopup: true, - action: (e) => { + action: async (e) => { const options = []; const config = { - template: 'sortlist', + template: 'SortList', currentTarget: e.currentTarget, data: { options, }, offsetVertical: e.currentTarget.clientHeight + 10, }; + const { SortList } = require('./SortList'); + await createTemplateForComponent(SortList); popover.open(config); }, }, @@ -312,7 +229,7 @@ Template.sidebarHeader.helpers({ } }); }, toolbarButtons() { - return toolbarButtons(Meteor.userId()).filter((button) => !button.condition || button.condition()); + return toolbarButtons().filter((button) => !button.condition || button.condition()); }, showToolbar() { return showToolbar.get(); diff --git a/app/ui-sidenav/client/sortlist.html b/app/ui-sidenav/client/sortlist.html deleted file mode 100644 index fa8efb05de23..000000000000 --- a/app/ui-sidenav/client/sortlist.html +++ /dev/null @@ -1,65 +0,0 @@ - diff --git a/app/ui-sidenav/client/sortlist.js b/app/ui-sidenav/client/sortlist.js deleted file mode 100644 index 23144008b15e..000000000000 --- a/app/ui-sidenav/client/sortlist.js +++ /dev/null @@ -1,52 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { Template } from 'meteor/templating'; - -import { popover } from '../../ui-utils'; -import { getUserPreference } from '../../utils'; -import { settings } from '../../settings'; - -const checked = function(prop, field) { - const userId = Meteor.userId(); - - if (prop === 'sidebarShowDiscussion') { - return getUserPreference(userId, 'sidebarShowDiscussion'); - } - if (prop === 'sidebarShowFavorites') { - return getUserPreference(userId, 'sidebarShowFavorites'); - } - if (prop === 'sidebarGroupByType') { - return getUserPreference(userId, 'sidebarGroupByType'); - } - if (prop === 'sidebarShowUnread') { - return getUserPreference(userId, 'sidebarShowUnread'); - } - if (prop === 'sidebarSortby') { - return (getUserPreference(userId, 'sidebarSortby') || 'alphabetical') === field; - } -}; - -Template.sortlist.helpers({ - favorite() { - return settings.get('Favorite_Rooms'); - }, - checked, - bold(...props) { - return checked(...props) ? 'rc-popover__item--bold' : ''; - }, -}); - -Template.sortlist.events({ - 'change input'({ currentTarget }) { - const name = currentTarget.getAttribute('name'); - let value = currentTarget.getAttribute('type') === 'checkbox' ? currentTarget.checked : currentTarget.value; - - // TODO change mergeChannels to GroupByType - if (name === 'mergeChannels') { - value = !value; - } - Meteor.call('saveUserPreferences', { - [name]: value, - }); - popover.close(); - }, -}); diff --git a/client/routes.js b/client/routes.js index ce613e76b182..d9da7ee66895 100644 --- a/client/routes.js +++ b/client/routes.js @@ -34,7 +34,7 @@ FlowRouter.goToRoomById = async (rid) => { BlazeLayout.setRoot('body'); -const createTemplateForComponent = async ( +export const createTemplateForComponent = async ( component, props = {}, // eslint-disable-next-line new-cap diff --git a/packages/rocketchat-i18n/i18n/en.i18n.json b/packages/rocketchat-i18n/i18n/en.i18n.json index 6e1ec0c127c6..491f55fb055e 100644 --- a/packages/rocketchat-i18n/i18n/en.i18n.json +++ b/packages/rocketchat-i18n/i18n/en.i18n.json @@ -1659,6 +1659,7 @@ "Group_favorites": "Group favorites", "Group_mentions_disabled_x_members": "Group mentions `@all` and `@here` have been disabled for rooms with more than __total__ members.", "Group_mentions_only": "Group mentions only", + "Grouping": "Grouping", "Hash": "Hash", "Header": "Header", "Header_and_Footer": "Header and Footer", @@ -3108,6 +3109,7 @@ "Social_Network": "Social Network", "Sorry_page_you_requested_does_not_exist_or_was_deleted": "Sorry, page you requested does not exist or was deleted!", "Sort": "Sort", + "Sort_By": "Sort by", "Sort_by_activity": "Sort by Activity", "Sound": "Sound", "Sound_File_mp3": "Sound File (mp3)", From f0fc738a45422b7ee10295a1c734b717b0d38567 Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Tue, 31 Mar 2020 21:58:18 -0300 Subject: [PATCH 124/223] [NEW] Directory page refactored, new user's bio field (#17043) --- app/api/server/v1/misc.js | 1 + app/api/server/v1/users.js | 1 + .../server/methods/saveRoomSettings.js | 11 +- app/lib/server/functions/getFullUserData.js | 1 + app/lib/server/functions/saveUser.js | 26 +- app/lib/server/startup/settings.js | 2 +- app/models/server/models/Rooms.js | 29 ++ app/models/server/models/Users.js | 28 +- app/ui-account/client/accountProfile.html | 49 +-- app/ui-account/client/accountProfile.js | 37 ++- app/ui-admin/client/rooms/adminRooms.js | 16 + .../client/rooms/channelSettingsFeatured.html | 15 + .../client/rooms/channelSettingsFeatured.js | 65 ++++ app/ui-admin/client/rooms/views.js | 1 + app/ui-flextab/client/tabs/membersList.js | 17 +- app/ui-flextab/client/tabs/userEdit.html | 15 + app/ui-flextab/client/tabs/userEdit.js | 1 + app/ui-flextab/client/tabs/userInfo.html | 5 + app/ui-flextab/client/tabs/userInfo.js | 10 +- app/ui-sidenav/client/sidebarHeader.js | 2 +- app/ui/client/index.js | 1 - .../app/components/Directory/ChannelsTab.js | 89 ++++++ .../components/Directory/Directory.stories.js | 19 ++ .../components/Directory/DirectoryTable.js | 115 +++++++ .../views/app/components/Directory/UserTab.js | 97 ++++++ .../views/app/components/Directory/index.js | 51 ++++ app/ui/client/views/app/components/hooks.js | 84 ++++++ app/ui/client/views/app/directory.html | 173 ----------- app/ui/client/views/app/directory.js | 280 ------------------ .../server/functions/getDefaultUserFields.js | 1 + .../settings/inputs/StringSettingInput.js | 19 +- client/components/basic/Page.js | 4 +- client/main.js | 1 + client/routes.js | 22 +- client/startup/startup.js | 1 + .../components/EngagementDashboardPage.js | 8 +- .../client/components/Section.js | 2 +- package-lock.json | 69 +++-- package.json | 11 +- packages/rocketchat-i18n/i18n/en.i18n.json | 4 + server/methods/browseChannels.js | 16 +- server/methods/getUsersOfRoom.js | 14 +- server/methods/saveUserProfile.js | 9 + 43 files changed, 860 insertions(+), 562 deletions(-) create mode 100644 app/ui-admin/client/rooms/channelSettingsFeatured.html create mode 100644 app/ui-admin/client/rooms/channelSettingsFeatured.js create mode 100644 app/ui/client/views/app/components/Directory/ChannelsTab.js create mode 100644 app/ui/client/views/app/components/Directory/Directory.stories.js create mode 100644 app/ui/client/views/app/components/Directory/DirectoryTable.js create mode 100644 app/ui/client/views/app/components/Directory/UserTab.js create mode 100644 app/ui/client/views/app/components/Directory/index.js create mode 100644 app/ui/client/views/app/components/hooks.js delete mode 100644 app/ui/client/views/app/directory.html delete mode 100644 app/ui/client/views/app/directory.js diff --git a/app/api/server/v1/misc.js b/app/api/server/v1/misc.js index 033bc3b9b055..4caefb489221 100644 --- a/app/api/server/v1/misc.js +++ b/app/api/server/v1/misc.js @@ -179,6 +179,7 @@ API.v1.addRoute('directory', { authRequired: true }, { const { sort, query } = this.parseJsonQuery(); const { text, type, workspace = 'local' } = query; + if (sort && Object.keys(sort).length > 1) { return API.v1.failure('This method support only one "sort" parameter'); } diff --git a/app/api/server/v1/users.js b/app/api/server/v1/users.js index a3618a3caa2e..4b861eb11407 100644 --- a/app/api/server/v1/users.js +++ b/app/api/server/v1/users.js @@ -199,6 +199,7 @@ API.v1.addRoute('users.info', { authRequired: true }, { user.rooms = Subscriptions.findByUserId(user._id, { fields: { rid: 1, + bio: 1, name: 1, t: 1, roles: 1, diff --git a/app/channel-settings/server/methods/saveRoomSettings.js b/app/channel-settings/server/methods/saveRoomSettings.js index 91d7fbcecf41..adef8f1ed12c 100644 --- a/app/channel-settings/server/methods/saveRoomSettings.js +++ b/app/channel-settings/server/methods/saveRoomSettings.js @@ -17,7 +17,7 @@ import { saveRoomTokenpass } from '../functions/saveRoomTokens'; import { saveStreamingOptions } from '../functions/saveStreamingOptions'; import { RoomSettingsEnum, roomTypes } from '../../../utils'; -const fields = ['roomName', 'roomTopic', 'roomAnnouncement', 'roomCustomFields', 'roomDescription', 'roomType', 'readOnly', 'reactWhenReadOnly', 'systemMessages', 'default', 'joinCode', 'tokenpass', 'streamingOptions', 'retentionEnabled', 'retentionMaxAge', 'retentionExcludePinned', 'retentionFilesOnly', 'retentionOverrideGlobal', 'encrypted']; +const fields = ['featured', 'roomName', 'roomTopic', 'roomAnnouncement', 'roomCustomFields', 'roomDescription', 'roomType', 'readOnly', 'reactWhenReadOnly', 'systemMessages', 'default', 'joinCode', 'tokenpass', 'streamingOptions', 'retentionEnabled', 'retentionMaxAge', 'retentionExcludePinned', 'retentionFilesOnly', 'retentionOverrideGlobal', 'encrypted']; Meteor.methods({ saveRoomSettings(rid, settings, value) { const userId = Meteor.userId(); @@ -79,6 +79,12 @@ Meteor.methods({ action: 'Viewing_room_administration', }); } + if (settings === 'featured' && !hasPermission(userId, 'view-room-administration')) { + throw new Meteor.Error('error-action-not-allowed', 'Viewing room administration is not allowed', { + method: 'saveRoomSettings', + action: 'Viewing_room_administration', + }); + } if (setting === 'roomType' && value !== room.t && value === 'c' && !hasPermission(userId, 'create-c')) { throw new Meteor.Error('error-action-not-allowed', 'Changing a private group to a public channel is not allowed', { method: 'saveRoomSettings', @@ -194,6 +200,9 @@ Meteor.methods({ case 'default': Rooms.saveDefaultById(rid, value); break; + case 'featured': + Rooms.saveFeaturedById(rid, value); + break; case 'retentionEnabled': Rooms.saveRetentionEnabledById(rid, value); break; diff --git a/app/lib/server/functions/getFullUserData.js b/app/lib/server/functions/getFullUserData.js index b79cc953adb9..d3892bca9c51 100644 --- a/app/lib/server/functions/getFullUserData.js +++ b/app/lib/server/functions/getFullUserData.js @@ -22,6 +22,7 @@ const fullFields = { emails: 1, phone: 1, statusConnection: 1, + bio: 1, createdAt: 1, lastLogin: 1, services: 1, diff --git a/app/lib/server/functions/saveUser.js b/app/lib/server/functions/saveUser.js index 953a14e2b5c7..6f365454eb88 100644 --- a/app/lib/server/functions/saveUser.js +++ b/app/lib/server/functions/saveUser.js @@ -193,6 +193,23 @@ function validateUserEditing(userId, userData) { } } +const handleBio = (updateUser, bio) => { + if (bio) { + if (bio.trim()) { + if (typeof bio !== 'string' || bio.length > 260) { + throw new Meteor.Error('error-invalid-field', 'bio', { + method: 'saveUserProfile', + }); + } + updateUser.$set = updateUser.$set || {}; + updateUser.$set.bio = bio; + } else { + updateUser.$unset = updateUser.$unset || {}; + updateUser.$unset.bio = 1; + } + } +}; + export const saveUser = function(userId, userData) { validateUserData(userId, userData); let sendPassword = false; @@ -225,14 +242,11 @@ export const saveUser = function(userId, userData) { const updateUser = { $set: { roles: userData.roles || ['user'], + ...typeof userData.name !== 'undefined' && { name: userData.name }, settings: userData.settings || {}, }, }; - if (typeof userData.name !== 'undefined') { - updateUser.$set.name = userData.name; - } - if (typeof userData.requirePasswordChange !== 'undefined') { updateUser.$set.requirePasswordChange = userData.requirePasswordChange; } @@ -241,6 +255,8 @@ export const saveUser = function(userId, userData) { updateUser.$set['emails.0.verified'] = userData.verified; } + handleBio(updateUser, userData.bio); + Meteor.users.update({ _id }, updateUser); if (userData.sendWelcomeEmail) { @@ -294,6 +310,8 @@ export const saveUser = function(userId, userData) { $set: {}, }; + handleBio(updateUser, userData.bio); + if (userData.roles) { updateUser.$set.roles = userData.roles; } diff --git a/app/lib/server/startup/settings.js b/app/lib/server/startup/settings.js index ede7feccac60..597e9f3efaad 100644 --- a/app/lib/server/startup/settings.js +++ b/app/lib/server/startup/settings.js @@ -97,7 +97,7 @@ settings.addGroup('Accounts', function() { type: 'boolean', public: true, }); - this.add('Accounts_SearchFields', 'username, name', { + this.add('Accounts_SearchFields', '', { type: 'string', public: true, }); diff --git a/app/models/server/models/Rooms.js b/app/models/server/models/Rooms.js index 2ed0cd76c83b..d7a244e68008 100644 --- a/app/models/server/models/Rooms.js +++ b/app/models/server/models/Rooms.js @@ -11,12 +11,14 @@ export class Rooms extends Base { this.tryEnsureIndex({ name: 1 }, { unique: true, sparse: true }); this.tryEnsureIndex({ default: 1 }); + this.tryEnsureIndex({ featured: 1 }); this.tryEnsureIndex({ t: 1 }); this.tryEnsureIndex({ 'u._id': 1 }); this.tryEnsureIndex({ 'tokenpass.tokens.token': 1 }); this.tryEnsureIndex({ ts: 1 }); // discussions this.tryEnsureIndex({ prid: 1 }, { sparse: true }); + this.tryEnsureIndex({ fname: 1 }, { sparse: true }); // Livechat - statistics this.tryEnsureIndex({ closedAt: 1 }, { sparse: true }); @@ -414,6 +416,20 @@ export class Rooms extends Base { return this._db.find(query, options); } + findByNameOrFNameAndType(name, type, options) { + const query = { + t: type, + $or: [{ + name, + }, { + fname: name, + }], + }; + + // do not use cache + return this._db.find(query, options); + } + findByNameAndTypeNotDefault(name, type, options) { const query = { t: type, @@ -873,6 +889,19 @@ export class Rooms extends Base { return this.update(query, update); } + saveFeaturedById(_id, featured) { + const query = { _id }; + const set = ['true', true].includes(featured); + + const update = { + [set ? '$set' : '$unset']: { + featured: true, + }, + }; + + return this.update(query, update); + } + saveDefaultById(_id, defaultValue) { const query = { _id }; diff --git a/app/models/server/models/Users.js b/app/models/server/models/Users.js index 6ace2d3a9c94..43c9c03530b2 100644 --- a/app/models/server/models/Users.js +++ b/app/models/server/models/Users.js @@ -30,6 +30,7 @@ export class Users extends Base { this.tryEnsureIndex({ roles: 1 }, { sparse: 1 }); this.tryEnsureIndex({ name: 1 }); + this.tryEnsureIndex({ name: 'text', username: 'text', bio: 'text' }, { default_language: 'none', language_override: 'documentLanguage' }); this.tryEnsureIndex({ createdAt: 1 }); this.tryEnsureIndex({ lastLogin: 1 }); this.tryEnsureIndex({ status: 1 }); @@ -688,16 +689,20 @@ export class Users extends Base { const searchFields = forcedSearchFields || settings.get('Accounts_SearchFields').trim().split(','); const orStmt = _.reduce(searchFields, function(acc, el) { - acc.push({ [el.trim()]: termRegex }); + el = el.trim(); + if (el && !['name', 'username', 'bio'].includes(el)) { + acc.push({ [el]: termRegex }); + } return acc; }, []); + const query = { $and: [ { active: true, - $or: orStmt, - }, - { + $or: [{ + $text: { $search: searchTerm }, + }, ...orStmt], username: { $exists: true, $nin: exceptions }, }, ...extraQuery, @@ -1117,6 +1122,21 @@ export class Users extends Base { return this.update(_id, update); } + setBio(_id, bio = '') { + const update = { + ...bio.trim() ? { + $set: { + bio, + }, + } : { + $unset: { + bio: 1, + }, + }, + }; + return this.update(_id, update); + } + clearSettings(_id) { const update = { $set: { diff --git a/app/ui-account/client/accountProfile.html b/app/ui-account/client/accountProfile.html index 03ee6b0da865..4f6196f3e2c9 100644 --- a/app/ui-account/client/accountProfile.html +++ b/app/ui-account/client/accountProfile.html @@ -70,26 +70,6 @@ {{/if}} -
- {{# with canChange=allowStatusMessageChange}} - -
- - {{# unless canChange}} -
{{_ 'StatusMessage_Change_Disabled'}}
- {{/unless}} -
- {{/with}} -
{{# with canChange=allowRealNameChange}}
@@ -129,6 +109,35 @@
{{/with}}
+
+ {{# with canChange=allowStatusMessageChange}} +
+ + {{# unless canChange}} +
{{_ 'StatusMessage_Change_Disabled'}}
+ {{/unless}} +
+ {{/with}} +
+
+
+ +
+
{{#with canChange=allowEmailChange}}
diff --git a/app/ui-account/client/accountProfile.js b/app/ui-account/client/accountProfile.js index 79ba12d4d098..035358f2bd7d 100644 --- a/app/ui-account/client/accountProfile.js +++ b/app/ui-account/client/accountProfile.js @@ -1,5 +1,6 @@ import { SHA256 } from 'meteor/sha'; import { ReactiveVar } from 'meteor/reactive-var'; +import { ReactiveDict } from 'meteor/reactive-dict'; import { Meteor } from 'meteor/meteor'; import { Tracker } from 'meteor/tracker'; import { FlowRouter } from 'meteor/kadira:flow-router'; @@ -78,7 +79,7 @@ Template.accountProfile.helpers({ return !validateName(Template.instance().realname.get()); }, statusMessageInvalid() { - return !validateStatusMessage(Template.instance().statusText.get()); + return !validateStatusMessage(Template.instance().fields.get('statusText')); }, confirmationPasswordInvalid() { const { password, confirmationPassword } = Template.instance(); @@ -117,7 +118,8 @@ Template.accountProfile.helpers({ const instance = Template.instance(); instance.dep.depend(); const realname = instance.realname.get(); - const statusText = instance.statusText.get(); + const statusText = instance.fields.get('statusText'); + const bio = instance.fields.get('bio'); const username = instance.username.get(); const password = instance.password.get(); const confirmationPassword = instance.confirmationPassword.get(); @@ -135,7 +137,7 @@ Template.accountProfile.helpers({ return; } } - if (!avatar && user.name === realname && user.username === username && getUserEmailAddress(user) === email && statusText === user.statusText && !password) { + if (!avatar && user.bio === bio && user.name === realname && user.username === username && getUserEmailAddress(user) === email && statusText === user.statusText && !password) { return ret; } if (!validateEmail(email) || !validatePassword(password, confirmationPassword) || (!validateUsername(username) || usernameAvaliable !== true) || !validateName(realname) || !validateStatusMessage(statusText)) { @@ -151,9 +153,6 @@ Template.accountProfile.helpers({ username() { return Meteor.user().username; }, - statusText() { - return Meteor.user().statusText; - }, email() { const user = Meteor.user(); return getUserEmailAddress(user); @@ -187,11 +186,20 @@ Template.accountProfile.helpers({ customFields() { return Meteor.user().customFields; }, + get(field) { + return Template.instance().fields.get(field); + }, }); Template.accountProfile.onCreated(function() { - const self = this; const user = Meteor.user(); + + this.fields = new ReactiveDict({ + statusText: user.statusText, + bio: user.bio, + }); + + const self = this; self.dep = new Tracker.Dependency(); self.realname = new ReactiveVar(user.name); self.email = new ReactiveVar(getUserEmailAddress(user)); @@ -267,7 +275,7 @@ Template.accountProfile.onCreated(function() { } data.realname = s.trim(self.realname.get()); } - if (s.trim(self.statusText.get()) !== user.statusText) { + if (s.trim(self.fields.get('statusText')) !== user.statusText) { if (!settings.get('Accounts_AllowUserStatusMessageChange')) { toastr.remove(); toastr.error(t('StatusMessage_Change_Disabled')); @@ -275,7 +283,11 @@ Template.accountProfile.onCreated(function() { return cb && cb(); } - data.statusText = s.trim(self.statusText.get()); + data.statusText = s.trim(self.fields.get('statusText')); + } + + if (s.trim(self.fields.get('bio')) !== user.statusText) { + data.bio = s.trim(self.fields.get('bio')); } if (s.trim(self.username.get()) !== user.username) { if (!settings.get('Accounts_AllowUsernameChange')) { @@ -295,6 +307,7 @@ Template.accountProfile.onCreated(function() { } data.email = s.trim(self.email.get()); } + const customFields = {}; $('[data-customfield=true]').each(function() { customFields[this.name] = $(this).val() || ''; @@ -396,9 +409,6 @@ Template.accountProfile.events({ 'input [name=realname]'(e, instance) { instance.realname.set(e.target.value); }, - 'input [name=statusText]'(e, instance) { - instance.statusText.set(e.target.value); - }, 'input [name=password]'(e, instance) { instance.password.set(e.target.value); @@ -406,6 +416,9 @@ Template.accountProfile.events({ instance.confirmationPassword.set(''); } }, + 'input [name=bio], input [name=statusText]'(e, instance) { + instance.fields.set(e.target.name, e.target.value); + }, 'input [name=confirmation-password]'(e, instance) { instance.confirmationPassword.set(e.target.value); }, diff --git a/app/ui-admin/client/rooms/adminRooms.js b/app/ui-admin/client/rooms/adminRooms.js index 96a7c4c562fd..407048b92a5d 100644 --- a/app/ui-admin/client/rooms/adminRooms.js +++ b/app/ui-admin/client/rooms/adminRooms.js @@ -102,6 +102,7 @@ Template.adminRooms.onCreated(function() { template: 'adminRoomInfo', order: 7, }); + ChannelSettings.addOption({ group: ['admin-room'], id: 'make-default', @@ -117,6 +118,21 @@ Template.adminRooms.onCreated(function() { }, }); + ChannelSettings.addOption({ + group: ['admin-room'], + id: 'make-default', + template: 'channelSettingsFeatured', + data() { + return { + room: instance.tabBarData.get().room, + onSuccess: instance.tabBarData.get().onSuccess, + }; + }, + validation() { + return hasAllPermission('view-room-administration'); + }, + }); + this.onSuccessCallback = () => { instance.offset.set(0); return instance.loadRooms(instance.types.get(), instance.filter.get(), instance.offset.get()); diff --git a/app/ui-admin/client/rooms/channelSettingsFeatured.html b/app/ui-admin/client/rooms/channelSettingsFeatured.html new file mode 100644 index 000000000000..a6b003286736 --- /dev/null +++ b/app/ui-admin/client/rooms/channelSettingsFeatured.html @@ -0,0 +1,15 @@ + diff --git a/app/ui-admin/client/rooms/channelSettingsFeatured.js b/app/ui-admin/client/rooms/channelSettingsFeatured.js new file mode 100644 index 000000000000..a0ffb03881ee --- /dev/null +++ b/app/ui-admin/client/rooms/channelSettingsFeatured.js @@ -0,0 +1,65 @@ +import { Meteor } from 'meteor/meteor'; +import { ReactiveVar } from 'meteor/reactive-var'; +import { Template } from 'meteor/templating'; +import { TAPi18n } from 'meteor/rocketchat:tap-i18n'; +import toastr from 'toastr'; +import './channelSettingsFeatured.html'; + +import { t, handleError } from '../../../utils'; + +Template.channelSettingsFeatured.helpers({ + editing(field) { + return Template.instance().editing.get() === field; + }, + roomFeatured() { + const room = Template.instance().room.get(); + + if (room) { + return room.featured; + } + }, + featuredDescription() { + const room = Template.instance().room.get(); + if (room && room.featured) { + return t('True'); + } + return t('False'); + }, +}); + +Template.channelSettingsFeatured.events({ + 'click [data-edit]'(e, t) { + e.preventDefault(); + t.editing.set($(e.currentTarget).data('edit')); + setTimeout(() => { + t.$('input.editing').focus().select(); + }, 100); + }, + 'click .cancel'(e, t) { + e.preventDefault(); + t.editing.set(); + }, + 'click .save'(e, t) { + e.preventDefault(); + + Meteor.call('saveRoomSettings', Template.instance().room.get()._id, 'featured', $('input[name=featured]:checked').val(), (err/* , result*/) => { + if (err) { + return handleError(err); + } + toastr.success(TAPi18n.__('Room_changed_successfully')); + }); + t.onSuccess(); + t.editing.set(); + }, +}); + +Template.channelSettingsFeatured.onCreated(function() { + this.editing = new ReactiveVar(); + this.room = new ReactiveVar(); + this.onSuccess = Template.currentData().onSuccess; + + this.autorun(() => { + const { room } = Template.currentData(); + this.room.set(room); + }); +}); diff --git a/app/ui-admin/client/rooms/views.js b/app/ui-admin/client/rooms/views.js index cfd9eee52505..9bfc9dcf830d 100644 --- a/app/ui-admin/client/rooms/views.js +++ b/app/ui-admin/client/rooms/views.js @@ -3,4 +3,5 @@ import './adminRoomInfo.html'; import './adminRoomInfo'; import './channelSettingsDefault.html'; import './channelSettingsDefault'; +import './channelSettingsFeatured'; import './adminRooms'; diff --git a/app/ui-flextab/client/tabs/membersList.js b/app/ui-flextab/client/tabs/membersList.js index ac77958a13c6..bd1797578ab8 100644 --- a/app/ui-flextab/client/tabs/membersList.js +++ b/app/ui-flextab/client/tabs/membersList.js @@ -40,17 +40,6 @@ Template.membersList.helpers({ let totalOnline = 0; let users = roomUsers; - const filter = Template.instance().filter.get(); - let reg = null; - try { - reg = new RegExp(filter, 'i'); - } catch (e) { - console.log(e); - } - if (filter && reg) { - users = users.filter((user) => reg.test(user.username) || reg.test(user.name)); - } - users = users.map(function(user) { let utcOffset; if (onlineUsers[user.username] != null) { @@ -247,10 +236,10 @@ Template.membersList.events({ }, 'click .show-more-users'(e, instance) { - const { showAllUsers, usersLimit, users, total, loadingMore } = instance; + const { showAllUsers, usersLimit, users, total, loadingMore, filter } = instance; loadingMore.set(true); - Meteor.call('getUsersOfRoom', this.rid, showAllUsers.get(), { limit: usersLimit.get() + 100, skip: 0 }, (error, result) => { + Meteor.call('getUsersOfRoom', this.rid, showAllUsers.get(), { limit: usersLimit.get() + 100, skip: 0 }, filter.get(), (error, result) => { if (error) { console.error(error); loadingMore.set(false); @@ -283,7 +272,7 @@ Template.membersList.onCreated(function() { this.autorun(() => { if (this.data.rid == null) { return; } this.loading.set(true); - return Meteor.call('getUsersOfRoom', this.data.rid, this.showAllUsers.get(), { limit: 100, skip: 0 }, (error, users) => { + return Meteor.call('getUsersOfRoom', this.data.rid, this.showAllUsers.get(), { limit: 100, skip: 0 }, this.filter.get(), (error, users) => { if (error) { console.error(error); this.loading.set(false); diff --git a/app/ui-flextab/client/tabs/userEdit.html b/app/ui-flextab/client/tabs/userEdit.html index fb83c6096fae..f4e17c2aef7b 100644 --- a/app/ui-flextab/client/tabs/userEdit.html +++ b/app/ui-flextab/client/tabs/userEdit.html @@ -113,6 +113,21 @@
+
+
+ +
+
+ + {{#if hasPermission 'edit-other-user-password'}}
diff --git a/app/ui-flextab/client/tabs/userEdit.js b/app/ui-flextab/client/tabs/userEdit.js index df4d933c3598..6ccae14800f9 100644 --- a/app/ui-flextab/client/tabs/userEdit.js +++ b/app/ui-flextab/client/tabs/userEdit.js @@ -205,6 +205,7 @@ Template.userEdit.onCreated(function() { userData.name = s.trim(this.$('#name').val()); userData.username = s.trim(this.$('#username').val()); userData.statusText = s.trim(this.$('#status').val()); + userData.bio = s.trim(this.$('#bio').val()); userData.email = s.trim(this.$('#email').val()); userData.verified = this.$('#verified:checked').length > 0; userData.password = s.trim(this.$('#password').val()); diff --git a/app/ui-flextab/client/tabs/userInfo.html b/app/ui-flextab/client/tabs/userInfo.html index c57a711be264..69e6128cf614 100644 --- a/app/ui-flextab/client/tabs/userInfo.html +++ b/app/ui-flextab/client/tabs/userInfo.html @@ -51,6 +51,11 @@
- \ No newline at end of file + From 9c9139ad005e8e5153b71eb4d9511965cb3b1116 Mon Sep 17 00:00:00 2001 From: Shailesh Baldaniya Date: Sat, 4 Apr 2020 15:16:12 +0000 Subject: [PATCH 215/223] Fix Room Search Issue and sidebar header --- app/ui-sidenav/client/sidebarHeader.js | 2 +- app/ui/client/views/app/room.html | 243 +++++++++++++------------ 2 files changed, 124 insertions(+), 121 deletions(-) diff --git a/app/ui-sidenav/client/sidebarHeader.js b/app/ui-sidenav/client/sidebarHeader.js index 41d99d84bc5a..8f69136fca89 100644 --- a/app/ui-sidenav/client/sidebarHeader.js +++ b/app/ui-sidenav/client/sidebarHeader.js @@ -75,7 +75,7 @@ const extendedViewOption = (user) => { const toolbarButtons = (user) => [{ name: t('Home'), icon: 'home', - condition: () => settings.get('Layout_Show_Home_Button'), + condition: () => !isMobile() && settings.get('Layout_Show_Home_Button'), action: () => { FlowRouter.go('home'); }, diff --git a/app/ui/client/views/app/room.html b/app/ui/client/views/app/room.html index 2ec39c4854ea..6fbb8e0fac70 100644 --- a/app/ui/client/views/app/room.html +++ b/app/ui/client/views/app/room.html @@ -11,140 +11,143 @@ {{/headerRoom}} {{/if}}
-
-
{{_ dragAndDropLabel}}
- {{#unless embeddedVersion}} - {{#if announcement}} -
-

{{{RocketChatMarkdownInline announcement}}}

-
- {{/if}} - {{/unless}} -
- {{#with unreadData}} - {{#if since}} - {{#if count}} -
- + + {{_ "S_new_messages_since_s" count formatUnreadSince}} + + + {{_ "N_new_messages" count}} + + +
+ {{/if}} + {{/if}} + {{/with}} + {{#each uploading}} +
+ {{#if error}} +
+ {{error}} +
+ - - {{_ "S_new_messages_since_s" count formatUnreadSince}} - - - {{_ "N_new_messages" count}} - - + {{/if}} +
+ {{/each}} +
+
+
+ +
+ +
+ {{#unless canPreview}} +
+
+ {{_ "You_must_join_to_view_messages_in_this_channel"}}
- {{/if}} - {{/if}} - {{/with}} - {{#each uploading}} -
- {{#if error}} -
- {{error}} -
-
+ {{/unless}} + {{#with roomLeader}} +
+ - {{else}} -
-
- [{{percentage}}%] {{name}} +
{{name}}
+
+ + {{statusDisplay}}
- - {{/if}} -
- {{/each}} -
-
-
- -
- -
- {{#unless canPreview}} -
-
- {{_ "You_must_join_to_view_messages_in_this_channel"}} -
-
- {{/unless}} - {{#with roomLeader}} -
- -
{{name}}
-
- - {{statusDisplay}} + {{_ "Chat_Now"}}
- {{_ "Chat_Now"}} -
- {{/with}} -
-
    - {{#if canPreview}} - {{#if hasMore}} + {{/with}} +
    +
      + {{#if canPreview}} + {{#if hasMore}} +
    • + {{#if isLoading}} + {{> loading}} + {{/if}} +
    • + {{else}} +
    • + {{#if hasPurge}} +
      + {{> icon block="start__purge-warning-icon" icon="warning"}} + {{#unless filesOnly}} + {{#unless excludePinned}} + {{_ "RetentionPolicy_RoomWarning" time=purgeTimeout}} + {{else}} + {{_ "RetentionPolicy_RoomWarning_Unpinned" time=purgeTimeout}} + {{/unless}} + {{else}} + {{#unless excludePinned}} + {{_ "RetentionPolicy_RoomWarning_FilesOnly" time=purgeTimeout}} + {{else}} + {{_ "RetentionPolicy_RoomWarning_UnpinnedFilesOnly" time=purgeTimeout}} + {{/unless}} + {{/unless}} +
      + {{/if}} + {{_ "Start_of_conversation"}} +
    • + {{/if}} + {{/if}} + + {{# with messageContext}} + {{#each msg in messagesHistory}}{{> message index=@index shouldCollapseReplies=true msg=msg room=room subscription=subscription settings=settings u=u}}{{/each}} + {{/with}} + + {{#if hasMoreNext}}
    • {{#if isLoading}} {{> loading}} {{/if}}
    • - {{else}} -
    • - {{#if hasPurge}} -
      - {{> icon block="start__purge-warning-icon" icon="warning"}} - {{#unless filesOnly}} - {{#unless excludePinned}} - {{_ "RetentionPolicy_RoomWarning" time=purgeTimeout}} - {{else}} - {{_ "RetentionPolicy_RoomWarning_Unpinned" time=purgeTimeout}} - {{/unless}} - {{else}} - {{#unless excludePinned}} - {{_ "RetentionPolicy_RoomWarning_FilesOnly" time=purgeTimeout}} - {{else}} - {{_ "RetentionPolicy_RoomWarning_UnpinnedFilesOnly" time=purgeTimeout}} - {{/unless}} - {{/unless}} -
      - {{/if}} - - {{> RoomForeword }} -
    • {{/if}} - {{/if}} - - {{# with messageContext}} - {{#each msg in messagesHistory}}{{> message index=@index shouldCollapseReplies=true msg=msg room=room subscription=subscription settings=settings u=u}}{{/each}} - {{/with}} - - {{#if hasMoreNext}} -
    • - {{#if isLoading}} - {{> loading}} - {{/if}} -
    • - {{/if}} -
    +
+
+
+ {{> messageBox messageboxData}} +
-
- {{> messageBox messageboxData}} -
-
+ {{/if}} {{#with flexData}} {{> contextualBar}} {{/with}} From a441272ff0e2eeb69e31a1bb0849d7281446bf2b Mon Sep 17 00:00:00 2001 From: ear-dev Date: Fri, 24 Apr 2020 15:25:35 -0400 Subject: [PATCH 216/223] Update build_and_test.yml --- .github/workflows/build_and_test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index de13e79df853..a5565a2f2b02 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -245,7 +245,7 @@ jobs: build-image-pr: runs-on: ubuntu-latest - if: github.event_name == 'pull_request' + if: github.event_name == 'DEACTIVATED-pull_request' steps: - uses: actions/checkout@v1 From ac6ea9aa3525810e7af43ccae125f384907e41bb Mon Sep 17 00:00:00 2001 From: shubhsherl Date: Sat, 11 Apr 2020 22:21:21 +0530 Subject: [PATCH 217/223] fix quote message redirect in pwa --- app/ui/client/views/app/room.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/ui/client/views/app/room.js b/app/ui/client/views/app/room.js index 8620e1c009cc..47b290235256 100644 --- a/app/ui/client/views/app/room.js +++ b/app/ui/client/views/app/room.js @@ -883,7 +883,7 @@ Template.room.events({ const { msg } = messageArgs(this); const link = msg.attachments ? msg.attachments[0].message_link : this.message_link; const repliedMessageId = link.split('?msg=')[1]; - const { pathname } = new URL(link); + const pathname = `/${ link.split('?msg=')[0].split('/').slice(-2)[0] }/${ link.split('?msg=')[0].split('/').slice(-1)[0] }`; FlowRouter.go(pathname, null, { msg: repliedMessageId, hash: Random.id() }); }, 'click .mention-link'(e, instance) { From 8433b138af05e11dedd1451e9205ee31ecffbbaa Mon Sep 17 00:00:00 2001 From: Shailesh Baldaniya Date: Tue, 14 Apr 2020 04:53:13 +0000 Subject: [PATCH 218/223] Fix Favorite Icon In Room --- app/ui/client/components/header/headerRoom.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/ui/client/components/header/headerRoom.html b/app/ui/client/components/header/headerRoom.html index a7cd325f30ef..ac9f0ebee980 100644 --- a/app/ui/client/components/header/headerRoom.html +++ b/app/ui/client/components/header/headerRoom.html @@ -17,7 +17,7 @@ {{#if isToggleFavoriteButtonVisible}}
-
From 924082eef2d538b46c48feddbd582a0c3e1f6f15 Mon Sep 17 00:00:00 2001 From: Shailesh Baldaniya Date: Sun, 26 Apr 2020 18:54:25 +0000 Subject: [PATCH 219/223] Fix LivaChat Import --- client/importPackages.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/importPackages.js b/client/importPackages.js index e160849f2487..34f63614227c 100644 --- a/client/importPackages.js +++ b/client/importPackages.js @@ -109,4 +109,4 @@ import '../app/ui-cached-collection'; import '../app/action-links'; import '../app/reactions/client'; import '../app/meteor-autocomplete/client'; -// import '../app/livechat/client'; +import '../app/livechat/client'; From 7df1fcb08224e46bc6232a74ff69121c4e0a25bc Mon Sep 17 00:00:00 2001 From: Aditya Date: Mon, 27 Apr 2020 02:12:30 +0530 Subject: [PATCH 220/223] popover not closing on page change issue fixed --- app/ui-utils/client/lib/popover.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/ui-utils/client/lib/popover.js b/app/ui-utils/client/lib/popover.js index dfc2b9d34bf3..70e7257cfc58 100644 --- a/app/ui-utils/client/lib/popover.js +++ b/app/ui-utils/client/lib/popover.js @@ -167,6 +167,16 @@ Template.popover.onRendered(function() { this.firstNode.style.visibility = 'visible'; }); +Template.popover.onCreated(function() { + this.route = FlowRouter.current().path; + this.autorun(() => { + FlowRouter.watchPathChange(); + if (FlowRouter.current().path !== this.route) { + popover.close(); + } + }); +}); + Template.popover.onDestroyed(function() { if (this.data.onDestroyed) { this.data.onDestroyed(); From be776e31295fa8da5516e2f4de6ec2d830dfef89 Mon Sep 17 00:00:00 2001 From: shubhsherl Date: Tue, 14 Apr 2020 22:09:52 +0530 Subject: [PATCH 221/223] use URL function to extract pathname --- app/ui/client/views/app/room.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/ui/client/views/app/room.js b/app/ui/client/views/app/room.js index 47b290235256..8620e1c009cc 100644 --- a/app/ui/client/views/app/room.js +++ b/app/ui/client/views/app/room.js @@ -883,7 +883,7 @@ Template.room.events({ const { msg } = messageArgs(this); const link = msg.attachments ? msg.attachments[0].message_link : this.message_link; const repliedMessageId = link.split('?msg=')[1]; - const pathname = `/${ link.split('?msg=')[0].split('/').slice(-2)[0] }/${ link.split('?msg=')[0].split('/').slice(-1)[0] }`; + const { pathname } = new URL(link); FlowRouter.go(pathname, null, { msg: repliedMessageId, hash: Random.id() }); }, 'click .mention-link'(e, instance) { From dd2fce0ad011a77e4c18455c1988ea934b3e5667 Mon Sep 17 00:00:00 2001 From: Aditya Date: Tue, 28 Apr 2020 16:30:12 +0530 Subject: [PATCH 222/223] removed status text for mobile view --- app/ui/client/components/header/headerRoom.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/ui/client/components/header/headerRoom.html b/app/ui/client/components/header/headerRoom.html index ac9f0ebee980..80fe79a5f5df 100644 --- a/app/ui/client/components/header/headerRoom.html +++ b/app/ui/client/components/header/headerRoom.html @@ -47,7 +47,7 @@ {{#if isDirect}}
-
{{userStatusText}}
+ {{#if isNotMobile}}
{{userStatusText}}
{{/if}}
{{else}} {{#if $and roomTopic isNotMobile}}{{{roomTopic}}}{{/if}} From bfad9d00879bdb4e18423b46ea2d13ea4a58e245 Mon Sep 17 00:00:00 2001 From: Aditya Date: Thu, 30 Apr 2020 17:14:43 +0530 Subject: [PATCH 223/223] focus on message input box removed for mobile devices after clicking new messages button --- app/ui/client/views/app/room.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/ui/client/views/app/room.js b/app/ui/client/views/app/room.js index 8620e1c009cc..643acdd0be97 100644 --- a/app/ui/client/views/app/room.js +++ b/app/ui/client/views/app/room.js @@ -838,7 +838,9 @@ Template.room.events({ 'click .new-message'(event, instance) { instance.atBottom = true; - chatMessages[RoomManager.openedRoom].input.focus(); + if (!isMobile()) { + chatMessages[RoomManager.openedRoom].input.focus(); + } }, 'click .message-actions__menu'(e, i) { const messageContext = messageArgs(this);