From 28fea821682bf8b92e1ffa90c64d84a0b7a73590 Mon Sep 17 00:00:00 2001 From: pierre-lehnen-rc <55164754+pierre-lehnen-rc@users.noreply.github.com> Date: Thu, 30 Apr 2020 17:31:17 -0300 Subject: [PATCH 01/30] [FIX] LDAP login error on Enterprise version (#17497) --- app/ldap/server/loginHandler.js | 1 + app/ldap/server/sync.js | 2 ++ ee/app/ldap-enterprise/server/listener.js | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/ldap/server/loginHandler.js b/app/ldap/server/loginHandler.js index a0c0f893e8cf..c6025bda340c 100644 --- a/app/ldap/server/loginHandler.js +++ b/app/ldap/server/loginHandler.js @@ -126,6 +126,7 @@ Accounts.registerLoginHandler('ldap', function(loginRequest) { if (settings.get('LDAP_Login_Fallback') === true && typeof loginRequest.ldapPass === 'string' && loginRequest.ldapPass.trim() !== '') { Accounts.setPassword(user._id, loginRequest.ldapPass, { logout: false }); } + logger.info('running afterLDAPLogin'); callbacks.run('afterLDAPLogin', { user, ldapUser, ldap }); return { userId: user._id, diff --git a/app/ldap/server/sync.js b/app/ldap/server/sync.js index dd9a359c4715..9c3249b9172c 100644 --- a/app/ldap/server/sync.js +++ b/app/ldap/server/sync.js @@ -210,6 +210,7 @@ export function mapLdapGroupsToUserRoles(ldap, ldapUser, user) { const syncUserRolesFieldMap = settings.get('LDAP_Sync_User_Data_GroupsMap').trim(); if (!syncUserRoles || !syncUserRolesFieldMap) { + logger.debug('not syncing user roles'); return []; } @@ -296,6 +297,7 @@ export function mapLDAPGroupsToChannels(ldap, ldapUser, user) { const userChannels = []; if (!syncUserRoles || !syncUserRolesAutoChannels || !syncUserRolesChannelFieldMap) { + logger.debug('not syncing groups to channels'); return []; } diff --git a/ee/app/ldap-enterprise/server/listener.js b/ee/app/ldap-enterprise/server/listener.js index e930e2a194d4..6ba05683504e 100644 --- a/ee/app/ldap-enterprise/server/listener.js +++ b/ee/app/ldap-enterprise/server/listener.js @@ -5,8 +5,8 @@ export const onLdapLogin = ({ user, ldapUser, ldap }) => { const validateLdapRolesForEachLogin = settings.get('LDAP_Validate_Roles_For_Each_Login'); const userExists = user._id; const userId = userExists ? user._id : user.userId; - const ldapUserRoles = getLdapRolesByUsername(ldapUser.uid, ldap); if (!userExists || validateLdapRolesForEachLogin) { + const ldapUserRoles = getLdapRolesByUsername(ldapUser.uid, ldap); const roles = getRocketChatRolesByLdapRoles(JSON.parse(settings.get('LDAP_Roles_To_Rocket_Chat_Roles')), ldapUserRoles); updateUserUsingMappedLdapRoles(userId, roles); } From 2be4b2ca1c3d30a129f565409b5fa42e1868acac Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Fri, 1 May 2020 00:40:07 -0300 Subject: [PATCH 02/30] Update Apps Engine to final release --- package-lock.json | 12 ++++++------ package.json | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index b7cbefa15a7d..7e6ead6c83d8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "Rocket.Chat", - "version": "3.2.0-develop", + "version": "3.2.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -2928,9 +2928,9 @@ } }, "@rocket.chat/apps-engine": { - "version": "1.14.0-beta.3119", - "resolved": "https://registry.npmjs.org/@rocket.chat/apps-engine/-/apps-engine-1.14.0-beta.3119.tgz", - "integrity": "sha512-SoQicHOGkQD6wwcnMzc1qETbNoMwQ2ei5j5krzh0/dachCbHG+C1rBO8yYbK2TQwuSjxR0wLM20ZbM57iHaYKw==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@rocket.chat/apps-engine/-/apps-engine-1.14.0.tgz", + "integrity": "sha512-UnYui8fNYwXVw1CTH3YVax4KKQGu8RxxfeZAexAgJl0HhSFrhCDYDY0VFMw76KvnzuptdsgJvOwUXkN6cGk0ZQ==", "requires": { "adm-zip": "^0.4.9", "cryptiles": "^4.1.3", @@ -6895,8 +6895,8 @@ "integrity": "sha1-WYc/Nej89sc2HBAjkmHXbhU0i7I=" }, "adm-zip": { - "version": "0.4.12", - "resolved": "github:RocketChat/adm-zip#34ac787ce7f45c6cea99df049deb17d0c476a3b5" + "version": "github:RocketChat/adm-zip#34ac787ce7f45c6cea99df049deb17d0c476a3b5", + "from": "github:RocketChat/adm-zip" }, "aggregate-error": { "version": "3.0.1", diff --git a/package.json b/package.json index d5eca0bf5930..7141be2762c6 100644 --- a/package.json +++ b/package.json @@ -130,7 +130,7 @@ "@nivo/heatmap": "^0.61.0", "@nivo/line": "^0.61.1", "@nivo/pie": "^0.61.1", - "@rocket.chat/apps-engine": "^1.14.0-beta.3119", + "@rocket.chat/apps-engine": "^1.14.0", "@rocket.chat/fuselage": "^0.7.1", "@rocket.chat/fuselage-hooks": "^0.7.1", "@rocket.chat/fuselage-polyfills": "^0.7.1", From e783498d032a66c8c711f28d362a083319823ca2 Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Fri, 1 May 2020 00:40:19 -0300 Subject: [PATCH 03/30] Bump version to 3.2.1 --- .docker/Dockerfile.rhel | 2 +- .github/history.json | 13 +++++++++++++ HISTORY.md | 12 ++++++++++++ app/utils/rocketchat.info | 2 +- package.json | 2 +- 5 files changed, 28 insertions(+), 3 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index dc9695a75fb8..314f50a2214b 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.2.0 +ENV RC_VERSION 3.2.1 MAINTAINER buildmaster@rocket.chat diff --git a/.github/history.json b/.github/history.json index 98c0a2c52507..eb6348f00a3c 100644 --- a/.github/history.json +++ b/.github/history.json @@ -43618,6 +43618,19 @@ ] } ] + }, + "3.2.1": { + "pull_requests": [ + { + "pr": "17497", + "title": "[FIX] LDAP login error on Enterprise version", + "userLogin": "pierre-lehnen-rc", + "milestone": "3.2.1", + "contributors": [ + "pierre-lehnen-rc" + ] + } + ] } } } \ No newline at end of file diff --git a/HISTORY.md b/HISTORY.md index bc0b76f43333..fa52b8e87646 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,4 +1,16 @@ +# 3.2.1 +`2020-05-01 Β· 1 πŸ› Β· 1 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` + +### πŸ› Bug fixes + + +- LDAP login error on Enterprise version ([#17497](https://github.com/RocketChat/Rocket.Chat/pull/17497)) + +### πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» Core Team πŸ€“ + +- [@pierre-lehnen-rc](https://github.com/pierre-lehnen-rc) + # 3.2.0 `2020-04-27 Β· 19 πŸŽ‰ Β· 10 πŸš€ Β· 34 πŸ› Β· 19 πŸ” Β· 34 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index 7ccbef98e389..60134978dd1d 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.2.0" + "version": "3.2.1" } diff --git a/package.json b/package.json index 7141be2762c6..7926f3e95e0a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Rocket.Chat", "description": "The Ultimate Open Source WebChat Platform", - "version": "3.2.0", + "version": "3.2.1", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From 4c34378b9d9d93e17c654b47f4161b6a1a685f47 Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Tue, 5 May 2020 13:24:49 -0300 Subject: [PATCH 04/30] [FIX] Reactions may present empty names of who reacted when using Real Names (#17536) --- app/utils/server/lib/normalizeMessagesForUser.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/app/utils/server/lib/normalizeMessagesForUser.js b/app/utils/server/lib/normalizeMessagesForUser.js index 30cc42bfa188..bcd395fa640b 100644 --- a/app/utils/server/lib/normalizeMessagesForUser.js +++ b/app/utils/server/lib/normalizeMessagesForUser.js @@ -11,6 +11,10 @@ const filterStarred = (message, uid) => { // TODO: we should let clients get user names on demand instead of doing this +function getNameOfUsername(users, username) { + return users.get(username) || username; +} + export const normalizeMessagesForUser = (messages, uid) => { // if not using real names, there is nothing else to do if (!settings.get('UI_Use_Real_Name')) { @@ -33,7 +37,7 @@ export const normalizeMessagesForUser = (messages, uid) => { .forEach((reaction) => reaction.usernames.forEach((username) => usernames.add(username))); }); - const users = {}; + const names = new Map(); Users.findUsersByUsernames([...usernames.values()], { fields: { @@ -41,20 +45,19 @@ export const normalizeMessagesForUser = (messages, uid) => { name: 1, }, }).forEach((user) => { - users[user.username] = user.name; + names.set(user.username, user.name); }); messages.forEach((message) => { if (!message.u) { return; } - message.u.name = users[message.u.username]; + message.u.name = getNameOfUsername(names, message.u.username); - (message.mentions || []).forEach((mention) => { mention.name = users[mention.username]; }); + (message.mentions || []).forEach((mention) => { mention.name = getNameOfUsername(names, mention.username); }); Object.keys(message.reactions || {}).forEach((reaction) => { - const names = message.reactions[reaction].usernames.map((username) => users[username]); - message.reactions[reaction].names = names; + message.reactions[reaction].names = message.reactions[reaction].usernames.map((username) => getNameOfUsername(names, username)); }); }); From 456e135b98b730fe243600b9a4a05a37060ffe7f Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Fri, 8 May 2020 15:31:11 -0300 Subject: [PATCH 05/30] [FIX] Emoji picker search broken (#17570) --- app/emoji/client/emojiPicker.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/emoji/client/emojiPicker.js b/app/emoji/client/emojiPicker.js index 7894ab736efc..410bbfa5682c 100644 --- a/app/emoji/client/emojiPicker.js +++ b/app/emoji/client/emojiPicker.js @@ -58,7 +58,7 @@ function getEmojisBySearchTerm(searchTerm) { if (searchRegExp.test(current)) { const emojiObject = emoji.list[current]; - const { emojiPackage, shortnames } = emojiObject; + const { emojiPackage, shortnames = [] } = emojiObject; let tone = ''; current = current.replace(/:/g, ''); const alias = shortnames[0] !== undefined ? shortnames[0].replace(/:/g, '') : shortnames[0]; From 76930202ef57a6820c7c132fe880c00ae59146e4 Mon Sep 17 00:00:00 2001 From: Matheus Marsiglio Date: Fri, 8 May 2020 17:40:50 -0300 Subject: [PATCH 06/30] [FIX] Error during data export for DMs (#17577) --- app/user-data-download/server/cronProcessDownloads.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/user-data-download/server/cronProcessDownloads.js b/app/user-data-download/server/cronProcessDownloads.js index 7e841839f84c..02bdcc39707f 100644 --- a/app/user-data-download/server/cronProcessDownloads.js +++ b/app/user-data-download/server/cronProcessDownloads.js @@ -47,7 +47,7 @@ const loadUserSubscriptions = function(exportOperation) { const roomId = subscription.rid; const roomData = Rooms.findOneById(roomId); const roomName = roomData && roomData.name && subscription.t !== 'd' ? roomData.name : roomId; - const [userId] = subscription.t === 'd' ? roomId.uids.filter((uid) => uid !== exportUserId) : [null]; + const [userId] = subscription.t === 'd' ? roomData.uids.filter((uid) => uid !== exportUserId) : [null]; const fileName = exportOperation.fullExport ? roomId : roomName; const fileType = exportOperation.fullExport ? 'json' : 'html'; const targetFile = `${ fileName }.${ fileType }`; From 6cfb448c1f367cdd29bf944491971334abbe6db0 Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Fri, 8 May 2020 18:35:06 -0300 Subject: [PATCH 07/30] [FIX] Email configs not updating after setting changes (#17578) --- server/lib/accounts.js | 46 +++++++++++++++++------ server/methods/sendConfirmationEmail.js | 27 +------------ server/methods/sendForgotPasswordEmail.js | 37 +----------------- 3 files changed, 38 insertions(+), 72 deletions(-) diff --git a/server/lib/accounts.js b/server/lib/accounts.js index 95e3aa4bec90..951e360254aa 100644 --- a/server/lib/accounts.js +++ b/server/lib/accounts.js @@ -13,16 +13,21 @@ import { Users as UsersRaw } from '../../app/models/server/raw'; import { addUserRoles } from '../../app/authorization'; import { getAvatarSuggestionForUser } from '../../app/lib/server/functions'; -const accountsConfig = { +Accounts.config({ forbidClientAccountCreation: true, - loginExpirationInDays: settings.get('Accounts_LoginExpiration'), -}; +}); -Accounts.config(accountsConfig); +const updateMailConfig = _.debounce(() => { + Accounts._options.loginExpirationInDays = settings.get('Accounts_LoginExpiration'); -Accounts.emailTemplates.siteName = settings.get('Site_Name'); + Accounts.emailTemplates.siteName = settings.get('Site_Name'); -Accounts.emailTemplates.from = `${ settings.get('Site_Name') } <${ settings.get('From_Email') }>`; + Accounts.emailTemplates.from = `${ settings.get('Site_Name') } <${ settings.get('From_Email') }>`; +}, 1000); + +Meteor.startup(() => { + settings.get(/^(Accounts_LoginExpiration|Site_Name|From_Email)$/, updateMailConfig); +}); Accounts.emailTemplates.userToActivate = { subject() { @@ -63,10 +68,9 @@ Accounts.emailTemplates.userActivated = { }, }; - -// const verifyEmailHtml = Accounts.emailTemplates.verifyEmail.html; let verifyEmailTemplate = ''; let enrollAccountTemplate = ''; +let resetPasswordTemplate = ''; Meteor.startup(() => { Mailer.getTemplateWrapped('Verification_Email', (value) => { verifyEmailTemplate = value; @@ -74,17 +78,35 @@ Meteor.startup(() => { Mailer.getTemplateWrapped('Accounts_Enrollment_Email', (value) => { enrollAccountTemplate = value; }); + Mailer.getTemplateWrapped('Forgot_Password_Email', (value) => { + resetPasswordTemplate = value; + }); }); -Accounts.emailTemplates.verifyEmail.html = function(user, url) { - url = url.replace(Meteor.absoluteUrl(), `${ Meteor.absoluteUrl() }login/`); - return Mailer.replace(verifyEmailTemplate, { Verification_Url: url }); + +Accounts.emailTemplates.verifyEmail.html = function(userModel, url) { + return Mailer.replace(verifyEmailTemplate, { Verification_Url: url, name: userModel.name }); +}; + +Accounts.emailTemplates.verifyEmail.subject = function() { + const subject = settings.get('Verification_Email_Subject'); + return Mailer.replace(subject || ''); }; Accounts.urls.resetPassword = function(token) { return Meteor.absoluteUrl(`reset-password/${ token }`); }; -Accounts.emailTemplates.resetPassword.html = Accounts.emailTemplates.resetPassword.text; +Accounts.emailTemplates.resetPassword.subject = function(userModel) { + return Mailer.replace(settings.get('Forgot_Password_Email_Subject') || '', { + name: userModel.name, + }); +}; + +Accounts.emailTemplates.resetPassword.html = function(userModel, url) { + return Mailer.replacekey(Mailer.replace(resetPasswordTemplate, { + name: userModel.name, + }), 'Forgot_Password_Url', url); +}; Accounts.emailTemplates.enrollAccount.subject = function(user) { const subject = settings.get('Accounts_Enrollment_Email_Subject'); diff --git a/server/methods/sendConfirmationEmail.js b/server/methods/sendConfirmationEmail.js index 5749d0e58690..4bcfbad7c454 100644 --- a/server/methods/sendConfirmationEmail.js +++ b/server/methods/sendConfirmationEmail.js @@ -2,44 +2,21 @@ import { Meteor } from 'meteor/meteor'; import { check } from 'meteor/check'; import { Accounts } from 'meteor/accounts-base'; -import * as Mailer from '../../app/mailer'; import { Users } from '../../app/models'; -import { settings } from '../../app/settings'; - -let subject = ''; -let html = ''; - -Meteor.startup(() => { - settings.get('Verification_Email_Subject', function(key, value) { - subject = Mailer.replace(value || ''); - }); - - Mailer.getTemplateWrapped('Verification_Email', function(value) { - html = value; - }); -}); Meteor.methods({ sendConfirmationEmail(to) { check(to, String); const email = to.trim(); - const user = Users.findOneByEmailAddress(email); + const user = Users.findOneByEmailAddress(email, { fields: { _id: 1 } }); if (!user) { return false; } - Accounts.emailTemplates.verifyEmail.subject = function(/* userModel*/) { - return subject; - }; - - Accounts.emailTemplates.verifyEmail.html = function(userModel, url) { - return Mailer.replace(html, { Verification_Url: url, name: user.name }); - }; - try { - return Accounts.sendVerificationEmail(user._id, email); + return !!Accounts.sendVerificationEmail(user._id, email); } catch (error) { throw new Meteor.Error('error-email-send-failed', `Error trying to send email: ${ error.message }`, { method: 'registerUser', diff --git a/server/methods/sendForgotPasswordEmail.js b/server/methods/sendForgotPasswordEmail.js index c8ba6c8c3403..99b66b532c1c 100644 --- a/server/methods/sendForgotPasswordEmail.js +++ b/server/methods/sendForgotPasswordEmail.js @@ -1,55 +1,22 @@ import { Meteor } from 'meteor/meteor'; import { check } from 'meteor/check'; import { Accounts } from 'meteor/accounts-base'; -import s from 'underscore.string'; -import * as Mailer from '../../app/mailer'; import { Users } from '../../app/models'; -import { settings } from '../../app/settings'; - -let template = ''; - -Meteor.startup(() => { - Mailer.getTemplateWrapped('Forgot_Password_Email', (value) => { - template = value; - }); -}); Meteor.methods({ sendForgotPasswordEmail(to) { check(to, String); - let email = to.trim(); + const email = to.trim(); - const user = Users.findOneByEmailAddress(email); + const user = Users.findOneByEmailAddress(email, { fields: { _id: 1 } }); if (!user) { return false; } - const regex = new RegExp(`^${ s.escapeRegExp(email) }$`, 'i'); - email = (user.emails || []).map((item) => item.address).find((userEmail) => regex.test(userEmail)); - - const subject = Mailer.replace(settings.get('Forgot_Password_Email_Subject') || '', { - name: user.name, - email, - }); - - const html = Mailer.replace(template, { - name: user.name, - email, - }); - - Accounts.emailTemplates.from = `${ settings.get('Site_Name') } <${ settings.get('From_Email') }>`; - try { - Accounts.emailTemplates.resetPassword.subject = function(/* userModel*/) { - return subject; // TODO check a better way to do this - }; - - Accounts.emailTemplates.resetPassword.html = function(userModel, url) { - return Mailer.replacekey(html, 'Forgot_Password_Url', url); - }; return !!Accounts.sendResetPasswordEmail(user._id, email); } catch (error) { throw new Meteor.Error('error-email-send-failed', `Error trying to send email: ${ error.message }`, { From 34ed2a8d9deee5cdcfbff071e3fd62db1d8b684d Mon Sep 17 00:00:00 2001 From: pierre-lehnen-rc <55164754+pierre-lehnen-rc@users.noreply.github.com> Date: Fri, 8 May 2020 18:49:29 -0300 Subject: [PATCH 08/30] [FIX] Login Forbidden on servers that had LDAP enabled in the past (#17579) --- app/ldap/server/loginHandler.js | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/app/ldap/server/loginHandler.js b/app/ldap/server/loginHandler.js index c6025bda340c..79425c9dfe74 100644 --- a/app/ldap/server/loginHandler.js +++ b/app/ldap/server/loginHandler.js @@ -154,18 +154,31 @@ Accounts.registerLoginHandler('ldap', function(loginRequest) { return result; }); -callbacks.add('beforeValidateLogin', (login) => { - if (!login.allowed) { - return login; +let LDAP_Enable; +settings.get('LDAP_Enable', (key, value) => { + if (LDAP_Enable === value) { + return; } + LDAP_Enable = value; - if (login.type === 'ldap' || login.type === 'resume') { - return login; + if (!value) { + return callbacks.remove('beforeValidateLogin', 'validateLdapLoginFallback'); } - if (login.user.services && login.user.services.ldap && login.user.services.ldap.id) { - login.allowed = !!settings.get('LDAP_Login_Fallback'); - } + callbacks.add('beforeValidateLogin', (login) => { + if (!login.allowed) { + return login; + } - return login; + // The fallback setting should only block password logins, so users that have other login services can continue using them + if (login.type !== 'password') { + return login; + } + + if (login.user.services && login.user.services.ldap && login.user.services.ldap.id) { + login.allowed = !!settings.get('LDAP_Login_Fallback'); + } + + return login; + }, callbacks.priority.MEDIUM, 'validateLdapLoginFallback'); }); From 1bbe74d84000d17c8c6eeb0f1946c027e4c47d46 Mon Sep 17 00:00:00 2001 From: pierre-lehnen-rc <55164754+pierre-lehnen-rc@users.noreply.github.com> Date: Fri, 8 May 2020 19:07:08 -0300 Subject: [PATCH 09/30] [FIX] LDAP login on Enteprise Version (#17508) --- ee/app/ldap-enterprise/server/index.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/ee/app/ldap-enterprise/server/index.js b/ee/app/ldap-enterprise/server/index.js index 66314d8fc6fe..dc3a50c2fb21 100644 --- a/ee/app/ldap-enterprise/server/index.js +++ b/ee/app/ldap-enterprise/server/index.js @@ -4,6 +4,7 @@ import './hooks/syncExistentUser'; import './hooks/beforeSearchAll'; import { callbacks } from '../../../../app/callbacks/server'; +import { settings } from '../../../../app/settings'; import { onLicense } from '../../license/server'; onLicense('ldap-enterprise', () => { @@ -14,6 +15,19 @@ onLicense('ldap-enterprise', () => { Meteor.startup(function() { createSettings(); validateLDAPRolesMappingChanges(); - callbacks.add('afterLDAPLogin', onLdapLogin); + + let LDAP_Enable_LDAP_Roles_To_RC_Roles; + settings.get('LDAP_Enable_LDAP_Roles_To_RC_Roles', (key, value) => { + if (LDAP_Enable_LDAP_Roles_To_RC_Roles === value) { + return; + } + + LDAP_Enable_LDAP_Roles_To_RC_Roles = value; + if (!value) { + return callbacks.remove('afterLDAPLogin', 'checkRoleMapping'); + } + + callbacks.add('afterLDAPLogin', onLdapLogin, callbacks.priority.MEDIUM, 'checkRoleMapping'); + }); }); }); From 1b9648fa2dbdd44250e58c00aec7a511cb294976 Mon Sep 17 00:00:00 2001 From: Aaron Ogle Date: Fri, 8 May 2020 17:47:38 -0500 Subject: [PATCH 10/30] [FIX] Push settings enabled when push gateway is selected (#17582) * Disable push settings if gateway is selected * Use variable for enableQueries Co-authored-by: Diego Sampaio --- app/lib/server/startup/settings.js | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/app/lib/server/startup/settings.js b/app/lib/server/startup/settings.js index 241db8151ea8..c16c9bc46d20 100644 --- a/app/lib/server/startup/settings.js +++ b/app/lib/server/startup/settings.js @@ -1166,6 +1166,16 @@ settings.addGroup('Meta', function() { }); }); +const pushEnabledWithoutGateway = [ + { + _id: 'Push_enable', + value: true, + }, { + _id: 'Push_enable_gateway', + value: false, + }, +]; + settings.addGroup('Push', function() { this.add('Push_enable', true, { type: 'boolean', @@ -1200,15 +1210,7 @@ settings.addGroup('Push', function() { type: 'boolean', public: true, alert: 'Push_Setting_Requires_Restart_Alert', - enableQuery: [ - { - _id: 'Push_enable', - value: true, - }, { - _id: 'Push_enable_gateway', - value: false, - }, - ], + enableQuery: pushEnabledWithoutGateway, }); this.add('Push_test_push', 'push_test', { type: 'action', @@ -1221,39 +1223,47 @@ settings.addGroup('Push', function() { this.section('Certificates_and_Keys', function() { this.add('Push_apn_passphrase', '', { type: 'string', + enableQuery: pushEnabledWithoutGateway, secret: true, }); this.add('Push_apn_key', '', { type: 'string', multiline: true, + enableQuery: pushEnabledWithoutGateway, secret: true, }); this.add('Push_apn_cert', '', { type: 'string', multiline: true, + enableQuery: pushEnabledWithoutGateway, secret: true, }); this.add('Push_apn_dev_passphrase', '', { type: 'string', + enableQuery: pushEnabledWithoutGateway, secret: true, }); this.add('Push_apn_dev_key', '', { type: 'string', multiline: true, + enableQuery: pushEnabledWithoutGateway, secret: true, }); this.add('Push_apn_dev_cert', '', { type: 'string', multiline: true, + enableQuery: pushEnabledWithoutGateway, secret: true, }); this.add('Push_gcm_api_key', '', { type: 'string', + enableQuery: pushEnabledWithoutGateway, secret: true, }); return this.add('Push_gcm_project_number', '', { type: 'string', public: true, + enableQuery: pushEnabledWithoutGateway, secret: true, }); }); From 47d0935807223c4e62eccc6d60780a24a8022aae Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Mon, 11 May 2020 09:53:29 -0300 Subject: [PATCH 11/30] Bump version to 3.2.2 --- .docker/Dockerfile.rhel | 2 +- .github/history.json | 98 +++++++++++++++++++++++++++++++++++++++ HISTORY.md | 53 +++++++++++++++++++++ app/utils/rocketchat.info | 2 +- package.json | 2 +- 5 files changed, 154 insertions(+), 3 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index 314f50a2214b..6f5a1a177227 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.2.1 +ENV RC_VERSION 3.2.2 MAINTAINER buildmaster@rocket.chat diff --git a/.github/history.json b/.github/history.json index eb6348f00a3c..0eac3ce47c8b 100644 --- a/.github/history.json +++ b/.github/history.json @@ -43631,6 +43631,104 @@ ] } ] + }, + "2.4.12": { + "node_version": "8.17.0", + "npm_version": "6.13.4", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "17578", + "title": "[FIX] Email configs not updating after setting changes", + "userLogin": "rodrigok", + "milestone": "3.2.2", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "3.2.2": { + "node_version": "12.16.1", + "npm_version": "6.13.4", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "17582", + "title": "[FIX] Push settings enabled when push gateway is selected", + "userLogin": "geekgonecrazy", + "milestone": "3.2.2", + "contributors": [ + "geekgonecrazy", + "web-flow", + "sampaiodiego" + ] + }, + { + "pr": "17508", + "title": "[FIX] LDAP login on Enteprise Version", + "userLogin": "pierre-lehnen-rc", + "milestone": "3.2.2", + "contributors": [ + "pierre-lehnen-rc" + ] + }, + { + "pr": "17579", + "title": "[FIX] Login Forbidden on servers that had LDAP enabled in the past", + "userLogin": "pierre-lehnen-rc", + "milestone": "3.2.2", + "contributors": [ + "pierre-lehnen-rc" + ] + }, + { + "pr": "17578", + "title": "[FIX] Email configs not updating after setting changes", + "userLogin": "rodrigok", + "milestone": "3.2.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "17577", + "title": "[FIX] Error during data export for DMs", + "userLogin": "mtmr0x", + "milestone": "3.2.2", + "contributors": [ + "mtmr0x" + ] + }, + { + "pr": "17570", + "title": "[FIX] Emoji picker search broken", + "userLogin": "ggazzo", + "milestone": "3.2.2", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "17536", + "title": "[FIX] Reactions may present empty names of who reacted when using Real Names", + "userLogin": "rodrigok", + "description": "When changing usernames the reactions became outdated since it's not possible to update the usernames stored there, so when the server users Real Name setting enabled the system process all messages before return to the clients and get the names of the usernames to show since the usernames are outdated the names will not be found. Now the usernames will be displayed when the name can't be found as a temporary fix until we change the architecture of the data to fix the issue.", + "milestone": "3.2.2", + "contributors": [ + "rodrigok" + ] + } + ] } } } \ No newline at end of file diff --git a/HISTORY.md b/HISTORY.md index fa52b8e87646..b1a5729f71c3 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,4 +1,40 @@ +# 3.2.2 +`2020-05-11 Β· 7 πŸ› Β· 6 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` + +### Engine versions +- Node: `12.16.1` +- NPM: `6.13.4` +- MongoDB: `3.4, 3.6, 4.0` + +### πŸ› Bug fixes + + +- Push settings enabled when push gateway is selected ([#17582](https://github.com/RocketChat/Rocket.Chat/pull/17582)) + +- LDAP login on Enteprise Version ([#17508](https://github.com/RocketChat/Rocket.Chat/pull/17508)) + +- Login Forbidden on servers that had LDAP enabled in the past ([#17579](https://github.com/RocketChat/Rocket.Chat/pull/17579)) + +- Email configs not updating after setting changes ([#17578](https://github.com/RocketChat/Rocket.Chat/pull/17578)) + +- Error during data export for DMs ([#17577](https://github.com/RocketChat/Rocket.Chat/pull/17577)) + +- Emoji picker search broken ([#17570](https://github.com/RocketChat/Rocket.Chat/pull/17570)) + +- Reactions may present empty names of who reacted when using Real Names ([#17536](https://github.com/RocketChat/Rocket.Chat/pull/17536)) + + When changing usernames the reactions became outdated since it's not possible to update the usernames stored there, so when the server users Real Name setting enabled the system process all messages before return to the clients and get the names of the usernames to show since the usernames are outdated the names will not be found. Now the usernames will be displayed when the name can't be found as a temporary fix until we change the architecture of the data to fix the issue. + +### πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» Core Team πŸ€“ + +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@ggazzo](https://github.com/ggazzo) +- [@mtmr0x](https://github.com/mtmr0x) +- [@pierre-lehnen-rc](https://github.com/pierre-lehnen-rc) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + # 3.2.1 `2020-05-01 Β· 1 πŸ› Β· 1 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` @@ -1437,6 +1473,23 @@ - [@sampaiodiego](https://github.com/sampaiodiego) - [@tassoevan](https://github.com/tassoevan) +# 2.4.12 +`2020-05-11 Β· 1 πŸ› Β· 1 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` + +### Engine versions +- Node: `8.17.0` +- NPM: `6.13.4` +- MongoDB: `3.4, 3.6, 4.0` + +### πŸ› Bug fixes + + +- Email configs not updating after setting changes ([#17578](https://github.com/RocketChat/Rocket.Chat/pull/17578)) + +### πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» Core Team πŸ€“ + +- [@rodrigok](https://github.com/rodrigok) + # 2.4.10 `2020-02-20 Β· 1 πŸ› Β· 2 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index 60134978dd1d..e018c88ce31f 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.2.1" + "version": "3.2.2" } diff --git a/package.json b/package.json index 7926f3e95e0a..a0801fdee8a7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Rocket.Chat", "description": "The Ultimate Open Source WebChat Platform", - "version": "3.2.1", + "version": "3.2.2", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From bdcac8313c507eec1279a71f136d814615a3b89c Mon Sep 17 00:00:00 2001 From: lpilz Date: Tue, 19 May 2020 18:47:06 +0200 Subject: [PATCH 12/30] [FIX] Slack importer Link handling (#17595) * Fixed Link import * Fixed import of named URLs, since pipes get encoded as %7C we can safely escape | --- app/importer-slack/server/importer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/importer-slack/server/importer.js b/app/importer-slack/server/importer.js index 5b0823423ef4..a596bc6e79a8 100644 --- a/app/importer-slack/server/importer.js +++ b/app/importer-slack/server/importer.js @@ -968,8 +968,8 @@ export class SlackImporter extends Base { message = message.replace(/:memo:/g, ':pencil:'); message = message.replace(/:piggy:/g, ':pig:'); message = message.replace(/:uk:/g, ':gb:'); + message = message.replace(/<(http[s]?:[^>|]*)>/g, '$1'); message = message.replace(/<(http[s]?:[^|]*)\|([^>]*)>/g, '[$2]($1)'); - message = message.replace(/<(http[s]?:[^>]*)>/g, '$1'); for (const userReplace of Array.from(this.userTags)) { message = message.replace(userReplace.slack, userReplace.rocket); From 9575d1ec4b7142ced5312fc5bb0186ea579e3c03 Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Thu, 21 May 2020 02:40:20 -0300 Subject: [PATCH 13/30] Bump version to 3.3.0-rc.0 --- .docker/Dockerfile.rhel | 2 +- .github/history.json | 1066 +++++++++++++++++++++++- .snapcraft/resources/prepareRocketChat | 2 +- .snapcraft/snap/snapcraft.yaml | 2 +- HISTORY.md | 344 ++++++++ app/utils/rocketchat.info | 2 +- package-lock.json | 2 +- package.json | 2 +- 8 files changed, 1415 insertions(+), 7 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index 8deff6b93c60..915f2bf9d295 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.3.0-develop +ENV RC_VERSION 3.3.0-rc.0 MAINTAINER buildmaster@rocket.chat diff --git a/.github/history.json b/.github/history.json index feaef5d776ae..e6e9e2303f95 100644 --- a/.github/history.json +++ b/.github/history.json @@ -43639,6 +43639,1070 @@ ] } ] + }, + "2.4.12": { + "node_version": "8.17.0", + "npm_version": "6.13.4", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "17578", + "title": "[FIX] Email configs not updating after setting changes", + "userLogin": "rodrigok", + "milestone": "3.2.2", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "3.0.13": { + "node_version": "12.14.0", + "npm_version": "6.13.4", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "17578", + "title": "[FIX] Email configs not updating after setting changes", + "userLogin": "rodrigok", + "milestone": "3.2.2", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "3.1.3": { + "node_version": "12.16.1", + "npm_version": "6.13.4", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "17578", + "title": "[FIX] Email configs not updating after setting changes", + "userLogin": "rodrigok", + "milestone": "3.2.2", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "3.3.0-rc.0": { + "node_version": "12.16.1", + "npm_version": "6.14.0", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "16537", + "title": "[FIX] Missing dropdown to select custom status color on user's profile", + "userLogin": "ritwizsinha", + "milestone": "3.3.0", + "contributors": [ + "ritwizsinha", + "gabriellsh", + "ggazzo" + ] + }, + { + "pr": "16331", + "title": "[FIX] Password reset/change accepting current password as new password", + "userLogin": "ashwaniYDV", + "milestone": "3.3.0", + "contributors": [ + "ashwaniYDV", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "17692", + "title": "[NEW][ENTERPRISE] Support Omnichannel conversations auditing", + "userLogin": "renatobecker", + "milestone": "3.3.0", + "contributors": [ + "renatobecker", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "17710", + "title": "Upgrade Livechat Widget version to 1.5.0", + "userLogin": "renatobecker", + "milestone": "3.3.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "16548", + "title": "[FIX] Can't click on room's actions menu of sidebar list when in search mode", + "userLogin": "ritvikjain99", + "milestone": "3.3.0", + "contributors": [ + "ritvikjain99" + ] + }, + { + "pr": "17581", + "title": "[NEW][ENTERPRISE] Support for custom Livechat registration form fields", + "userLogin": "renatobecker", + "milestone": "3.3.0", + "contributors": [ + "renatobecker", + "web-flow", + "ggazzo" + ] + }, + { + "pr": "17708", + "title": "Update Fuselage version", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "17666", + "title": "[NEW][ENTERPRISE] Omnichannel Last-Chatted Agent Preferred option", + "userLogin": "renatobecker", + "description": "If activated, this feature will store the last agent that assisted each Omnichannel visitor when a conversation is taken. So, when a visitor returns(it works with any entry point, Livechat, Facebook, REST API, and so on) and starts a new chat, the routing system checks:\r\n\r\n1 - The visitor object for any stored agent that the visitor has previously talked to;\r\n2 - If a previous agent is not found, the system will try to find a previous conversation of the same visitor. If a room is found, the system will get the previous agent from the room;\r\n\r\nAfter this process, if an agent has been found, the system will check the agent's availability to assist the new chat. If it's not available, then the routing system will get the next available agent in the queue.", + "milestone": "3.3.0", + "contributors": [ + "renatobecker", + "web-flow" + ] + }, + { + "pr": "17707", + "title": "Regression: Status presence color", + "userLogin": "mariaeduardacunha", + "contributors": [ + "ggazzo", + "mariaeduardacunha" + ] + }, + { + "pr": "17607", + "title": "Improve: Remove index files from action-links, accounts and assets", + "userLogin": "MarcosSpessatto", + "milestone": "3.3.0", + "contributors": [ + "MarcosSpessatto", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "15737", + "title": "[FIX] Remove a non working setting \"Notification Duration\"", + "userLogin": "pierre-lehnen-rc", + "milestone": "3.3.0", + "contributors": [ + "pierre-lehnen-rc", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "17706", + "title": "Update Apps-Engine version", + "userLogin": "d-gubert", + "milestone": "3.3.0", + "contributors": [ + "d-gubert", + "web-flow" + ] + }, + { + "pr": "17705", + "title": "Regression: Click to join button not working", + "userLogin": "gabriellsh", + "contributors": [ + "gabriellsh" + ] + }, + { + "pr": "16394", + "title": "[IMPROVE] Always shows the exact match first on user's and room's autocomplete for mentions and on sidebar search", + "userLogin": "gabriellsh", + "milestone": "3.3.0", + "contributors": [ + "gabriellsh" + ] + }, + { + "pr": "17694", + "title": "[NEW] API endpoint to fetch Omnichannel's room transfer history", + "userLogin": "renatobecker", + "milestone": "3.3.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "17498", + "title": "Fix typo \"You aren't part of any channel yet\"", + "userLogin": "huzaifahj", + "milestone": "3.3.0", + "contributors": [ + "huzaifahj", + "web-flow" + ] + }, + { + "pr": "17701", + "title": "[IMPROVE] Display status information in the Omnichannel Agents list", + "userLogin": "renatobecker", + "milestone": "3.3.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "17619", + "title": "[NEW] Option to remove users from RocketChat if not found in Crowd", + "userLogin": "ocanema", + "contributors": [ + "ocanema" + ] + }, + { + "pr": "17129", + "title": "[FIX] Elements of \"Personal Access Tokens\" section out of alignment and unusable on very small screens", + "userLogin": "Nikhil713", + "milestone": "3.3.0", + "contributors": [ + "Nikhil713", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "17702", + "title": "Regression: Integrations edit/history crashing", + "userLogin": "gabriellsh", + "contributors": [ + "gabriellsh", + "web-flow" + ] + }, + { + "pr": "17687", + "title": "[FIX] Allow owners to react inside broadcast channels", + "userLogin": "mariaeduardacunha", + "milestone": "3.3.0", + "contributors": [ + "mariaeduardacunha", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "17699", + "title": "Regression: User edit form missing fields", + "userLogin": "ggazzo", + "milestone": "3.3.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "17522", + "title": "[FIX] Default filters on Omnichannel Current Chats screen not showing on first load", + "userLogin": "renatobecker", + "milestone": "3.3.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "17700", + "title": "Regression: Fix error when performing Omnichannel queue checking", + "userLogin": "renatobecker", + "milestone": "3.3.0", + "contributors": [ + "renatobecker", + "web-flow" + ] + }, + { + "pr": "17697", + "title": "[FIX] UI KIT Modal Width", + "userLogin": "ggazzo", + "milestone": "3.3.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "17653", + "title": "Update Contributing Guide", + "userLogin": "rodrigok", + "milestone": "3.3.0", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "17693", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "contributors": [ + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "17681", + "title": "[NEW] Added custom fields to Add/Edit user", + "userLogin": "gabriellsh", + "milestone": "3.3.0", + "contributors": [ + "gabriellsh", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "17695", + "title": "Regression: Fix incorrect imports of the Apps-Engine", + "userLogin": "d-gubert", + "contributors": [ + "d-gubert" + ] + }, + { + "pr": "17654", + "title": "Improve: Remove uncessary RegExp query by email", + "userLogin": "rodrigok", + "milestone": "3.3.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "17487", + "title": "[NEW] [Apps-Engine] New Room events", + "userLogin": "d-gubert", + "contributors": [ + "d-gubert", + "web-flow" + ] + }, + { + "pr": "16665", + "title": "[IMPROVE] Add env var to configure Chatpal URL and remove it from beta", + "userLogin": "tkurz", + "contributors": [ + "tkurz", + "web-flow" + ] + }, + { + "pr": "17683", + "title": "Regression: Set retryWrites=false as default Mongo options", + "userLogin": "sampaiodiego", + "milestone": "3.3.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "17640", + "title": "[FIX] Agent's custom fields being leaked through the Livechat configuration endpoint", + "userLogin": "renatobecker", + "milestone": "3.3.0", + "contributors": [ + "renatobecker", + "web-flow" + ] + }, + { + "pr": "17675", + "title": "[FIX] Avatar url provider ignoring subfolders", + "userLogin": "ggazzo", + "milestone": "3.3.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "17680", + "title": "[IMPROVE] Added divider between tables and paginations", + "userLogin": "ggazzo", + "milestone": "3.3.0", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "17685", + "title": "[IMPROVE] Starred Messages", + "userLogin": "gabriellsh", + "milestone": "3.3.0", + "contributors": [ + "gabriellsh" + ] + }, + { + "pr": "17684", + "title": "Regression: status-color-online", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "17611", + "title": "Add snapcraft files to be bumped with Houston", + "userLogin": "geekgonecrazy", + "milestone": "3.3.0", + "contributors": [ + "geekgonecrazy", + "web-flow", + "sampaiodiego" + ] + }, + { + "pr": "17661", + "title": "[FIX] Queued Omnichannel webhook being triggered unnecessarily", + "userLogin": "renatobecker", + "milestone": "3.3.0", + "contributors": [ + "renatobecker", + "web-flow" + ] + }, + { + "pr": "17667", + "title": "Regression: Outgoing List", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "17664", + "title": "[FIX] Not redirecting to `First Channel After Login` on register", + "userLogin": "gabriellsh", + "contributors": [ + "gabriellsh", + "ggazzo" + ] + }, + { + "pr": "17663", + "title": "Regression: Pressing enter on search reloads the page - admin pages", + "userLogin": "gabriellsh", + "contributors": [ + "gabriellsh" + ] + }, + { + "pr": "17551", + "title": "[NEW] Admin refactor Second phase", + "userLogin": "ggazzo", + "contributors": [ + "tassoevan", + "web-flow", + "gabriellsh", + "ggazzo" + ] + }, + { + "pr": "17554", + "title": "[IMPROVE] Unused styles", + "userLogin": "tassoevan", + "milestone": "3.3.0", + "contributors": [ + "tassoevan", + "web-flow" + ] + }, + { + "pr": "17652", + "title": "[FIX] Directory search user placeholder", + "userLogin": "zdumitru", + "contributors": [ + "zdumitru", + "web-flow" + ] + }, + { + "pr": "16250", + "title": "[NEW] Added \"Add custom emoji\" link to emoji picker", + "userLogin": "gabriellsh", + "milestone": "3.3.0", + "contributors": [ + "gabriellsh", + "web-flow", + "ggazzo" + ] + }, + { + "pr": "17644", + "title": "[FIX] Marketplace tiered pricing plan wording", + "userLogin": "geekgonecrazy", + "milestone": "3.3.0", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "17618", + "title": "[FIX] Secret Registration not properly validating Invite Token", + "userLogin": "pierre-lehnen-rc", + "milestone": "3.3.0", + "contributors": [ + "pierre-lehnen-rc" + ] + }, + { + "pr": "16968", + "title": "Improve: New PR Template", + "userLogin": "regalstreak", + "contributors": [ + "regalstreak", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "17403", + "title": "Add engine versions for houston with templates", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "16480", + "title": "Use Users.findOneByAppId instead of querying directly", + "userLogin": "lolimay", + "contributors": [ + "lolimay", + "d-gubert", + "web-flow" + ] + }, + { + "pr": "17587", + "title": "Remove unnecessary setting redefinition", + "userLogin": "rodrigok", + "milestone": "3.3.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "17586", + "title": "Deprecate compatibility cordova setting", + "userLogin": "rodrigok", + "milestone": "3.3.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "17622", + "title": "[FIX] Hyper.sh went out of business in early 2019", + "userLogin": "fbartels", + "contributors": [ + "fbartels", + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "17580", + "title": "[NEW] Add Permissions to deal with Omnichannel visitor past chats history", + "userLogin": "MarcosSpessatto", + "milestone": "3.3.0", + "contributors": [ + "MarcosSpessatto", + "web-flow" + ] + }, + { + "pr": "17567", + "title": "[NEW] Add permissions to deal with Omnichannel custom fields", + "userLogin": "MarcosSpessatto", + "milestone": "3.3.0", + "contributors": [ + "MarcosSpessatto", + "renatobecker", + "web-flow" + ] + }, + { + "pr": "9956", + "title": "Livechat iframe allow microphone and camera", + "userLogin": "kolorafa", + "milestone": "3.3.0", + "contributors": [ + "kolorafa", + "web-flow", + "ggazzo" + ] + }, + { + "pr": "15642", + "title": "[FIX] Do not allow passwords on private channels", + "userLogin": "MartinSchoeler", + "milestone": "3.3.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "17625", + "title": "[FIX] Mail Messages > Cannot mail own user", + "userLogin": "gabriellsh", + "milestone": "3.3.0", + "contributors": [ + "gabriellsh" + ] + }, + { + "pr": "17514", + "title": "[FIX] remove multiple options from dontAskMeAgain", + "userLogin": "TaimurAzhar", + "contributors": [ + "TaimurAzhar" + ] + }, + { + "pr": "17616", + "title": "[FIX] Notification sounds", + "userLogin": "sampaiodiego", + "description": "* Global CDN config was ignored when loading the sound files\r\n* Upload of custom sounds wasn't getting the file extension correctly\r\n* Some translations were missing\r\n* Edit and delete of custom sounds were not working correctly", + "milestone": "3.3.0", + "contributors": [ + "sampaiodiego", + "ggazzo" + ] + }, + { + "pr": "17544", + "title": "[FIX] Resolve 'app already exists' error on app update", + "userLogin": "thassiov", + "contributors": [ + "thassiov", + "web-flow", + "d-gubert" + ] + }, + { + "pr": "16862", + "title": "[NEW] Unread bars on sidebar (#16853)", + "userLogin": "juzser", + "milestone": "3.3.0", + "contributors": [ + "juzser", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "15902", + "title": "[FIX] Relative image path in oembededUrlWidget", + "userLogin": "machester4", + "milestone": "3.3.0", + "contributors": [ + "machester4", + "web-flow" + ] + }, + { + "pr": "17613", + "title": "Regression: Do not show custom status inside sequential messages", + "userLogin": "ggazzo", + "milestone": "3.3.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "17582", + "title": "[FIX] Push settings enabled when push gateway is selected", + "userLogin": "geekgonecrazy", + "milestone": "3.2.2", + "contributors": [ + "geekgonecrazy", + "web-flow", + "sampaiodiego" + ] + }, + { + "pr": "17508", + "title": "[FIX] LDAP login on Enteprise Version", + "userLogin": "pierre-lehnen-rc", + "milestone": "3.2.2", + "contributors": [ + "pierre-lehnen-rc" + ] + }, + { + "pr": "17579", + "title": "[FIX] Login Forbidden on servers that had LDAP enabled in the past", + "userLogin": "pierre-lehnen-rc", + "milestone": "3.2.2", + "contributors": [ + "pierre-lehnen-rc" + ] + }, + { + "pr": "17578", + "title": "[FIX] Email configs not updating after setting changes", + "userLogin": "rodrigok", + "milestone": "3.2.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "17577", + "title": "[FIX] Error during data export for DMs", + "userLogin": "mtmr0x", + "milestone": "3.2.2", + "contributors": [ + "mtmr0x" + ] + }, + { + "pr": "17576", + "title": "Regression: Override via env for string settings not working", + "userLogin": "rodrigok", + "milestone": "3.3.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "17570", + "title": "[FIX] Emoji picker search broken", + "userLogin": "ggazzo", + "milestone": "3.2.2", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "17524", + "title": "Add some missing metadata information", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "17486", + "title": "Bump jquery from 3.3.1 to 3.5.0", + "userLogin": "dependabot[bot]", + "contributors": [ + "dependabot[bot]", + "web-flow" + ] + }, + { + "pr": "14892", + "title": "[NEW] Show user's status description by the usernames in messages list", + "userLogin": "wreiske", + "description": "![image](https://user-images.githubusercontent.com/6295044/60321979-5d191580-994c-11e9-9cd6-15f4565ff0ae.png)", + "milestone": "3.3.0", + "contributors": [ + "wreiske", + "web-flow", + "ggazzo" + ] + }, + { + "pr": "17040", + "title": "DPlatform is deprecated and the replacement does not support rocket.chat", + "userLogin": "ryjones", + "contributors": [ + "ryjones" + ] + }, + { + "pr": "17552", + "title": "Regression: RegExp callbacks of settings were not being called", + "userLogin": "rodrigok", + "milestone": "3.3.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "17533", + "title": "Meteor update to version 1.10.2", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "17553", + "title": "[FIX] Omnichannel departments are not saved when the offline channel name is not defined", + "userLogin": "renatobecker", + "milestone": "3.3.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "17523", + "title": "[NEW] Screen Lock settings - mobile client", + "userLogin": "djorkaeffalexandre", + "milestone": "3.3.0", + "contributors": [ + "djorkaeffalexandre" + ] + }, + { + "pr": "17542", + "title": "Regression: Fix Avatar Url Provider when CDN_PREFIX_ALL is false", + "userLogin": "ggazzo", + "milestone": "3.3.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "17541", + "title": "[FIX] Invalid CSS syntax", + "userLogin": "tassoevan", + "milestone": "3.3.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "17388", + "title": "[NEW] Rewrite admin pages", + "userLogin": "ggazzo", + "milestone": "3.3.0", + "contributors": [ + "mariaeduardacunha", + "web-flow", + "tassoevan", + "ggazzo", + "gabriellsh", + "MartinSchoeler" + ] + }, + { + "pr": "15929", + "title": "[FIX] Replace postcss Meteor package", + "userLogin": "tassoevan", + "milestone": "4.0.0", + "contributors": [ + "tassoevan", + "sampaiodiego" + ] + }, + { + "pr": "17540", + "title": "[FIX] Increasing highlight time in 3 seconds", + "userLogin": "mariaeduardacunha", + "contributors": [ + "mariaeduardacunha" + ] + }, + { + "pr": "17503", + "title": "[IMPROVE] Add new webhooks to the Omnichannel integration feature", + "userLogin": "renatobecker", + "milestone": "3.3.0", + "contributors": [ + "renatobecker", + "web-flow" + ] + }, + { + "pr": "17387", + "title": "[FIX] Remove deprecated Omnichannel Knowledge Base feature", + "userLogin": "renatobecker", + "milestone": "4.0.0", + "contributors": [ + "renatobecker", + "web-flow" + ] + }, + { + "pr": "17536", + "title": "[FIX] Reactions may present empty names of who reacted when using Real Names", + "userLogin": "rodrigok", + "description": "When changing usernames the reactions became outdated since it's not possible to update the usernames stored there, so when the server users Real Name setting enabled the system process all messages before return to the clients and get the names of the usernames to show since the usernames are outdated the names will not be found. Now the usernames will be displayed when the name can't be found as a temporary fix until we change the architecture of the data to fix the issue.", + "milestone": "3.2.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "17463", + "title": "[NEW] Allow filtering Omnichannel analytics dashboards by department", + "userLogin": "renatobecker", + "milestone": "3.3.0", + "contributors": [ + "renatobecker", + "web-flow", + "MarcosSpessatto" + ] + }, + { + "pr": "17160", + "title": "[FIX] Uncessary updates on Settings, Roles and Permissions on startup", + "userLogin": "rodrigok", + "milestone": "3.3.0", + "contributors": [ + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "17442", + "title": "[NEW] Add the ability to send Livechat offline messages to a channel", + "userLogin": "renatobecker", + "milestone": "3.3.0", + "contributors": [ + "renatobecker", + "web-flow" + ] + }, + { + "pr": "16430", + "title": "[FIX] Federation attachment URL for audio and video files", + "userLogin": "qwertiko", + "contributors": [ + "qwertiko", + "web-flow" + ] + }, + { + "pr": "17429", + "title": "[NEW] Add Livechat website URL to the offline message e-mail", + "userLogin": "renatobecker", + "milestone": "3.3.0", + "contributors": [ + "renatobecker", + "MarcosSpessatto", + "web-flow" + ] + }, + { + "pr": "17520", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "contributors": [ + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "17500", + "title": "RegExp improvements suggested by LGTM", + "userLogin": "rodrigok", + "milestone": "3.3.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "17419", + "title": "[FIX] Replace obsolete X-FRAME-OPTIONS header on Livechat route", + "userLogin": "renatobecker", + "milestone": "3.3.0", + "contributors": [ + "renatobecker", + "MarcosSpessatto", + "web-flow" + ] + }, + { + "pr": "17497", + "title": "[FIX] LDAP login error on Enterprise version", + "userLogin": "pierre-lehnen-rc", + "milestone": "3.2.1", + "contributors": [ + "pierre-lehnen-rc" + ] + }, + { + "pr": "17050", + "title": "[IMPROVE] [Apps-Engine] App user as the default notifier", + "userLogin": "lolimay", + "contributors": [ + "lolimay", + "d-gubert", + "web-flow" + ] + }, + { + "pr": "17033", + "title": "[NEW] [Apps-Engine] New Livechat event handlers", + "userLogin": "lolimay", + "contributors": [ + "lolimay", + "web-flow", + "renatobecker", + "d-gubert" + ] + }, + { + "pr": "17450", + "title": "[FIX] Change email verification label", + "userLogin": "MartinSchoeler", + "milestone": "3.3.0", + "contributors": [ + "MartinSchoeler", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "17468", + "title": "Merge master into develop & Set version to 3.3.0-develop", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "17479", + "title": "[FIX] Omnichannel room priorities system messages were create on every saved room info", + "userLogin": "MarcosSpessatto", + "milestone": "3.3.0", + "contributors": [ + "MarcosSpessatto" + ] + } + ] } } -} +} \ No newline at end of file diff --git a/.snapcraft/resources/prepareRocketChat b/.snapcraft/resources/prepareRocketChat index e70cf1d8d3d8..408bf8e5a43b 100755 --- a/.snapcraft/resources/prepareRocketChat +++ b/.snapcraft/resources/prepareRocketChat @@ -1,6 +1,6 @@ #!/bin/bash -curl -SLf "https://releases.rocket.chat/3.3.0-develop/download/" -o rocket.chat.tgz +curl -SLf "https://releases.rocket.chat/3.3.0-rc.0/download/" -o rocket.chat.tgz tar xf rocket.chat.tgz --strip 1 diff --git a/.snapcraft/snap/snapcraft.yaml b/.snapcraft/snap/snapcraft.yaml index 5dce2e522507..153920b62dad 100644 --- a/.snapcraft/snap/snapcraft.yaml +++ b/.snapcraft/snap/snapcraft.yaml @@ -7,7 +7,7 @@ # 5. `snapcraft snap` name: rocketchat-server -version: 3.3.0-develop +version: 3.3.0-rc.0 summary: Rocket.Chat server description: Have your own Slack like online chat, built with Meteor. https://rocket.chat/ confinement: strict diff --git a/HISTORY.md b/HISTORY.md index bc0b76f43333..62a5336d662e 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,7 +1,295 @@ +# 3.3.0 (Under Release Candidate Process) + +## 3.3.0-rc.0 +`2020-05-21 Β· 19 πŸŽ‰ Β· 8 πŸš€ Β· 40 πŸ› Β· 36 πŸ” Β· 35 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` + +### πŸŽ‰ New features + + +- **ENTERPRISE:** Support Omnichannel conversations auditing ([#17692](https://github.com/RocketChat/Rocket.Chat/pull/17692)) + +- **ENTERPRISE:** Support for custom Livechat registration form fields ([#17581](https://github.com/RocketChat/Rocket.Chat/pull/17581)) + +- **ENTERPRISE:** Omnichannel Last-Chatted Agent Preferred option ([#17666](https://github.com/RocketChat/Rocket.Chat/pull/17666)) + + If activated, this feature will store the last agent that assisted each Omnichannel visitor when a conversation is taken. So, when a visitor returns(it works with any entry point, Livechat, Facebook, REST API, and so on) and starts a new chat, the routing system checks: + + 1 - The visitor object for any stored agent that the visitor has previously talked to; + 2 - If a previous agent is not found, the system will try to find a previous conversation of the same visitor. If a room is found, the system will get the previous agent from the room; + + After this process, if an agent has been found, the system will check the agent's availability to assist the new chat. If it's not available, then the routing system will get the next available agent in the queue. + +- API endpoint to fetch Omnichannel's room transfer history ([#17694](https://github.com/RocketChat/Rocket.Chat/pull/17694)) + +- Option to remove users from RocketChat if not found in Crowd ([#17619](https://github.com/RocketChat/Rocket.Chat/pull/17619) by [@ocanema](https://github.com/ocanema)) + +- Added custom fields to Add/Edit user ([#17681](https://github.com/RocketChat/Rocket.Chat/pull/17681)) + +- [Apps-Engine] New Room events ([#17487](https://github.com/RocketChat/Rocket.Chat/pull/17487)) + +- Admin refactor Second phase ([#17551](https://github.com/RocketChat/Rocket.Chat/pull/17551)) + +- Added "Add custom emoji" link to emoji picker ([#16250](https://github.com/RocketChat/Rocket.Chat/pull/16250)) + +- Add Permissions to deal with Omnichannel visitor past chats history ([#17580](https://github.com/RocketChat/Rocket.Chat/pull/17580)) + +- Add permissions to deal with Omnichannel custom fields ([#17567](https://github.com/RocketChat/Rocket.Chat/pull/17567)) + +- Unread bars on sidebar (#16853) ([#16862](https://github.com/RocketChat/Rocket.Chat/pull/16862) by [@juzser](https://github.com/juzser)) + +- Show user's status description by the usernames in messages list ([#14892](https://github.com/RocketChat/Rocket.Chat/pull/14892) by [@wreiske](https://github.com/wreiske)) + + ![image](https://user-images.githubusercontent.com/6295044/60321979-5d191580-994c-11e9-9cd6-15f4565ff0ae.png) + +- Screen Lock settings - mobile client ([#17523](https://github.com/RocketChat/Rocket.Chat/pull/17523)) + +- Rewrite admin pages ([#17388](https://github.com/RocketChat/Rocket.Chat/pull/17388)) + +- Allow filtering Omnichannel analytics dashboards by department ([#17463](https://github.com/RocketChat/Rocket.Chat/pull/17463)) + +- Add the ability to send Livechat offline messages to a channel ([#17442](https://github.com/RocketChat/Rocket.Chat/pull/17442)) + +- Add Livechat website URL to the offline message e-mail ([#17429](https://github.com/RocketChat/Rocket.Chat/pull/17429)) + +- [Apps-Engine] New Livechat event handlers ([#17033](https://github.com/RocketChat/Rocket.Chat/pull/17033)) + +### πŸš€ Improvements + + +- Always shows the exact match first on user's and room's autocomplete for mentions and on sidebar search ([#16394](https://github.com/RocketChat/Rocket.Chat/pull/16394)) + +- Display status information in the Omnichannel Agents list ([#17701](https://github.com/RocketChat/Rocket.Chat/pull/17701)) + +- Add env var to configure Chatpal URL and remove it from beta ([#16665](https://github.com/RocketChat/Rocket.Chat/pull/16665) by [@tkurz](https://github.com/tkurz)) + +- Added divider between tables and paginations ([#17680](https://github.com/RocketChat/Rocket.Chat/pull/17680)) + +- Starred Messages ([#17685](https://github.com/RocketChat/Rocket.Chat/pull/17685)) + +- Unused styles ([#17554](https://github.com/RocketChat/Rocket.Chat/pull/17554)) + +- Add new webhooks to the Omnichannel integration feature ([#17503](https://github.com/RocketChat/Rocket.Chat/pull/17503)) + +- [Apps-Engine] App user as the default notifier ([#17050](https://github.com/RocketChat/Rocket.Chat/pull/17050)) + +### πŸ› Bug fixes + + +- Missing dropdown to select custom status color on user's profile ([#16537](https://github.com/RocketChat/Rocket.Chat/pull/16537) by [@ritwizsinha](https://github.com/ritwizsinha)) + +- Password reset/change accepting current password as new password ([#16331](https://github.com/RocketChat/Rocket.Chat/pull/16331) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + +- Can't click on room's actions menu of sidebar list when in search mode ([#16548](https://github.com/RocketChat/Rocket.Chat/pull/16548) by [@ritvikjain99](https://github.com/ritvikjain99)) + +- Remove a non working setting "Notification Duration" ([#15737](https://github.com/RocketChat/Rocket.Chat/pull/15737)) + +- Elements of "Personal Access Tokens" section out of alignment and unusable on very small screens ([#17129](https://github.com/RocketChat/Rocket.Chat/pull/17129) by [@Nikhil713](https://github.com/Nikhil713)) + +- Allow owners to react inside broadcast channels ([#17687](https://github.com/RocketChat/Rocket.Chat/pull/17687)) + +- Default filters on Omnichannel Current Chats screen not showing on first load ([#17522](https://github.com/RocketChat/Rocket.Chat/pull/17522)) + +- UI KIT Modal Width ([#17697](https://github.com/RocketChat/Rocket.Chat/pull/17697)) + +- Agent's custom fields being leaked through the Livechat configuration endpoint ([#17640](https://github.com/RocketChat/Rocket.Chat/pull/17640)) + +- Avatar url provider ignoring subfolders ([#17675](https://github.com/RocketChat/Rocket.Chat/pull/17675)) + +- Queued Omnichannel webhook being triggered unnecessarily ([#17661](https://github.com/RocketChat/Rocket.Chat/pull/17661)) + +- Not redirecting to `First Channel After Login` on register ([#17664](https://github.com/RocketChat/Rocket.Chat/pull/17664)) + +- Directory search user placeholder ([#17652](https://github.com/RocketChat/Rocket.Chat/pull/17652) by [@zdumitru](https://github.com/zdumitru)) + +- Marketplace tiered pricing plan wording ([#17644](https://github.com/RocketChat/Rocket.Chat/pull/17644)) + +- Secret Registration not properly validating Invite Token ([#17618](https://github.com/RocketChat/Rocket.Chat/pull/17618)) + +- Hyper.sh went out of business in early 2019 ([#17622](https://github.com/RocketChat/Rocket.Chat/pull/17622) by [@fbartels](https://github.com/fbartels)) + +- Do not allow passwords on private channels ([#15642](https://github.com/RocketChat/Rocket.Chat/pull/15642)) + +- Mail Messages > Cannot mail own user ([#17625](https://github.com/RocketChat/Rocket.Chat/pull/17625)) + +- remove multiple options from dontAskMeAgain ([#17514](https://github.com/RocketChat/Rocket.Chat/pull/17514) by [@TaimurAzhar](https://github.com/TaimurAzhar)) + +- Notification sounds ([#17616](https://github.com/RocketChat/Rocket.Chat/pull/17616)) + + * Global CDN config was ignored when loading the sound files + * Upload of custom sounds wasn't getting the file extension correctly + * Some translations were missing + * Edit and delete of custom sounds were not working correctly + +- Resolve 'app already exists' error on app update ([#17544](https://github.com/RocketChat/Rocket.Chat/pull/17544)) + +- Relative image path in oembededUrlWidget ([#15902](https://github.com/RocketChat/Rocket.Chat/pull/15902) by [@machester4](https://github.com/machester4)) + +- Push settings enabled when push gateway is selected ([#17582](https://github.com/RocketChat/Rocket.Chat/pull/17582)) + +- LDAP login on Enteprise Version ([#17508](https://github.com/RocketChat/Rocket.Chat/pull/17508)) + +- Login Forbidden on servers that had LDAP enabled in the past ([#17579](https://github.com/RocketChat/Rocket.Chat/pull/17579)) + +- Email configs not updating after setting changes ([#17578](https://github.com/RocketChat/Rocket.Chat/pull/17578)) + +- Error during data export for DMs ([#17577](https://github.com/RocketChat/Rocket.Chat/pull/17577)) + +- Emoji picker search broken ([#17570](https://github.com/RocketChat/Rocket.Chat/pull/17570)) + +- Omnichannel departments are not saved when the offline channel name is not defined ([#17553](https://github.com/RocketChat/Rocket.Chat/pull/17553)) + +- Invalid CSS syntax ([#17541](https://github.com/RocketChat/Rocket.Chat/pull/17541)) + +- Replace postcss Meteor package ([#15929](https://github.com/RocketChat/Rocket.Chat/pull/15929)) + +- Increasing highlight time in 3 seconds ([#17540](https://github.com/RocketChat/Rocket.Chat/pull/17540)) + +- Remove deprecated Omnichannel Knowledge Base feature ([#17387](https://github.com/RocketChat/Rocket.Chat/pull/17387)) + +- Reactions may present empty names of who reacted when using Real Names ([#17536](https://github.com/RocketChat/Rocket.Chat/pull/17536)) + + When changing usernames the reactions became outdated since it's not possible to update the usernames stored there, so when the server users Real Name setting enabled the system process all messages before return to the clients and get the names of the usernames to show since the usernames are outdated the names will not be found. Now the usernames will be displayed when the name can't be found as a temporary fix until we change the architecture of the data to fix the issue. + +- Uncessary updates on Settings, Roles and Permissions on startup ([#17160](https://github.com/RocketChat/Rocket.Chat/pull/17160)) + +- Federation attachment URL for audio and video files ([#16430](https://github.com/RocketChat/Rocket.Chat/pull/16430) by [@qwertiko](https://github.com/qwertiko)) + +- Replace obsolete X-FRAME-OPTIONS header on Livechat route ([#17419](https://github.com/RocketChat/Rocket.Chat/pull/17419)) + +- LDAP login error on Enterprise version ([#17497](https://github.com/RocketChat/Rocket.Chat/pull/17497)) + +- Change email verification label ([#17450](https://github.com/RocketChat/Rocket.Chat/pull/17450)) + +- Omnichannel room priorities system messages were create on every saved room info ([#17479](https://github.com/RocketChat/Rocket.Chat/pull/17479)) + +
+πŸ” Minor changes + + +- Upgrade Livechat Widget version to 1.5.0 ([#17710](https://github.com/RocketChat/Rocket.Chat/pull/17710)) + +- Update Fuselage version ([#17708](https://github.com/RocketChat/Rocket.Chat/pull/17708)) + +- Regression: Status presence color ([#17707](https://github.com/RocketChat/Rocket.Chat/pull/17707)) + +- Improve: Remove index files from action-links, accounts and assets ([#17607](https://github.com/RocketChat/Rocket.Chat/pull/17607)) + +- Update Apps-Engine version ([#17706](https://github.com/RocketChat/Rocket.Chat/pull/17706)) + +- Regression: Click to join button not working ([#17705](https://github.com/RocketChat/Rocket.Chat/pull/17705)) + +- Fix typo "You aren't part of any channel yet" ([#17498](https://github.com/RocketChat/Rocket.Chat/pull/17498) by [@huzaifahj](https://github.com/huzaifahj)) + +- Regression: Integrations edit/history crashing ([#17702](https://github.com/RocketChat/Rocket.Chat/pull/17702)) + +- Regression: User edit form missing fields ([#17699](https://github.com/RocketChat/Rocket.Chat/pull/17699)) + +- Regression: Fix error when performing Omnichannel queue checking ([#17700](https://github.com/RocketChat/Rocket.Chat/pull/17700)) + +- Update Contributing Guide ([#17653](https://github.com/RocketChat/Rocket.Chat/pull/17653)) + +- LingoHub based on develop ([#17693](https://github.com/RocketChat/Rocket.Chat/pull/17693)) + +- Regression: Fix incorrect imports of the Apps-Engine ([#17695](https://github.com/RocketChat/Rocket.Chat/pull/17695)) + +- Improve: Remove uncessary RegExp query by email ([#17654](https://github.com/RocketChat/Rocket.Chat/pull/17654)) + +- Regression: Set retryWrites=false as default Mongo options ([#17683](https://github.com/RocketChat/Rocket.Chat/pull/17683)) + +- Regression: status-color-online ([#17684](https://github.com/RocketChat/Rocket.Chat/pull/17684)) + +- Add snapcraft files to be bumped with Houston ([#17611](https://github.com/RocketChat/Rocket.Chat/pull/17611)) + +- Regression: Outgoing List ([#17667](https://github.com/RocketChat/Rocket.Chat/pull/17667)) + +- Regression: Pressing enter on search reloads the page - admin pages ([#17663](https://github.com/RocketChat/Rocket.Chat/pull/17663)) + +- Improve: New PR Template ([#16968](https://github.com/RocketChat/Rocket.Chat/pull/16968) by [@regalstreak](https://github.com/regalstreak)) + +- Add engine versions for houston with templates ([#17403](https://github.com/RocketChat/Rocket.Chat/pull/17403)) + +- Use Users.findOneByAppId instead of querying directly ([#16480](https://github.com/RocketChat/Rocket.Chat/pull/16480)) + +- Remove unnecessary setting redefinition ([#17587](https://github.com/RocketChat/Rocket.Chat/pull/17587)) + +- Deprecate compatibility cordova setting ([#17586](https://github.com/RocketChat/Rocket.Chat/pull/17586)) + +- Livechat iframe allow microphone and camera ([#9956](https://github.com/RocketChat/Rocket.Chat/pull/9956) by [@kolorafa](https://github.com/kolorafa)) + +- Regression: Do not show custom status inside sequential messages ([#17613](https://github.com/RocketChat/Rocket.Chat/pull/17613)) + +- Regression: Override via env for string settings not working ([#17576](https://github.com/RocketChat/Rocket.Chat/pull/17576)) + +- Add some missing metadata information ([#17524](https://github.com/RocketChat/Rocket.Chat/pull/17524)) + +- Bump jquery from 3.3.1 to 3.5.0 ([#17486](https://github.com/RocketChat/Rocket.Chat/pull/17486) by [@dependabot[bot]](https://github.com/dependabot[bot])) + +- DPlatform is deprecated and the replacement does not support rocket.chat ([#17040](https://github.com/RocketChat/Rocket.Chat/pull/17040) by [@ryjones](https://github.com/ryjones)) + +- Regression: RegExp callbacks of settings were not being called ([#17552](https://github.com/RocketChat/Rocket.Chat/pull/17552)) + +- Meteor update to version 1.10.2 ([#17533](https://github.com/RocketChat/Rocket.Chat/pull/17533)) + +- Regression: Fix Avatar Url Provider when CDN_PREFIX_ALL is false ([#17542](https://github.com/RocketChat/Rocket.Chat/pull/17542)) + +- LingoHub based on develop ([#17520](https://github.com/RocketChat/Rocket.Chat/pull/17520)) + +- RegExp improvements suggested by LGTM ([#17500](https://github.com/RocketChat/Rocket.Chat/pull/17500)) + +- Merge master into develop & Set version to 3.3.0-develop ([#17468](https://github.com/RocketChat/Rocket.Chat/pull/17468)) + +
+ +### πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» Contributors 😍 + +- [@Nikhil713](https://github.com/Nikhil713) +- [@TaimurAzhar](https://github.com/TaimurAzhar) +- [@ashwaniYDV](https://github.com/ashwaniYDV) +- [@dependabot[bot]](https://github.com/dependabot[bot]) +- [@fbartels](https://github.com/fbartels) +- [@huzaifahj](https://github.com/huzaifahj) +- [@juzser](https://github.com/juzser) +- [@kolorafa](https://github.com/kolorafa) +- [@machester4](https://github.com/machester4) +- [@ocanema](https://github.com/ocanema) +- [@qwertiko](https://github.com/qwertiko) +- [@regalstreak](https://github.com/regalstreak) +- [@ritvikjain99](https://github.com/ritvikjain99) +- [@ritwizsinha](https://github.com/ritwizsinha) +- [@ryjones](https://github.com/ryjones) +- [@tkurz](https://github.com/tkurz) +- [@wreiske](https://github.com/wreiske) +- [@zdumitru](https://github.com/zdumitru) + +### πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» Core Team πŸ€“ + +- [@MarcosSpessatto](https://github.com/MarcosSpessatto) +- [@MartinSchoeler](https://github.com/MartinSchoeler) +- [@d-gubert](https://github.com/d-gubert) +- [@djorkaeffalexandre](https://github.com/djorkaeffalexandre) +- [@engelgabriel](https://github.com/engelgabriel) +- [@gabriellsh](https://github.com/gabriellsh) +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@ggazzo](https://github.com/ggazzo) +- [@lolimay](https://github.com/lolimay) +- [@mariaeduardacunha](https://github.com/mariaeduardacunha) +- [@mtmr0x](https://github.com/mtmr0x) +- [@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) +- [@thassiov](https://github.com/thassiov) + # 3.2.0 `2020-04-27 Β· 19 πŸŽ‰ Β· 10 πŸš€ Β· 34 πŸ› Β· 19 πŸ” Β· 34 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` +### Engine versions +- Node: `12.16.1` +- NPM: `6.13.4` +- MongoDB: `3.4, 3.6, 4.0` + ### πŸŽ‰ New features @@ -233,9 +521,31 @@ - [@sampaiodiego](https://github.com/sampaiodiego) - [@tassoevan](https://github.com/tassoevan) +# 3.1.3 +`2020-05-11 Β· 1 πŸ› Β· 1 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` + +### Engine versions +- Node: `12.16.1` +- NPM: `6.13.4` +- MongoDB: `3.4, 3.6, 4.0` + +### πŸ› Bug fixes + + +- Email configs not updating after setting changes ([#17578](https://github.com/RocketChat/Rocket.Chat/pull/17578)) + +### πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» Core Team πŸ€“ + +- [@rodrigok](https://github.com/rodrigok) + # 3.1.2 `2020-04-27 Β· 8 πŸ› Β· 3 πŸ” Β· 5 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` +### Engine versions +- Node: `12.16.1` +- NPM: `6.13.4` +- MongoDB: `3.4, 3.6, 4.0` + ### πŸ› Bug fixes @@ -803,6 +1113,23 @@ - [@sampaiodiego](https://github.com/sampaiodiego) - [@tassoevan](https://github.com/tassoevan) +# 3.0.13 +`2020-05-11 Β· 1 πŸ› Β· 1 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` + +### Engine versions +- Node: `12.14.0` +- NPM: `6.13.4` +- MongoDB: `3.4, 3.6, 4.0` + +### πŸ› Bug fixes + + +- Email configs not updating after setting changes ([#17578](https://github.com/RocketChat/Rocket.Chat/pull/17578)) + +### πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» Core Team πŸ€“ + +- [@rodrigok](https://github.com/rodrigok) + # 3.0.12 `2020-04-03 Β· 3 πŸ” Β· 2 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` @@ -1425,6 +1752,23 @@ - [@sampaiodiego](https://github.com/sampaiodiego) - [@tassoevan](https://github.com/tassoevan) +# 2.4.12 +`2020-05-11 Β· 1 πŸ› Β· 1 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` + +### Engine versions +- Node: `8.17.0` +- NPM: `6.13.4` +- MongoDB: `3.4, 3.6, 4.0` + +### πŸ› Bug fixes + + +- Email configs not updating after setting changes ([#17578](https://github.com/RocketChat/Rocket.Chat/pull/17578)) + +### πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» Core Team πŸ€“ + +- [@rodrigok](https://github.com/rodrigok) + # 2.4.10 `2020-02-20 Β· 1 πŸ› Β· 2 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index 98a1785da5a7..d64d74eb0887 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.3.0-develop" + "version": "3.3.0-rc.0" } diff --git a/package-lock.json b/package-lock.json index f73e245f0d76..6f5f933812b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "Rocket.Chat", - "version": "3.3.0-develop", + "version": "3.3.0-rc.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 96e3934081e9..c9ae999faeed 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Rocket.Chat", "description": "The Ultimate Open Source WebChat Platform", - "version": "3.3.0-develop", + "version": "3.3.0-rc.0", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From 705ea6d6bcf0df7d40ddc2508e7f510cb0e2dd24 Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Thu, 21 May 2020 22:15:01 -0300 Subject: [PATCH 14/30] Bump version to 3.3.0-rc.1 --- .docker/Dockerfile.rhel | 2 +- .github/history.json | 148 +++++++++++++++++++++++++ .snapcraft/resources/prepareRocketChat | 2 +- .snapcraft/snap/snapcraft.yaml | 2 +- HISTORY.md | 88 +++++++++++++++ app/utils/rocketchat.info | 2 +- package-lock.json | 2 +- package.json | 2 +- 8 files changed, 242 insertions(+), 6 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index 915f2bf9d295..08de56c1e893 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.3.0-rc.0 +ENV RC_VERSION 3.3.0-rc.1 MAINTAINER buildmaster@rocket.chat diff --git a/.github/history.json b/.github/history.json index e6e9e2303f95..7acb4556c5fb 100644 --- a/.github/history.json +++ b/.github/history.json @@ -44703,6 +44703,154 @@ ] } ] + }, + "3.2.1": { + "node_version": "12.16.1", + "npm_version": "6.13.4", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "17506", + "title": "Release 3.2.1", + "userLogin": "sampaiodiego", + "contributors": [ + "pierre-lehnen-rc", + "sampaiodiego" + ] + }, + { + "pr": "17497", + "title": "[FIX] LDAP login error on Enterprise version", + "userLogin": "pierre-lehnen-rc", + "milestone": "3.2.1", + "contributors": [ + "pierre-lehnen-rc" + ] + } + ] + }, + "3.2.2": { + "node_version": "12.16.1", + "npm_version": "6.13.4", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "17600", + "title": "Release 3.2.2", + "userLogin": "sampaiodiego", + "contributors": [ + "rodrigok", + "sampaiodiego", + "ggazzo", + "mtmr0x", + "pierre-lehnen-rc", + "geekgonecrazy" + ] + }, + { + "pr": "17582", + "title": "[FIX] Push settings enabled when push gateway is selected", + "userLogin": "geekgonecrazy", + "milestone": "3.2.2", + "contributors": [ + "geekgonecrazy", + "web-flow", + "sampaiodiego" + ] + }, + { + "pr": "17508", + "title": "[FIX] LDAP login on Enteprise Version", + "userLogin": "pierre-lehnen-rc", + "milestone": "3.2.2", + "contributors": [ + "pierre-lehnen-rc" + ] + }, + { + "pr": "17579", + "title": "[FIX] Login Forbidden on servers that had LDAP enabled in the past", + "userLogin": "pierre-lehnen-rc", + "milestone": "3.2.2", + "contributors": [ + "pierre-lehnen-rc" + ] + }, + { + "pr": "17578", + "title": "[FIX] Email configs not updating after setting changes", + "userLogin": "rodrigok", + "milestone": "3.2.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "17577", + "title": "[FIX] Error during data export for DMs", + "userLogin": "mtmr0x", + "milestone": "3.2.2", + "contributors": [ + "mtmr0x" + ] + }, + { + "pr": "17570", + "title": "[FIX] Emoji picker search broken", + "userLogin": "ggazzo", + "milestone": "3.2.2", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "17536", + "title": "[FIX] Reactions may present empty names of who reacted when using Real Names", + "userLogin": "rodrigok", + "description": "When changing usernames the reactions became outdated since it's not possible to update the usernames stored there, so when the server users Real Name setting enabled the system process all messages before return to the clients and get the names of the usernames to show since the usernames are outdated the names will not be found. Now the usernames will be displayed when the name can't be found as a temporary fix until we change the architecture of the data to fix the issue.", + "milestone": "3.2.2", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "3.3.0-rc.1": { + "node_version": "12.16.1", + "npm_version": "6.14.0", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "17716", + "title": "Regression: Threads list was fetching all threads", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "17715", + "title": "Regression: Add missing return to afterSaveMessage callbacks", + "userLogin": "sampaiodiego", + "milestone": "3.3.0", + "contributors": [ + "sampaiodiego" + ] + } + ] } } } \ No newline at end of file diff --git a/.snapcraft/resources/prepareRocketChat b/.snapcraft/resources/prepareRocketChat index 408bf8e5a43b..394e973e997c 100755 --- a/.snapcraft/resources/prepareRocketChat +++ b/.snapcraft/resources/prepareRocketChat @@ -1,6 +1,6 @@ #!/bin/bash -curl -SLf "https://releases.rocket.chat/3.3.0-rc.0/download/" -o rocket.chat.tgz +curl -SLf "https://releases.rocket.chat/3.3.0-rc.1/download/" -o rocket.chat.tgz tar xf rocket.chat.tgz --strip 1 diff --git a/.snapcraft/snap/snapcraft.yaml b/.snapcraft/snap/snapcraft.yaml index 153920b62dad..2b8184740685 100644 --- a/.snapcraft/snap/snapcraft.yaml +++ b/.snapcraft/snap/snapcraft.yaml @@ -7,7 +7,7 @@ # 5. `snapcraft snap` name: rocketchat-server -version: 3.3.0-rc.0 +version: 3.3.0-rc.1 summary: Rocket.Chat server description: Have your own Slack like online chat, built with Meteor. https://rocket.chat/ confinement: strict diff --git a/HISTORY.md b/HISTORY.md index 62a5336d662e..4a85f8b42c2d 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,6 +1,24 @@ # 3.3.0 (Under Release Candidate Process) +## 3.3.0-rc.1 +`2020-05-21 Β· 2 πŸ” Β· 2 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` + +
+πŸ” Minor changes + + +- Regression: Threads list was fetching all threads ([#17716](https://github.com/RocketChat/Rocket.Chat/pull/17716)) + +- Regression: Add missing return to afterSaveMessage callbacks ([#17715](https://github.com/RocketChat/Rocket.Chat/pull/17715)) + +
+ +### πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» Core Team πŸ€“ + +- [@ggazzo](https://github.com/ggazzo) +- [@sampaiodiego](https://github.com/sampaiodiego) + ## 3.3.0-rc.0 `2020-05-21 Β· 19 πŸŽ‰ Β· 8 πŸš€ Β· 40 πŸ› Β· 36 πŸ” Β· 35 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` @@ -282,6 +300,76 @@ - [@tassoevan](https://github.com/tassoevan) - [@thassiov](https://github.com/thassiov) +# 3.2.2 +`2020-05-11 Β· 7 πŸ› Β· 1 πŸ” Β· 6 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` + +### Engine versions +- Node: `12.16.1` +- NPM: `6.13.4` +- MongoDB: `3.4, 3.6, 4.0` + +### πŸ› Bug fixes + + +- Push settings enabled when push gateway is selected ([#17582](https://github.com/RocketChat/Rocket.Chat/pull/17582)) + +- LDAP login on Enteprise Version ([#17508](https://github.com/RocketChat/Rocket.Chat/pull/17508)) + +- Login Forbidden on servers that had LDAP enabled in the past ([#17579](https://github.com/RocketChat/Rocket.Chat/pull/17579)) + +- Email configs not updating after setting changes ([#17578](https://github.com/RocketChat/Rocket.Chat/pull/17578)) + +- Error during data export for DMs ([#17577](https://github.com/RocketChat/Rocket.Chat/pull/17577)) + +- Emoji picker search broken ([#17570](https://github.com/RocketChat/Rocket.Chat/pull/17570)) + +- Reactions may present empty names of who reacted when using Real Names ([#17536](https://github.com/RocketChat/Rocket.Chat/pull/17536)) + + When changing usernames the reactions became outdated since it's not possible to update the usernames stored there, so when the server users Real Name setting enabled the system process all messages before return to the clients and get the names of the usernames to show since the usernames are outdated the names will not be found. Now the usernames will be displayed when the name can't be found as a temporary fix until we change the architecture of the data to fix the issue. + +
+πŸ” Minor changes + + +- Release 3.2.2 ([#17600](https://github.com/RocketChat/Rocket.Chat/pull/17600)) + +
+ +### πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» Core Team πŸ€“ + +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@ggazzo](https://github.com/ggazzo) +- [@mtmr0x](https://github.com/mtmr0x) +- [@pierre-lehnen-rc](https://github.com/pierre-lehnen-rc) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + +# 3.2.1 +`2020-05-01 Β· 1 πŸ› Β· 1 πŸ” Β· 2 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` + +### Engine versions +- Node: `12.16.1` +- NPM: `6.13.4` +- MongoDB: `3.4, 3.6, 4.0` + +### πŸ› Bug fixes + + +- LDAP login error on Enterprise version ([#17497](https://github.com/RocketChat/Rocket.Chat/pull/17497)) + +
+πŸ” Minor changes + + +- Release 3.2.1 ([#17506](https://github.com/RocketChat/Rocket.Chat/pull/17506)) + +
+ +### πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» Core Team πŸ€“ + +- [@pierre-lehnen-rc](https://github.com/pierre-lehnen-rc) +- [@sampaiodiego](https://github.com/sampaiodiego) + # 3.2.0 `2020-04-27 Β· 19 πŸŽ‰ Β· 10 πŸš€ Β· 34 πŸ› Β· 19 πŸ” Β· 34 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index d64d74eb0887..33ba541e2dc7 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.3.0-rc.0" + "version": "3.3.0-rc.1" } diff --git a/package-lock.json b/package-lock.json index 6f5f933812b5..44ee4a86d900 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "Rocket.Chat", - "version": "3.3.0-rc.0", + "version": "3.3.0-rc.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index c9ae999faeed..fc7c125991b6 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Rocket.Chat", "description": "The Ultimate Open Source WebChat Platform", - "version": "3.3.0-rc.0", + "version": "3.3.0-rc.1", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From 83b5f4496bac973870d4cc70e72fdf2cef90c2b2 Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Fri, 22 May 2020 19:13:53 -0300 Subject: [PATCH 15/30] Bump version to 3.3.0-rc.2 --- .docker/Dockerfile.rhel | 2 +- .github/history.json | 27 ++++++++++++++++++++++++++ .snapcraft/resources/prepareRocketChat | 2 +- .snapcraft/snap/snapcraft.yaml | 2 +- HISTORY.md | 20 +++++++++++++++++++ app/utils/rocketchat.info | 2 +- package-lock.json | 2 +- package.json | 2 +- 8 files changed, 53 insertions(+), 6 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index 08de56c1e893..5cdaf349f032 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.3.0-rc.1 +ENV RC_VERSION 3.3.0-rc.2 MAINTAINER buildmaster@rocket.chat diff --git a/.github/history.json b/.github/history.json index 7acb4556c5fb..cd29c42b017a 100644 --- a/.github/history.json +++ b/.github/history.json @@ -44851,6 +44851,33 @@ ] } ] + }, + "3.3.0-rc.2": { + "node_version": "12.16.1", + "npm_version": "6.14.0", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "17726", + "title": "Regression: Fix error preventing creation of group DMs", + "userLogin": "pierre-lehnen-rc", + "contributors": [ + "pierre-lehnen-rc" + ] + }, + { + "pr": "17482", + "title": "[FIX] SAML IDP initiated logout error", + "userLogin": "pierre-lehnen-rc", + "contributors": [ + "pierre-lehnen-rc" + ] + } + ] } } } \ No newline at end of file diff --git a/.snapcraft/resources/prepareRocketChat b/.snapcraft/resources/prepareRocketChat index 394e973e997c..66b7d065088d 100755 --- a/.snapcraft/resources/prepareRocketChat +++ b/.snapcraft/resources/prepareRocketChat @@ -1,6 +1,6 @@ #!/bin/bash -curl -SLf "https://releases.rocket.chat/3.3.0-rc.1/download/" -o rocket.chat.tgz +curl -SLf "https://releases.rocket.chat/3.3.0-rc.2/download/" -o rocket.chat.tgz tar xf rocket.chat.tgz --strip 1 diff --git a/.snapcraft/snap/snapcraft.yaml b/.snapcraft/snap/snapcraft.yaml index 2b8184740685..c8bfec08c473 100644 --- a/.snapcraft/snap/snapcraft.yaml +++ b/.snapcraft/snap/snapcraft.yaml @@ -7,7 +7,7 @@ # 5. `snapcraft snap` name: rocketchat-server -version: 3.3.0-rc.1 +version: 3.3.0-rc.2 summary: Rocket.Chat server description: Have your own Slack like online chat, built with Meteor. https://rocket.chat/ confinement: strict diff --git a/HISTORY.md b/HISTORY.md index 4a85f8b42c2d..ca3a0595041e 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,6 +1,26 @@ # 3.3.0 (Under Release Candidate Process) +## 3.3.0-rc.2 +`2020-05-22 Β· 1 πŸ› Β· 1 πŸ” Β· 1 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` + +### πŸ› Bug fixes + + +- SAML IDP initiated logout error ([#17482](https://github.com/RocketChat/Rocket.Chat/pull/17482)) + +
+πŸ” Minor changes + + +- Regression: Fix error preventing creation of group DMs ([#17726](https://github.com/RocketChat/Rocket.Chat/pull/17726)) + +
+ +### πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» Core Team πŸ€“ + +- [@pierre-lehnen-rc](https://github.com/pierre-lehnen-rc) + ## 3.3.0-rc.1 `2020-05-21 Β· 2 πŸ” Β· 2 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index 33ba541e2dc7..4d762e4ace1b 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.3.0-rc.1" + "version": "3.3.0-rc.2" } diff --git a/package-lock.json b/package-lock.json index 44ee4a86d900..b3c369b3d9a1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "Rocket.Chat", - "version": "3.3.0-rc.1", + "version": "3.3.0-rc.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index fc7c125991b6..cadb1b6c53be 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Rocket.Chat", "description": "The Ultimate Open Source WebChat Platform", - "version": "3.3.0-rc.1", + "version": "3.3.0-rc.2", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From c152cbf23e868ec0d1bb3a90fa3ea1dd307864eb Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Mon, 25 May 2020 21:29:00 -0300 Subject: [PATCH 16/30] Bump version to 3.3.0-rc.3 --- .docker/Dockerfile.rhel | 2 +- .github/history.json | 47 ++++++++++++++++++++++++++ .snapcraft/resources/prepareRocketChat | 2 +- .snapcraft/snap/snapcraft.yaml | 2 +- HISTORY.md | 38 +++++++++++++++++---- app/utils/rocketchat.info | 2 +- package-lock.json | 2 +- package.json | 2 +- 8 files changed, 85 insertions(+), 12 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index 5cdaf349f032..96585a927294 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.3.0-rc.2 +ENV RC_VERSION 3.3.0-rc.3 MAINTAINER buildmaster@rocket.chat diff --git a/.github/history.json b/.github/history.json index cd29c42b017a..5e514f37dd16 100644 --- a/.github/history.json +++ b/.github/history.json @@ -44878,6 +44878,53 @@ ] } ] + }, + "3.3.0-rc.3": { + "node_version": "12.16.1", + "npm_version": "6.14.0", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "17711", + "title": "Regression: Scroll on admin user info", + "userLogin": "ggazzo", + "milestone": "3.3.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "17741", + "title": "Regression: Removed status border on mentions list", + "userLogin": "mariaeduardacunha", + "contributors": [ + "mariaeduardacunha" + ] + }, + { + "pr": "17728", + "title": "Regression: Force unread-rooms bar to appears over the room list", + "userLogin": "mariaeduardacunha", + "contributors": [ + "mariaeduardacunha", + "ggazzo" + ] + }, + { + "pr": "17656", + "title": "[NEW][APPS-ENGINE] Essentials mechanism", + "userLogin": "d-gubert", + "milestone": "3.3.0", + "contributors": [ + "d-gubert", + "web-flow" + ] + } + ] } } } \ No newline at end of file diff --git a/.snapcraft/resources/prepareRocketChat b/.snapcraft/resources/prepareRocketChat index 66b7d065088d..ae57651611c2 100755 --- a/.snapcraft/resources/prepareRocketChat +++ b/.snapcraft/resources/prepareRocketChat @@ -1,6 +1,6 @@ #!/bin/bash -curl -SLf "https://releases.rocket.chat/3.3.0-rc.2/download/" -o rocket.chat.tgz +curl -SLf "https://releases.rocket.chat/3.3.0-rc.3/download/" -o rocket.chat.tgz tar xf rocket.chat.tgz --strip 1 diff --git a/.snapcraft/snap/snapcraft.yaml b/.snapcraft/snap/snapcraft.yaml index c8bfec08c473..5c6c9fad9c60 100644 --- a/.snapcraft/snap/snapcraft.yaml +++ b/.snapcraft/snap/snapcraft.yaml @@ -7,7 +7,7 @@ # 5. `snapcraft snap` name: rocketchat-server -version: 3.3.0-rc.2 +version: 3.3.0-rc.3 summary: Rocket.Chat server description: Have your own Slack like online chat, built with Meteor. https://rocket.chat/ confinement: strict diff --git a/HISTORY.md b/HISTORY.md index ca3a0595041e..466087800eaa 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,6 +1,32 @@ # 3.3.0 (Under Release Candidate Process) +## 3.3.0-rc.3 +`2020-05-25 Β· 1 πŸŽ‰ Β· 3 πŸ” Β· 3 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` + +### πŸŽ‰ New features + + +- **APPS-ENGINE:** Essentials mechanism ([#17656](https://github.com/RocketChat/Rocket.Chat/pull/17656)) + +
+πŸ” Minor changes + + +- Regression: Scroll on admin user info ([#17711](https://github.com/RocketChat/Rocket.Chat/pull/17711)) + +- Regression: Removed status border on mentions list ([#17741](https://github.com/RocketChat/Rocket.Chat/pull/17741)) + +- Regression: Force unread-rooms bar to appears over the room list ([#17728](https://github.com/RocketChat/Rocket.Chat/pull/17728)) + +
+ +### πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» Core Team πŸ€“ + +- [@d-gubert](https://github.com/d-gubert) +- [@ggazzo](https://github.com/ggazzo) +- [@mariaeduardacunha](https://github.com/mariaeduardacunha) + ## 3.3.0-rc.2 `2020-05-22 Β· 1 πŸ› Β· 1 πŸ” Β· 1 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` @@ -58,14 +84,16 @@ After this process, if an agent has been found, the system will check the agent's availability to assist the new chat. If it's not available, then the routing system will get the next available agent in the queue. +- **Apps-Engine:** New Room events ([#17487](https://github.com/RocketChat/Rocket.Chat/pull/17487)) + +- **Apps-Engine:** New Livechat event handlers ([#17033](https://github.com/RocketChat/Rocket.Chat/pull/17033)) + - API endpoint to fetch Omnichannel's room transfer history ([#17694](https://github.com/RocketChat/Rocket.Chat/pull/17694)) - Option to remove users from RocketChat if not found in Crowd ([#17619](https://github.com/RocketChat/Rocket.Chat/pull/17619) by [@ocanema](https://github.com/ocanema)) - Added custom fields to Add/Edit user ([#17681](https://github.com/RocketChat/Rocket.Chat/pull/17681)) -- [Apps-Engine] New Room events ([#17487](https://github.com/RocketChat/Rocket.Chat/pull/17487)) - - Admin refactor Second phase ([#17551](https://github.com/RocketChat/Rocket.Chat/pull/17551)) - Added "Add custom emoji" link to emoji picker ([#16250](https://github.com/RocketChat/Rocket.Chat/pull/16250)) @@ -90,11 +118,11 @@ - Add Livechat website URL to the offline message e-mail ([#17429](https://github.com/RocketChat/Rocket.Chat/pull/17429)) -- [Apps-Engine] New Livechat event handlers ([#17033](https://github.com/RocketChat/Rocket.Chat/pull/17033)) - ### πŸš€ Improvements +- **Apps-Engine:** App user as the default notifier ([#17050](https://github.com/RocketChat/Rocket.Chat/pull/17050)) + - Always shows the exact match first on user's and room's autocomplete for mentions and on sidebar search ([#16394](https://github.com/RocketChat/Rocket.Chat/pull/16394)) - Display status information in the Omnichannel Agents list ([#17701](https://github.com/RocketChat/Rocket.Chat/pull/17701)) @@ -109,8 +137,6 @@ - Add new webhooks to the Omnichannel integration feature ([#17503](https://github.com/RocketChat/Rocket.Chat/pull/17503)) -- [Apps-Engine] App user as the default notifier ([#17050](https://github.com/RocketChat/Rocket.Chat/pull/17050)) - ### πŸ› Bug fixes diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index 4d762e4ace1b..5e426132532a 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.3.0-rc.2" + "version": "3.3.0-rc.3" } diff --git a/package-lock.json b/package-lock.json index b3c369b3d9a1..5ce628f203f2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "Rocket.Chat", - "version": "3.3.0-rc.2", + "version": "3.3.0-rc.3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index cadb1b6c53be..5bc1c5575e4c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Rocket.Chat", "description": "The Ultimate Open Source WebChat Platform", - "version": "3.3.0-rc.2", + "version": "3.3.0-rc.3", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From e674d7e82b404203c72313397b8b364fd961f56b Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Wed, 27 May 2020 17:50:39 -0300 Subject: [PATCH 17/30] Bump version to 3.3.0-rc.4 --- .docker/Dockerfile.rhel | 2 +- .github/history.json | 30 +++++++++++ .snapcraft/resources/prepareRocketChat | 2 +- .snapcraft/snap/snapcraft.yaml | 2 +- HISTORY.md | 74 +++++++++++++++++--------- app/utils/rocketchat.info | 2 +- package-lock.json | 2 +- package.json | 2 +- 8 files changed, 85 insertions(+), 31 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index 96585a927294..d09083ca54fa 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.3.0-rc.3 +ENV RC_VERSION 3.3.0-rc.4 MAINTAINER buildmaster@rocket.chat diff --git a/.github/history.json b/.github/history.json index 5e514f37dd16..a403c7d298ca 100644 --- a/.github/history.json +++ b/.github/history.json @@ -44925,6 +44925,36 @@ ] } ] + }, + "3.3.0-rc.4": { + "node_version": "12.16.1", + "npm_version": "6.14.0", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "17750", + "title": "Regression: Fix Unread bar design", + "userLogin": "dudizilla", + "milestone": "3.3.0", + "contributors": [ + "dudizilla", + "ggazzo" + ] + }, + { + "pr": "17745", + "title": "Regression: Adjusting spaces between OAuth login buttons", + "userLogin": "dudizilla", + "milestone": "3.3.0", + "contributors": [ + "dudizilla" + ] + } + ] } } } \ No newline at end of file diff --git a/.snapcraft/resources/prepareRocketChat b/.snapcraft/resources/prepareRocketChat index ae57651611c2..0b7c625a7ad2 100755 --- a/.snapcraft/resources/prepareRocketChat +++ b/.snapcraft/resources/prepareRocketChat @@ -1,6 +1,6 @@ #!/bin/bash -curl -SLf "https://releases.rocket.chat/3.3.0-rc.3/download/" -o rocket.chat.tgz +curl -SLf "https://releases.rocket.chat/3.3.0-rc.4/download/" -o rocket.chat.tgz tar xf rocket.chat.tgz --strip 1 diff --git a/.snapcraft/snap/snapcraft.yaml b/.snapcraft/snap/snapcraft.yaml index 5c6c9fad9c60..6a8f2b01f309 100644 --- a/.snapcraft/snap/snapcraft.yaml +++ b/.snapcraft/snap/snapcraft.yaml @@ -7,7 +7,7 @@ # 5. `snapcraft snap` name: rocketchat-server -version: 3.3.0-rc.3 +version: 3.3.0-rc.4 summary: Rocket.Chat server description: Have your own Slack like online chat, built with Meteor. https://rocket.chat/ confinement: strict diff --git a/HISTORY.md b/HISTORY.md index 466087800eaa..d8a8dbb86383 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,6 +1,24 @@ # 3.3.0 (Under Release Candidate Process) +## 3.3.0-rc.4 +`2020-05-27 Β· 2 πŸ” Β· 2 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` + +
+πŸ” Minor changes + + +- Regression: Fix Unread bar design ([#17750](https://github.com/RocketChat/Rocket.Chat/pull/17750)) + +- Regression: Adjusting spaces between OAuth login buttons ([#17745](https://github.com/RocketChat/Rocket.Chat/pull/17745)) + +
+ +### πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» Core Team πŸ€“ + +- [@dudizilla](https://github.com/dudizilla) +- [@ggazzo](https://github.com/ggazzo) + ## 3.3.0-rc.3 `2020-05-25 Β· 1 πŸŽ‰ Β· 3 πŸ” Β· 3 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` @@ -15,17 +33,20 @@ - Regression: Scroll on admin user info ([#17711](https://github.com/RocketChat/Rocket.Chat/pull/17711)) -- Regression: Removed status border on mentions list ([#17741](https://github.com/RocketChat/Rocket.Chat/pull/17741)) +- Regression: Removed status border on mentions list ([#17741](https://github.com/RocketChat/Rocket.Chat/pull/17741) by [@mariaeduardacunha](https://github.com/mariaeduardacunha)) -- Regression: Force unread-rooms bar to appears over the room list ([#17728](https://github.com/RocketChat/Rocket.Chat/pull/17728)) +- Regression: Force unread-rooms bar to appears over the room list ([#17728](https://github.com/RocketChat/Rocket.Chat/pull/17728) by [@mariaeduardacunha](https://github.com/mariaeduardacunha)) +### πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» Contributors 😍 + +- [@mariaeduardacunha](https://github.com/mariaeduardacunha) + ### πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» Core Team πŸ€“ - [@d-gubert](https://github.com/d-gubert) - [@ggazzo](https://github.com/ggazzo) -- [@mariaeduardacunha](https://github.com/mariaeduardacunha) ## 3.3.0-rc.2 `2020-05-22 Β· 1 πŸ› Β· 1 πŸ” Β· 1 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` @@ -110,7 +131,7 @@ - Screen Lock settings - mobile client ([#17523](https://github.com/RocketChat/Rocket.Chat/pull/17523)) -- Rewrite admin pages ([#17388](https://github.com/RocketChat/Rocket.Chat/pull/17388)) +- Rewrite admin pages ([#17388](https://github.com/RocketChat/Rocket.Chat/pull/17388) by [@mariaeduardacunha](https://github.com/mariaeduardacunha)) - Allow filtering Omnichannel analytics dashboards by department ([#17463](https://github.com/RocketChat/Rocket.Chat/pull/17463)) @@ -150,7 +171,7 @@ - Elements of "Personal Access Tokens" section out of alignment and unusable on very small screens ([#17129](https://github.com/RocketChat/Rocket.Chat/pull/17129) by [@Nikhil713](https://github.com/Nikhil713)) -- Allow owners to react inside broadcast channels ([#17687](https://github.com/RocketChat/Rocket.Chat/pull/17687)) +- Allow owners to react inside broadcast channels ([#17687](https://github.com/RocketChat/Rocket.Chat/pull/17687) by [@mariaeduardacunha](https://github.com/mariaeduardacunha)) - Default filters on Omnichannel Current Chats screen not showing on first load ([#17522](https://github.com/RocketChat/Rocket.Chat/pull/17522)) @@ -207,7 +228,7 @@ - Replace postcss Meteor package ([#15929](https://github.com/RocketChat/Rocket.Chat/pull/15929)) -- Increasing highlight time in 3 seconds ([#17540](https://github.com/RocketChat/Rocket.Chat/pull/17540)) +- Increasing highlight time in 3 seconds ([#17540](https://github.com/RocketChat/Rocket.Chat/pull/17540) by [@mariaeduardacunha](https://github.com/mariaeduardacunha)) - Remove deprecated Omnichannel Knowledge Base feature ([#17387](https://github.com/RocketChat/Rocket.Chat/pull/17387)) @@ -235,7 +256,7 @@ - Update Fuselage version ([#17708](https://github.com/RocketChat/Rocket.Chat/pull/17708)) -- Regression: Status presence color ([#17707](https://github.com/RocketChat/Rocket.Chat/pull/17707)) +- Regression: Status presence color ([#17707](https://github.com/RocketChat/Rocket.Chat/pull/17707) by [@mariaeduardacunha](https://github.com/mariaeduardacunha)) - Improve: Remove index files from action-links, accounts and assets ([#17607](https://github.com/RocketChat/Rocket.Chat/pull/17607)) @@ -316,6 +337,7 @@ - [@juzser](https://github.com/juzser) - [@kolorafa](https://github.com/kolorafa) - [@machester4](https://github.com/machester4) +- [@mariaeduardacunha](https://github.com/mariaeduardacunha) - [@ocanema](https://github.com/ocanema) - [@qwertiko](https://github.com/qwertiko) - [@regalstreak](https://github.com/regalstreak) @@ -337,7 +359,6 @@ - [@geekgonecrazy](https://github.com/geekgonecrazy) - [@ggazzo](https://github.com/ggazzo) - [@lolimay](https://github.com/lolimay) -- [@mariaeduardacunha](https://github.com/mariaeduardacunha) - [@mtmr0x](https://github.com/mtmr0x) - [@pierre-lehnen-rc](https://github.com/pierre-lehnen-rc) - [@renatobecker](https://github.com/renatobecker) @@ -1608,11 +1629,11 @@ ### ⚠️ BREAKING CHANGES -- Filter System messages per room ([#16369](https://github.com/RocketChat/Rocket.Chat/pull/16369)) +- Filter System messages per room ([#16369](https://github.com/RocketChat/Rocket.Chat/pull/16369) by [@mariaeduardacunha](https://github.com/mariaeduardacunha)) - Remove deprecated publications ([#16351](https://github.com/RocketChat/Rocket.Chat/pull/16351)) -- Hide system messages ([#16243](https://github.com/RocketChat/Rocket.Chat/pull/16243)) +- Hide system messages ([#16243](https://github.com/RocketChat/Rocket.Chat/pull/16243) by [@mariaeduardacunha](https://github.com/mariaeduardacunha)) - Upgrade to Meteor 1.9 and NodeJS 12 ([#16252](https://github.com/RocketChat/Rocket.Chat/pull/16252)) @@ -1687,11 +1708,11 @@ - 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)) +- Adding 'lang' tag ([#16375](https://github.com/RocketChat/Rocket.Chat/pull/16375) by [@mariaeduardacunha](https://github.com/mariaeduardacunha)) - 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)) +- Role tags missing - Description field explanation ([#16356](https://github.com/RocketChat/Rocket.Chat/pull/16356) by [@mariaeduardacunha](https://github.com/mariaeduardacunha)) - Invite links usage by channel owners/moderators ([#16176](https://github.com/RocketChat/Rocket.Chat/pull/16176)) @@ -1721,7 +1742,7 @@ - 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)) +- Drag and drop disabled when file upload is disabled ([#16049](https://github.com/RocketChat/Rocket.Chat/pull/16049) by [@mariaeduardacunha](https://github.com/mariaeduardacunha)) - Video message sent to wrong room ([#16113](https://github.com/RocketChat/Rocket.Chat/pull/16113)) @@ -1731,7 +1752,7 @@ - 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)) +- Login change language button ([#16085](https://github.com/RocketChat/Rocket.Chat/pull/16085) by [@mariaeduardacunha](https://github.com/mariaeduardacunha)) - api-bypass-rate-limiter permission was not working ([#16080](https://github.com/RocketChat/Rocket.Chat/pull/16080)) @@ -1865,6 +1886,7 @@ - [@antkaz](https://github.com/antkaz) - [@ashwaniYDV](https://github.com/ashwaniYDV) - [@aviral243](https://github.com/aviral243) +- [@mariaeduardacunha](https://github.com/mariaeduardacunha) - [@mrsimpson](https://github.com/mrsimpson) - [@ritwizsinha](https://github.com/ritwizsinha) - [@vickyokrm](https://github.com/vickyokrm) @@ -1879,7 +1901,6 @@ - [@geekgonecrazy](https://github.com/geekgonecrazy) - [@ggazzo](https://github.com/ggazzo) - [@lolimay](https://github.com/lolimay) -- [@mariaeduardacunha](https://github.com/mariaeduardacunha) - [@pierre-lehnen-rc](https://github.com/pierre-lehnen-rc) - [@renatobecker](https://github.com/renatobecker) - [@rodrigok](https://github.com/rodrigok) @@ -2145,20 +2166,23 @@ - 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)) +- JS errors on Administration page ([#16139](https://github.com/RocketChat/Rocket.Chat/pull/16139) by [@mariaeduardacunha](https://github.com/mariaeduardacunha))
πŸ” Minor changes -- Release 2.4.1 ([#16195](https://github.com/RocketChat/Rocket.Chat/pull/16195)) +- Release 2.4.1 ([#16195](https://github.com/RocketChat/Rocket.Chat/pull/16195) by [@mariaeduardacunha](https://github.com/mariaeduardacunha))
+### πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» Contributors 😍 + +- [@mariaeduardacunha](https://github.com/mariaeduardacunha) + ### πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» Core Team πŸ€“ - [@d-gubert](https://github.com/d-gubert) -- [@mariaeduardacunha](https://github.com/mariaeduardacunha) - [@rodrigok](https://github.com/rodrigok) - [@sampaiodiego](https://github.com/sampaiodiego) @@ -2249,17 +2273,17 @@ - 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)) +- width of upload-progress-text ([#16023](https://github.com/RocketChat/Rocket.Chat/pull/16023) by [@mariaeduardacunha](https://github.com/mariaeduardacunha)) -- Message list scrolling to bottom on reactions ([#16018](https://github.com/RocketChat/Rocket.Chat/pull/16018)) +- Message list scrolling to bottom on reactions ([#16018](https://github.com/RocketChat/Rocket.Chat/pull/16018) by [@mariaeduardacunha](https://github.com/mariaeduardacunha)) - 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)) +- z-index of new message button ([#16013](https://github.com/RocketChat/Rocket.Chat/pull/16013) by [@mariaeduardacunha](https://github.com/mariaeduardacunha)) -- new message popup ([#16017](https://github.com/RocketChat/Rocket.Chat/pull/16017)) +- new message popup ([#16017](https://github.com/RocketChat/Rocket.Chat/pull/16017) by [@mariaeduardacunha](https://github.com/mariaeduardacunha)) - Changed renderMessage priority, fixed Katex on/off setting ([#16012](https://github.com/RocketChat/Rocket.Chat/pull/16012)) @@ -2352,6 +2376,7 @@ - [@breaking-let](https://github.com/breaking-let) - [@iannuzzelli](https://github.com/iannuzzelli) - [@localguru](https://github.com/localguru) +- [@mariaeduardacunha](https://github.com/mariaeduardacunha) - [@n-se](https://github.com/n-se) - [@ritwizsinha](https://github.com/ritwizsinha) - [@wreiske](https://github.com/wreiske) @@ -2366,7 +2391,6 @@ - [@geekgonecrazy](https://github.com/geekgonecrazy) - [@ggazzo](https://github.com/ggazzo) - [@lolimay](https://github.com/lolimay) -- [@mariaeduardacunha](https://github.com/mariaeduardacunha) - [@pierre-lehnen-rc](https://github.com/pierre-lehnen-rc) - [@renatobecker](https://github.com/renatobecker) - [@rodrigok](https://github.com/rodrigok) @@ -2540,7 +2564,7 @@ - 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)) +- Sidebar font color was not respecting theming ([#15745](https://github.com/RocketChat/Rocket.Chat/pull/15745) by [@mariaeduardacunha](https://github.com/mariaeduardacunha)) - Add livechat agents into departments ([#15732](https://github.com/RocketChat/Rocket.Chat/pull/15732)) @@ -2615,6 +2639,7 @@ ### πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» Contributors 😍 - [@Exordian](https://github.com/Exordian) +- [@mariaeduardacunha](https://github.com/mariaeduardacunha) - [@mpdbl](https://github.com/mpdbl) - [@nstseek](https://github.com/nstseek) - [@rajvaibhavdubey](https://github.com/rajvaibhavdubey) @@ -2628,7 +2653,6 @@ - [@gabriellsh](https://github.com/gabriellsh) - [@geekgonecrazy](https://github.com/geekgonecrazy) - [@ggazzo](https://github.com/ggazzo) -- [@mariaeduardacunha](https://github.com/mariaeduardacunha) - [@pierre-lehnen-rc](https://github.com/pierre-lehnen-rc) - [@renatobecker](https://github.com/renatobecker) - [@rodrigok](https://github.com/rodrigok) diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index 5e426132532a..9d6ef1c68cf7 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.3.0-rc.3" + "version": "3.3.0-rc.4" } diff --git a/package-lock.json b/package-lock.json index 5ce628f203f2..6a8f636c5b78 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "Rocket.Chat", - "version": "3.3.0-rc.3", + "version": "3.3.0-rc.4", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 5bc1c5575e4c..bcf0c86b5eb0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Rocket.Chat", "description": "The Ultimate Open Source WebChat Platform", - "version": "3.3.0-rc.3", + "version": "3.3.0-rc.4", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From c98bcbe0fb99eff6e2f7ffaa69b3f7175c0ea8fc Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Wed, 27 May 2020 22:21:57 -0300 Subject: [PATCH 18/30] Bump version to 3.3.0 --- .docker/Dockerfile.rhel | 2 +- .github/history.json | 45 ++++++++- .snapcraft/resources/prepareRocketChat | 2 +- .snapcraft/snap/snapcraft.yaml | 2 +- HISTORY.md | 122 +++++++------------------ app/utils/rocketchat.info | 2 +- package-lock.json | 2 +- package.json | 2 +- 8 files changed, 82 insertions(+), 97 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index d09083ca54fa..f9056ace94a6 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.3.0-rc.4 +ENV RC_VERSION 3.3.0 MAINTAINER buildmaster@rocket.chat diff --git a/.github/history.json b/.github/history.json index 2d54ae979434..cabb2bee4a24 100644 --- a/.github/history.json +++ b/.github/history.json @@ -44955,6 +44955,49 @@ ] } ] + }, + "3.3.0": { + "node_version": "12.16.1", + "npm_version": "6.14.0", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "17595", + "title": "[FIX] Slack importer Link handling", + "userLogin": "lpilz", + "contributors": [ + "lpilz", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "17600", + "title": "Release 3.2.2", + "userLogin": "sampaiodiego", + "contributors": [ + "rodrigok", + "sampaiodiego", + "ggazzo", + "mtmr0x", + "pierre-lehnen-rc", + "geekgonecrazy" + ] + }, + { + "pr": "17497", + "title": "[FIX] LDAP login error on Enterprise version", + "userLogin": "pierre-lehnen-rc", + "milestone": "3.2.1", + "contributors": [ + "pierre-lehnen-rc" + ] + } + ] } } -} +} \ No newline at end of file diff --git a/.snapcraft/resources/prepareRocketChat b/.snapcraft/resources/prepareRocketChat index 0b7c625a7ad2..3e66b3f64ce1 100755 --- a/.snapcraft/resources/prepareRocketChat +++ b/.snapcraft/resources/prepareRocketChat @@ -1,6 +1,6 @@ #!/bin/bash -curl -SLf "https://releases.rocket.chat/3.3.0-rc.4/download/" -o rocket.chat.tgz +curl -SLf "https://releases.rocket.chat/3.3.0/download/" -o rocket.chat.tgz tar xf rocket.chat.tgz --strip 1 diff --git a/.snapcraft/snap/snapcraft.yaml b/.snapcraft/snap/snapcraft.yaml index 6a8f2b01f309..56a25a036453 100644 --- a/.snapcraft/snap/snapcraft.yaml +++ b/.snapcraft/snap/snapcraft.yaml @@ -7,7 +7,7 @@ # 5. `snapcraft snap` name: rocketchat-server -version: 3.3.0-rc.4 +version: 3.3.0 summary: Rocket.Chat server description: Have your own Slack like online chat, built with Meteor. https://rocket.chat/ confinement: strict diff --git a/HISTORY.md b/HISTORY.md index d8a8dbb86383..040ce3485de7 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,93 +1,11 @@ -# 3.3.0 (Under Release Candidate Process) +# 3.3.0 +`2020-05-27 Β· 20 πŸŽ‰ Β· 8 πŸš€ Β· 41 πŸ› Β· 45 πŸ” Β· 37 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` -## 3.3.0-rc.4 -`2020-05-27 Β· 2 πŸ” Β· 2 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` - -
-πŸ” Minor changes - - -- Regression: Fix Unread bar design ([#17750](https://github.com/RocketChat/Rocket.Chat/pull/17750)) - -- Regression: Adjusting spaces between OAuth login buttons ([#17745](https://github.com/RocketChat/Rocket.Chat/pull/17745)) - -
- -### πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» Core Team πŸ€“ - -- [@dudizilla](https://github.com/dudizilla) -- [@ggazzo](https://github.com/ggazzo) - -## 3.3.0-rc.3 -`2020-05-25 Β· 1 πŸŽ‰ Β· 3 πŸ” Β· 3 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` - -### πŸŽ‰ New features - - -- **APPS-ENGINE:** Essentials mechanism ([#17656](https://github.com/RocketChat/Rocket.Chat/pull/17656)) - -
-πŸ” Minor changes - - -- Regression: Scroll on admin user info ([#17711](https://github.com/RocketChat/Rocket.Chat/pull/17711)) - -- Regression: Removed status border on mentions list ([#17741](https://github.com/RocketChat/Rocket.Chat/pull/17741) by [@mariaeduardacunha](https://github.com/mariaeduardacunha)) - -- Regression: Force unread-rooms bar to appears over the room list ([#17728](https://github.com/RocketChat/Rocket.Chat/pull/17728) by [@mariaeduardacunha](https://github.com/mariaeduardacunha)) - -
- -### πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» Contributors 😍 - -- [@mariaeduardacunha](https://github.com/mariaeduardacunha) - -### πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» Core Team πŸ€“ - -- [@d-gubert](https://github.com/d-gubert) -- [@ggazzo](https://github.com/ggazzo) - -## 3.3.0-rc.2 -`2020-05-22 Β· 1 πŸ› Β· 1 πŸ” Β· 1 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` - -### πŸ› Bug fixes - - -- SAML IDP initiated logout error ([#17482](https://github.com/RocketChat/Rocket.Chat/pull/17482)) - -
-πŸ” Minor changes - - -- Regression: Fix error preventing creation of group DMs ([#17726](https://github.com/RocketChat/Rocket.Chat/pull/17726)) - -
- -### πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» Core Team πŸ€“ - -- [@pierre-lehnen-rc](https://github.com/pierre-lehnen-rc) - -## 3.3.0-rc.1 -`2020-05-21 Β· 2 πŸ” Β· 2 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` - -
-πŸ” Minor changes - - -- Regression: Threads list was fetching all threads ([#17716](https://github.com/RocketChat/Rocket.Chat/pull/17716)) - -- Regression: Add missing return to afterSaveMessage callbacks ([#17715](https://github.com/RocketChat/Rocket.Chat/pull/17715)) - -
- -### πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» Core Team πŸ€“ - -- [@ggazzo](https://github.com/ggazzo) -- [@sampaiodiego](https://github.com/sampaiodiego) - -## 3.3.0-rc.0 -`2020-05-21 Β· 19 πŸŽ‰ Β· 8 πŸš€ Β· 40 πŸ› Β· 36 πŸ” Β· 35 πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»` +### Engine versions +- Node: `12.16.1` +- NPM: `6.14.0` +- MongoDB: `3.4, 3.6, 4.0` ### πŸŽ‰ New features @@ -109,6 +27,8 @@ - **Apps-Engine:** New Livechat event handlers ([#17033](https://github.com/RocketChat/Rocket.Chat/pull/17033)) +- **APPS-ENGINE:** Essentials mechanism ([#17656](https://github.com/RocketChat/Rocket.Chat/pull/17656)) + - API endpoint to fetch Omnichannel's room transfer history ([#17694](https://github.com/RocketChat/Rocket.Chat/pull/17694)) - Option to remove users from RocketChat if not found in Crowd ([#17619](https://github.com/RocketChat/Rocket.Chat/pull/17619) by [@ocanema](https://github.com/ocanema)) @@ -161,6 +81,8 @@ ### πŸ› Bug fixes +- Slack importer Link handling ([#17595](https://github.com/RocketChat/Rocket.Chat/pull/17595) by [@lpilz](https://github.com/lpilz)) + - Missing dropdown to select custom status color on user's profile ([#16537](https://github.com/RocketChat/Rocket.Chat/pull/16537) by [@ritwizsinha](https://github.com/ritwizsinha)) - Password reset/change accepting current password as new password ([#16331](https://github.com/RocketChat/Rocket.Chat/pull/16331) by [@ashwaniYDV](https://github.com/ashwaniYDV)) @@ -242,16 +164,18 @@ - Replace obsolete X-FRAME-OPTIONS header on Livechat route ([#17419](https://github.com/RocketChat/Rocket.Chat/pull/17419)) -- LDAP login error on Enterprise version ([#17497](https://github.com/RocketChat/Rocket.Chat/pull/17497)) - - Change email verification label ([#17450](https://github.com/RocketChat/Rocket.Chat/pull/17450)) - Omnichannel room priorities system messages were create on every saved room info ([#17479](https://github.com/RocketChat/Rocket.Chat/pull/17479)) +- SAML IDP initiated logout error ([#17482](https://github.com/RocketChat/Rocket.Chat/pull/17482)) +
πŸ” Minor changes +- Release 3.2.2 ([#17600](https://github.com/RocketChat/Rocket.Chat/pull/17600)) + - Upgrade Livechat Widget version to 1.5.0 ([#17710](https://github.com/RocketChat/Rocket.Chat/pull/17710)) - Update Fuselage version ([#17708](https://github.com/RocketChat/Rocket.Chat/pull/17708)) @@ -324,6 +248,22 @@ - Merge master into develop & Set version to 3.3.0-develop ([#17468](https://github.com/RocketChat/Rocket.Chat/pull/17468)) +- Regression: Threads list was fetching all threads ([#17716](https://github.com/RocketChat/Rocket.Chat/pull/17716)) + +- Regression: Add missing return to afterSaveMessage callbacks ([#17715](https://github.com/RocketChat/Rocket.Chat/pull/17715)) + +- Regression: Fix error preventing creation of group DMs ([#17726](https://github.com/RocketChat/Rocket.Chat/pull/17726)) + +- Regression: Scroll on admin user info ([#17711](https://github.com/RocketChat/Rocket.Chat/pull/17711)) + +- Regression: Removed status border on mentions list ([#17741](https://github.com/RocketChat/Rocket.Chat/pull/17741) by [@mariaeduardacunha](https://github.com/mariaeduardacunha)) + +- Regression: Force unread-rooms bar to appears over the room list ([#17728](https://github.com/RocketChat/Rocket.Chat/pull/17728) by [@mariaeduardacunha](https://github.com/mariaeduardacunha)) + +- Regression: Fix Unread bar design ([#17750](https://github.com/RocketChat/Rocket.Chat/pull/17750)) + +- Regression: Adjusting spaces between OAuth login buttons ([#17745](https://github.com/RocketChat/Rocket.Chat/pull/17745)) +
### πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» Contributors 😍 @@ -336,6 +276,7 @@ - [@huzaifahj](https://github.com/huzaifahj) - [@juzser](https://github.com/juzser) - [@kolorafa](https://github.com/kolorafa) +- [@lpilz](https://github.com/lpilz) - [@machester4](https://github.com/machester4) - [@mariaeduardacunha](https://github.com/mariaeduardacunha) - [@ocanema](https://github.com/ocanema) @@ -354,6 +295,7 @@ - [@MartinSchoeler](https://github.com/MartinSchoeler) - [@d-gubert](https://github.com/d-gubert) - [@djorkaeffalexandre](https://github.com/djorkaeffalexandre) +- [@dudizilla](https://github.com/dudizilla) - [@engelgabriel](https://github.com/engelgabriel) - [@gabriellsh](https://github.com/gabriellsh) - [@geekgonecrazy](https://github.com/geekgonecrazy) diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index 9d6ef1c68cf7..61d70c69f2e7 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.3.0-rc.4" + "version": "3.3.0" } diff --git a/package-lock.json b/package-lock.json index 6a8f636c5b78..22bdfd1cca4d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "Rocket.Chat", - "version": "3.3.0-rc.4", + "version": "3.3.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index bcf0c86b5eb0..42c5580c2739 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Rocket.Chat", "description": "The Ultimate Open Source WebChat Platform", - "version": "3.3.0-rc.4", + "version": "3.3.0", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From 3e31d9ec9b8b278f44b8eefab44a5a57d7616ae7 Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Wed, 27 May 2020 23:09:12 -0300 Subject: [PATCH 19/30] Bump version to 3.4.0-develop --- .docker/Dockerfile.rhel | 2 +- .snapcraft/resources/prepareRocketChat | 2 +- .snapcraft/snap/snapcraft.yaml | 2 +- app/utils/rocketchat.info | 2 +- package-lock.json | 2 +- package.json | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index f9056ace94a6..7cf6423267ef 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.3.0 +ENV RC_VERSION 3.4.0-develop MAINTAINER buildmaster@rocket.chat diff --git a/.snapcraft/resources/prepareRocketChat b/.snapcraft/resources/prepareRocketChat index 3e66b3f64ce1..bb722af09279 100755 --- a/.snapcraft/resources/prepareRocketChat +++ b/.snapcraft/resources/prepareRocketChat @@ -1,6 +1,6 @@ #!/bin/bash -curl -SLf "https://releases.rocket.chat/3.3.0/download/" -o rocket.chat.tgz +curl -SLf "https://releases.rocket.chat/3.4.0-develop/download/" -o rocket.chat.tgz tar xf rocket.chat.tgz --strip 1 diff --git a/.snapcraft/snap/snapcraft.yaml b/.snapcraft/snap/snapcraft.yaml index 56a25a036453..3381a097a08a 100644 --- a/.snapcraft/snap/snapcraft.yaml +++ b/.snapcraft/snap/snapcraft.yaml @@ -7,7 +7,7 @@ # 5. `snapcraft snap` name: rocketchat-server -version: 3.3.0 +version: 3.4.0-develop summary: Rocket.Chat server description: Have your own Slack like online chat, built with Meteor. https://rocket.chat/ confinement: strict diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index 61d70c69f2e7..d617200a664a 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.3.0" + "version": "3.4.0-develop" } diff --git a/package-lock.json b/package-lock.json index 22bdfd1cca4d..73e3d7aa28ed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "Rocket.Chat", - "version": "3.3.0", + "version": "3.4.0-develop", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 42c5580c2739..5d35512f0fd7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Rocket.Chat", "description": "The Ultimate Open Source WebChat Platform", - "version": "3.3.0", + "version": "3.4.0-develop", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From d8b4e02ec09b6994cdd88c22b52cc91665f3a610 Mon Sep 17 00:00:00 2001 From: Arcuri Davide Date: Sat, 30 May 2020 18:43:09 +0200 Subject: [PATCH 20/30] Fixes some italian word (#14008) --- packages/rocketchat-i18n/i18n/it.i18n.json | 28 +++++++++++----------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/packages/rocketchat-i18n/i18n/it.i18n.json b/packages/rocketchat-i18n/i18n/it.i18n.json index 7c96af8a2699..b09828d028d4 100644 --- a/packages/rocketchat-i18n/i18n/it.i18n.json +++ b/packages/rocketchat-i18n/i18n/it.i18n.json @@ -24,9 +24,9 @@ "Accessing_permissions": "Permessi di Accesso", "Account_SID": "Account SID", "Accounts": "Account", - "Accounts_Admin_Email_Approval_Needed_Default": "

L'utente [nome] ([email])Γ¨ stato registrato.

Andare in \"Amministrazione -> Utenti\" per attivarlo o eliminarlo.

", + "Accounts_Admin_Email_Approval_Needed_Default": "

L'utente [nome] ([email])Γ¨ stato registrato.

Andare in \"Amministrazione -> Utenti\" per attivarlo o cancellarlo.

", "Accounts_Admin_Email_Approval_Needed_Subject_Default": "Un nuovo utente si Γ¨ registrato ed Γ¨ necessario approvarlo", - "Accounts_Admin_Email_Approval_Needed_With_Reason_Default": "

L'utente [name] ([email])Γ¨ stato registrato.

Motivo: [reason]

Andare a \"Amministrazione -> Utenti\" per attivarlo o eliminarlo.

", + "Accounts_Admin_Email_Approval_Needed_With_Reason_Default": "

L'utente [name] ([email])Γ¨ stato registrato.

Motivo: [reason]

Andare a \"Amministrazione -> Utenti\" per attivarlo o cancellarlo.

", "Accounts_AllowAnonymousRead": "Consenti lettura anonima", "Accounts_AllowAnonymousWrite": "Consenti scrittura anonima", "Accounts_AllowDeleteOwnAccount": "Consenti agli utenti di cancellare il proprio account", @@ -890,8 +890,8 @@ "Delete_message": "Cancella messaggio", "Delete_my_account": "Cancella il mio account", "Delete_Room_Warning": "Cancellando un canale rimuoverà tutti i messaggi postati all'interno del canale. Questa azione non può essere annullata.", - "Delete_User_Warning": "Cancellando un utente verranno eliminati anche tutti i suoi messaggi. Questa operazione non può essere annullata.", - "Delete_User_Warning_Delete": "Cancellando un utente verranno eliminati anche tutti i suoi messaggi. Questa operazione non può essere annullata.", + "Delete_User_Warning": "Cancellando un utente verranno cancellati anche tutti i suoi messaggi. Questa operazione non può essere annullata.", + "Delete_User_Warning_Delete": "Cancellando un utente verranno cancellati anche tutti i suoi messaggi. Questa operazione non può essere annullata.", "Delete_User_Warning_Keep": "L'utente verrà eliminato, ma i suoi messaggi rimarranno visibili. Questo non può essere annullato.", "Delete_User_Warning_Unlink": "L'eliminazione di un utente rimuoverà il nome utente da tutti i loro messaggi. Questo non può essere annullato.", "Deleted": "Cancellato!", @@ -1954,7 +1954,7 @@ "Online": "Online", "online": "in linea", "Only_authorized_users_can_write_new_messages": "Solo gli utenti autorizzati possono scrivere nuovi messaggi", - "Only_from_users": "Elimina solo i contenuti da questi utenti (lascia vuoto per potare il contenuto di tutti)", + "Only_from_users": "Elimina solo i contenuti da questi utenti (lascia vuoto per cancellare il contenuto di tutti)", "Only_On_Desktop": "Modalità Desktop (invia solo con invio su desktop)", "Only_you_can_see_this_message": "Solo tu puoi vedere questo messaggio", "Oops!": "Spiacenti", @@ -2063,18 +2063,18 @@ "Profile_details": "Dettagli del profilo", "Profile_picture": "Immagine del profilo", "Profile_saved_successfully": "Profilo salvato con successo", - "Prune": "Fesso", - "Prune_finished": "Prugna finita", - "Prune_Messages": "Prune Messaggi", - "Prune_Modal": "Sei sicuro di voler potare questi messaggi? I messaggi potati non possono essere recuperati.", + "Prune": "Cancella", + "Prune_finished": "Cancellazione finita", + "Prune_Messages": "Cancella Messaggi", + "Prune_Modal": "Sei sicuro di voler eliminare questi messaggi? I messaggi eliminati non possono essere recuperati.", "Prune_Warning_all": "Questo cancellerà tutto %s in %s!", "Prune_Warning_before": "Questo cancellerà tutto %s in %s prima di %s.", "Prune_Warning_after": "Questo cancellerà tutto %s in %s dopo %s.", "Prune_Warning_between": "Questo cancellerà tutto %s in %s tra %se %s.", - "Pruning_messages": "Messaggi di potatura ...", + "Pruning_messages": "Messaggi di eliminazione ...", "Pruning_files": "File di eliminazione ...", - "messages_pruned": "messaggi potati", - "files_pruned": "file potati", + "messages_pruned": "messaggi cancellati", + "files_pruned": "file cancellati", "Public": "Pubblico", "Public_Channel": "Canale pubblico", "Public_Community": "Comunità pubblica", @@ -2848,7 +2848,7 @@ "Yes_hide_it": "Sì, nascondilo!", "Yes_leave_it": "Sì, lascia!", "Yes_mute_user": "Sì, silenzia l'utente!", - "Yes_prune_them": "Sì, li pota!", + "Yes_prune_them": "Sì, cancella!", "Yes_remove_user": "Sì, rimuovi l'utente!", "Yes_unarchive_it": "Si, togli dall'archivio!", "yesterday": "ieri", @@ -2881,7 +2881,7 @@ "You_wont_receive_email_notifications_because_you_have_not_verified_your_email": "Non riceverai notifiche via email, perché non hai verificato l'indirizzo.", "Your_email_has_been_queued_for_sending": "La tua email è stata messa in coda per l'invio", "Your_entry_has_been_deleted": "La tua immissione è stata cancellata.", - "Your_file_has_been_deleted": "Il file è stato eliminato.", + "Your_file_has_been_deleted": "Il file è stato cancellato.", "Your_mail_was_sent_to_s": "La tua mail è stata inviata a %s", "your_message": "il tuo messaggio", "your_message_optional": "il tuo messaggio (opzionale)", From 673795673d09fdf18753281ec6514c1791872c5c Mon Sep 17 00:00:00 2001 From: Anton Kazarinov Date: Sun, 31 May 2020 01:34:17 +0500 Subject: [PATCH 21/30] [FIX] Disabling `Json Web Tokens protection to file uploads` disables the File Upload protection entirely (#16262) --- app/file-upload/server/lib/FileUpload.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/file-upload/server/lib/FileUpload.js b/app/file-upload/server/lib/FileUpload.js index e17ed2dbc939..adc94851aee4 100644 --- a/app/file-upload/server/lib/FileUpload.js +++ b/app/file-upload/server/lib/FileUpload.js @@ -307,7 +307,7 @@ export const FileUpload = { const isAuthorizedByCookies = rc_uid && rc_token && Users.findOneByIdAndLoginToken(rc_uid, rc_token); const isAuthorizedByHeaders = headers['x-user-id'] && headers['x-auth-token'] && Users.findOneByIdAndLoginToken(headers['x-user-id'], headers['x-auth-token']); const isAuthorizedByRoom = rc_room_type && roomTypes.getConfig(rc_room_type).canAccessUploadedFile({ rc_uid, rc_rid, rc_token }); - const isAuthorizedByJWT = !settings.get('FileUpload_Enable_json_web_token_for_files') || (token && isValidJWT(token, settings.get('FileUpload_json_web_token_secret_for_files'))); + const isAuthorizedByJWT = settings.get('FileUpload_Enable_json_web_token_for_files') && token && isValidJWT(token, settings.get('FileUpload_json_web_token_secret_for_files')); return isAuthorizedByCookies || isAuthorizedByHeaders || isAuthorizedByRoom || isAuthorizedByJWT; }, addExtensionTo(file) { From b520907ec1c3e2065b635a9d0859dced86aedf1a Mon Sep 17 00:00:00 2001 From: Aviral Gangwar Date: Sun, 31 May 2020 02:04:50 +0530 Subject: [PATCH 22/30] [FIX] Set `x-content-type-options: nosniff` header (#16232) --- app/cors/server/cors.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/cors/server/cors.js b/app/cors/server/cors.js index 9c6d8eb31803..1022c1edcb87 100644 --- a/app/cors/server/cors.js +++ b/app/cors/server/cors.js @@ -54,6 +54,9 @@ WebApp.rawConnectHandlers.use(function(req, res, next) { // XSS Protection for old browsers (IE) res.setHeader('X-XSS-Protection', '1'); + // X-Content-Type-Options header to prevent MIME Sniffing + res.setHeader('X-Content-Type-Options', 'nosniff'); + if (settings.get('Iframe_Restrict_Access')) { res.setHeader('X-Frame-Options', settings.get('Iframe_X_Frame_Options')); } From 05290be00b24dc831912ddc7dff3421894e873d1 Mon Sep 17 00:00:00 2001 From: Ashwani Yadav Date: Sun, 31 May 2020 02:05:15 +0530 Subject: [PATCH 23/30] [NEW] Highlight matching words in message search results (#16166) --- app/search/client/provider/result.js | 2 ++ app/ui-message/client/message.js | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/app/search/client/provider/result.js b/app/search/client/provider/result.js index 3ab80e13943b..6809f2915874 100644 --- a/app/search/client/provider/result.js +++ b/app/search/client/provider/result.js @@ -100,6 +100,8 @@ Template.DefaultSearchResultTemplate.helpers({ return Template.instance().hasMore.get(); }, messageParse(msg) { + const text = Template.instance().data.text.get(); + msg.searchedText = text; return { customClass: 'search', actionContext: 'search', ...msg, groupable: false }; }, messageContext, diff --git a/app/ui-message/client/message.js b/app/ui-message/client/message.js index a237f26b2ba2..3f15f7b4c397 100644 --- a/app/ui-message/client/message.js +++ b/app/ui-message/client/message.js @@ -19,6 +19,7 @@ import './messageThread.html'; import { AutoTranslate } from '../../autotranslate/client'; const renderBody = (msg, settings) => { + const searchedText = msg.searchedText ? msg.searchedText : ''; const isSystemMessage = MessageTypes.isSystemMessage(msg); const messageType = MessageTypes.getType(msg) || {}; @@ -40,6 +41,11 @@ const renderBody = (msg, settings) => { if (isSystemMessage) { msg.html = Markdown.parse(msg.html); } + + if (searchedText) { + msg = msg.replace(new RegExp(searchedText, 'gi'), (str) => `${ str }`); + } + return msg; }; From ae90799288bfeee966a25605429ed90656ba0029 Mon Sep 17 00:00:00 2001 From: pierre-lehnen-rc <55164754+pierre-lehnen-rc@users.noreply.github.com> Date: Sat, 30 May 2020 17:36:48 -0300 Subject: [PATCH 24/30] [NEW] Skip Export Operations that haven't been updated in over a day (#16135) --- app/models/server/models/ExportOperations.js | 8 ++++---- app/user-data-download/server/cronProcessDownloads.js | 10 ++++++++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/app/models/server/models/ExportOperations.js b/app/models/server/models/ExportOperations.js index bb0f968b17c1..fb70d38925ca 100644 --- a/app/models/server/models/ExportOperations.js +++ b/app/models/server/models/ExportOperations.js @@ -31,7 +31,7 @@ export class ExportOperations extends Base { const query = { userId, status: { - $nin: ['completed'], + $nin: ['completed', 'skipped'], }, }; @@ -40,7 +40,7 @@ export class ExportOperations extends Base { findAllPending(options) { const query = { - status: { $nin: ['completed'] }, + status: { $nin: ['completed', 'skipped'] }, }; return this.find(query, options); @@ -48,7 +48,7 @@ export class ExportOperations extends Base { findOnePending(options) { const query = { - status: { $nin: ['completed'] }, + status: { $nin: ['completed', 'skipped'] }, }; return this.findOne(query, options); @@ -56,7 +56,7 @@ export class ExportOperations extends Base { findAllPendingBeforeMyRequest(requestDay, options) { const query = { - status: { $nin: ['completed'] }, + status: { $nin: ['completed', 'skipped'] }, createdAt: { $lt: requestDay }, }; diff --git a/app/user-data-download/server/cronProcessDownloads.js b/app/user-data-download/server/cronProcessDownloads.js index 02bdcc39707f..3b1d8c785c7b 100644 --- a/app/user-data-download/server/cronProcessDownloads.js +++ b/app/user-data-download/server/cronProcessDownloads.js @@ -6,6 +6,7 @@ import { Meteor } from 'meteor/meteor'; import { TAPi18n } from 'meteor/rocketchat:tap-i18n'; import { SyncedCron } from 'meteor/littledata:synced-cron'; import archiver from 'archiver'; +import moment from 'moment'; import { settings } from '../../settings'; import { Subscriptions, Rooms, Users, Uploads, Messages, UserDataFiles, ExportOperations, Avatars } from '../../models'; @@ -564,6 +565,15 @@ async function processDataDownloads() { return; } + if (operation.status !== 'pending') { + // If the operation has started but was not updated in over a day, then skip it + if (operation._updatedAt && moment().diff(moment(operation._updatedAt), 'days') > 1) { + operation.status = 'skipped'; + await ExportOperations.updateOperation(operation); + return processDataDownloads(); + } + } + await continueExportOperation(operation); await ExportOperations.updateOperation(operation); From 53c4ecf610ca3ce543b5eeab3cbce488f4e9f1fe Mon Sep 17 00:00:00 2001 From: justinr1234 Date: Sat, 30 May 2020 15:38:08 -0500 Subject: [PATCH 25/30] [IMPROVE] Make the implementation of custom code easier by having placeholders for a custom folder (#15106) --- app/callbacks/lib/callbacks.js | 5 ++-- app/custom/client/index.js | 0 app/custom/server/index.js | 0 .../hooks/propagateDiscussionMetadata.js | 28 +++++++++++++------ app/ui-utils/client/lib/RoomManager.js | 4 +-- app/ui-utils/client/lib/openRoom.js | 2 +- client/importPackages.js | 1 + server/importPackages.js | 1 + 8 files changed, 27 insertions(+), 14 deletions(-) create mode 100644 app/custom/client/index.js create mode 100644 app/custom/server/index.js diff --git a/app/callbacks/lib/callbacks.js b/app/callbacks/lib/callbacks.js index d602e0384203..93a7e8d04d58 100644 --- a/app/callbacks/lib/callbacks.js +++ b/app/callbacks/lib/callbacks.js @@ -59,8 +59,8 @@ const combinedCallbacks = new Map(); /* * Callback priorities +* @enum {CallbackPriority} */ - callbacks.priority = { HIGH: -1000, MEDIUM: 0, @@ -73,8 +73,9 @@ const getHooks = (hookName) => callbacks[hookName] || []; * Add a callback function to a hook * @param {String} hook - The name of the hook * @param {Function} callback - The callback function +* @param {CallbackPriority} priority - The callback run priority (order) +* @param {String} id - Human friendly name for this callback */ - callbacks.add = function( hook, callback, diff --git a/app/custom/client/index.js b/app/custom/client/index.js new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/app/custom/server/index.js b/app/custom/server/index.js new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/app/discussion/server/hooks/propagateDiscussionMetadata.js b/app/discussion/server/hooks/propagateDiscussionMetadata.js index 902965ca23e4..271b19221160 100644 --- a/app/discussion/server/hooks/propagateDiscussionMetadata.js +++ b/app/discussion/server/hooks/propagateDiscussionMetadata.js @@ -23,15 +23,25 @@ callbacks.add('afterDeleteMessage', function(message, { _id, prid } = {}) { return message; }, callbacks.priority.LOW, 'PropagateDiscussionMetadata'); -callbacks.add('afterDeleteRoom', (rid) => Rooms.find({ prid: rid }, { fields: { _id: 1 } }).forEach(({ _id }) => deleteRoom(_id)), 'DeleteDiscussionChain'); +callbacks.add('afterDeleteRoom', (rid) => { + Rooms.find({ prid: rid }, { fields: { _id: 1 } }).forEach(({ _id }) => deleteRoom(_id)); + return rid; +}, callbacks.priority.LOW, 'DeleteDiscussionChain'); // TODO discussions define new fields -callbacks.add('afterRoomNameChange', ({ rid, name, oldName }) => Rooms.update({ prid: rid, ...oldName && { topic: oldName } }, { $set: { topic: name } }, { multi: true }), 'updateTopicDiscussion'); +callbacks.add('afterRoomNameChange', (roomConfig) => { + const { rid, name, oldName } = roomConfig; + Rooms.update({ prid: rid, ...oldName && { topic: oldName } }, { $set: { topic: name } }, { multi: true }); + return roomConfig; +}, callbacks.priority.LOW, 'updateTopicDiscussion'); -callbacks.add('afterDeleteRoom', (drid) => Messages.update({ drid }, { - $unset: { - dcount: 1, - dlm: 1, - drid: 1, - }, -}), 'CleanDiscussionMessage'); +callbacks.add('afterDeleteRoom', (drid) => { + Messages.update({ drid }, { + $unset: { + dcount: 1, + dlm: 1, + drid: 1, + }, + }); + return drid; +}, callbacks.priority.LOW, 'CleanDiscussionMessage'); diff --git a/app/ui-utils/client/lib/RoomManager.js b/app/ui-utils/client/lib/RoomManager.js index 84eff4b04a38..43a478adee19 100644 --- a/app/ui-utils/client/lib/RoomManager.js +++ b/app/ui-utils/client/lib/RoomManager.js @@ -114,7 +114,7 @@ export const RoomManager = new function() { return Object.keys(openedRooms).map((typeName) => openedRooms[typeName]).find((openedRoom) => openedRoom.rid === rid); } - getDomOfRoom(typeName, rid) { + getDomOfRoom(typeName, rid, templateName) { const room = openedRooms[typeName]; if (room == null) { return; @@ -125,7 +125,7 @@ export const RoomManager = new function() { room.dom.classList.add('room-container'); const contentAsFunc = (content) => () => content; - room.template = Blaze._TemplateWith({ _id: rid }, contentAsFunc(Template.room)); + room.template = Blaze._TemplateWith({ _id: rid }, contentAsFunc(Template[templateName || 'room'])); Blaze.render(room.template, room.dom); // , nextNode, parentView } diff --git a/app/ui-utils/client/lib/openRoom.js b/app/ui-utils/client/lib/openRoom.js index 54252661781d..71b35a397d0c 100644 --- a/app/ui-utils/client/lib/openRoom.js +++ b/app/ui-utils/client/lib/openRoom.js @@ -84,7 +84,7 @@ export const openRoom = async function(type, name) { return FlowRouter.go('direct', { rid: room._id }, FlowRouter.current().queryParams); } - const roomDom = RoomManager.getDomOfRoom(type + name, room._id); + const roomDom = RoomManager.getDomOfRoom(type + name, room._id, roomTypes.getConfig(type).mainTemplate); const mainNode = replaceCenterDomBy(roomDom); if (mainNode) { diff --git a/client/importPackages.js b/client/importPackages.js index 7d95bc6f83e7..115a1d35665f 100644 --- a/client/importPackages.js +++ b/client/importPackages.js @@ -107,3 +107,4 @@ import '../app/reactions/client'; import '../app/livechat/client'; import '../app/meteor-autocomplete/client'; import '../app/theme/client'; +import '../app/custom/client'; diff --git a/server/importPackages.js b/server/importPackages.js index aa56233f2bf5..bf5a117a6dd3 100644 --- a/server/importPackages.js +++ b/server/importPackages.js @@ -112,3 +112,4 @@ import '../app/ui-utils'; import '../app/action-links/server'; import '../app/reactions/server'; import '../app/livechat/server'; +import '../app/custom/server'; From 16d5da214f22d2a0d3a4735dfc756a10534b8c34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Greg=20Rauh=C3=B6ft?= Date: Sat, 30 May 2020 22:38:35 +0200 Subject: [PATCH 26/30] [NEW][API] Endpoint `settings.addCustomOAuth` to create Custom OAuth services (#14912) --- app/api/server/v1/settings.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/app/api/server/v1/settings.js b/app/api/server/v1/settings.js index 42db479903fe..284fea491be7 100644 --- a/app/api/server/v1/settings.js +++ b/app/api/server/v1/settings.js @@ -64,6 +64,21 @@ API.v1.addRoute('settings.oauth', { authRequired: false }, { }, }); +API.v1.addRoute('settings.addCustomOAuth', { authRequired: true }, { + post() { + if (!this.requestParams().name || !this.requestParams().name.trim()) { + throw new Meteor.Error('error-name-param-not-provided', 'The parameter "name" is required'); + } + + Meteor.runAsUser(this.userId, () => { + Meteor.call('addOAuthService', this.requestParams().name, this.userId); + }); + + + return API.v1.success(); + }, +}); + API.v1.addRoute('settings', { authRequired: true }, { get() { const { offset, count } = this.getPaginationItems(); From e79b3b492fd51f1043774907bd36a2e4b4b8e45f Mon Sep 17 00:00:00 2001 From: Kautilya Tripathi Date: Sat, 30 May 2020 20:40:05 +0000 Subject: [PATCH 27/30] [FIX] Markdown links not accepting URLs with parentheses (#13605) --- app/markdown/lib/parser/original/markdown.js | 4 ++-- app/markdown/tests/client.tests.js | 8 +++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/markdown/lib/parser/original/markdown.js b/app/markdown/lib/parser/original/markdown.js index 7f047bd1204a..9b17a9e09899 100644 --- a/app/markdown/lib/parser/original/markdown.js +++ b/app/markdown/lib/parser/original/markdown.js @@ -76,7 +76,7 @@ const parseNotEscaped = function(msg, message) { msg = msg.replace(/<\/blockquote>\n
{ + msg = msg.replace(new RegExp(`!\\[([^\\]]+)\\]\\(((?:${ schemes }):\\/\\/[^\\s]+)\\)`, 'gm'), (match, title, url) => { if (!validateUrl(url)) { return match; } @@ -85,7 +85,7 @@ const parseNotEscaped = function(msg, message) { }); // Support [Text](http://link) - msg = msg.replace(new RegExp(`\\[([^\\]]+)\\]\\(((?:${ schemes }):\\/\\/[^\\)]+)\\)`, 'gm'), (match, title, url) => { + msg = msg.replace(new RegExp(`\\[([^\\]]+)\\]\\(((?:${ schemes }):\\/\\/[^\\s]+)\\)`, 'gm'), (match, title, url) => { if (!validateUrl(url)) { return match; } diff --git a/app/markdown/tests/client.tests.js b/app/markdown/tests/client.tests.js index 1738c61e5651..c665ad7cc30a 100644 --- a/app/markdown/tests/client.tests.js +++ b/app/markdown/tests/client.tests.js @@ -188,7 +188,7 @@ const link = { '[Text](http://invalid link)': '[Text](http://invalid link)', '[Text](http://link)': linkWrapped('http://link', 'Text'), '[Open Site For Rocket.Chat](https://open.rocket.chat/)': linkWrapped('https://open.rocket.chat/', 'Open Site For Rocket.Chat'), - '[ Open Site For Rocket.Chat](https://open.rocket.chat/ )': linkWrapped('https://open.rocket.chat/ ', ' Open Site For Rocket.Chat'), + '[ Open Site For Rocket.Chat ](https://open.rocket.chat/)': linkWrapped('https://open.rocket.chat/', ' Open Site For Rocket.Chat '), '[Rocket.Chat Site](https://rocket.chat/)': linkWrapped('https://rocket.chat/', 'Rocket.Chat Site'), '[Testing Entry on Rocket.Chat Docs Site](https://rocket.chat/docs/developer-guides/testing/#testing)': linkWrapped('https://rocket.chat/docs/developer-guides/testing/#testing', 'Testing Entry on Rocket.Chat Docs Site'), '[](http://linkText)': '[](http://linkText)', @@ -201,8 +201,14 @@ const link = { '[Open Site For Rocket.Chat](open.rocket.chat/)': '[Open Site For Rocket.Chat](open.rocket.chat/)', '[Testing Entry on Rocket.Chat Docs Site](htts://rocket.chat/docs/developer-guides/testing/#testing)': '[Testing Entry on Rocket.Chat Docs Site](htts://rocket.chat/docs/developer-guides/testing/#testing)', '[Text](http://link?param1=1¶m2=2)': linkWrapped('http://link?param1=1¶m2=2', 'Text'), + '[Testing Double parentheses](https://en.wikipedia.org/wiki/Disambiguation_(disambiguation))': linkWrapped('https://en.wikipedia.org/wiki/Disambiguation_(disambiguation)', 'Testing Double parentheses'), + '[Testing data after Double parentheses](https://en.wikipedia.org/wiki/Disambiguation_(disambiguation)/blabla/bla)': linkWrapped('https://en.wikipedia.org/wiki/Disambiguation_(disambiguation)/blabla/bla', 'Testing data after Double parentheses'), }; +Object.entries(link).forEach(([key, value]) => { + link[`before (test) ${ key } after (test)`] = `before (test) ${ value } after (test)`; +}); + const inlinecode = { '`code`': inlinecodeWrapper('code'), '`code` begin': `${ inlinecodeWrapper('code') } begin`, From ae95908a2bdcd30a8131a915b20a11e6c3edd3b9 Mon Sep 17 00:00:00 2001 From: Aditya Bhardwaj Date: Sun, 31 May 2020 02:11:19 +0530 Subject: [PATCH 28/30] [FIX] Spotify embed link opens in same tab (#13637) --- app/spotify/lib/client/oembedSpotifyWidget.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/spotify/lib/client/oembedSpotifyWidget.html b/app/spotify/lib/client/oembedSpotifyWidget.html index 46fa62d75f52..9da698d778f2 100644 --- a/app/spotify/lib/client/oembedSpotifyWidget.html +++ b/app/spotify/lib/client/oembedSpotifyWidget.html @@ -3,9 +3,9 @@
Spotify
{{#if match meta.ogAudio "spotify:artist:\\S+"}} - {{{meta.ogTitle}}} + {{{meta.ogTitle}}} {{else}} - {{{replace meta.ogDescription ", an? (?:song|album) by (.+?) on Spotify" " - $1" regex=true}}} + {{{replace meta.ogDescription ", an? (?:song|album) by (.+?) on Spotify" " - $1" regex=true}}} {{/if}} {{> collapseArrow collapsedMedia=collapsedMediaVar}}
{{#unless collapsed}} From e4aebd21df841bab9ba1a86fad732a9b03a958f7 Mon Sep 17 00:00:00 2001 From: ChrissW-R1 Date: Sat, 30 May 2020 22:41:37 +0200 Subject: [PATCH 29/30] [NEW] Accept variable `#{userdn}` on LDAP group filter (#16273) --- app/ldap/server/sync.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/ldap/server/sync.js b/app/ldap/server/sync.js index 9c3249b9172c..5e290d9bb8e4 100644 --- a/app/ldap/server/sync.js +++ b/app/ldap/server/sync.js @@ -28,7 +28,7 @@ export function isUserInLDAPGroup(ldap, ldapUser, user, ldapGroup) { return false; } const searchOptions = { - filter: syncUserRolesFilter.replace(/#{username}/g, user.username).replace(/#{groupName}/g, ldapGroup), + filter: syncUserRolesFilter.replace(/#{username}/g, user.username).replace(/#{groupName}/g, ldapGroup).replace(/#{userdn}/g, ldapUser.dn), scope: 'sub', }; From 81393228862d99344b95cca787c8afc42ea93c26 Mon Sep 17 00:00:00 2001 From: Ewout ter Hoeven Date: Sat, 30 May 2020 22:47:05 +0200 Subject: [PATCH 30/30] Readme: Update Raspberry Pi 2 to Pi 4 (#17031) --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index b2bda6396d04..bba684655ecb 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ * [Sloppy.io](#sloppyio) * [Docker](#docker) * [Ansible](#ansible) - * [Raspberry Pi 2](#raspberry-pi-2) + * [Raspberry Pi 4](#raspberry-pi-4) * [Koozali SME](#koozali-sme) * [Ubuntu VPS](#ubuntu-vps) * [WeDeploy](#wedeploy) @@ -181,10 +181,10 @@ Automated production-grade deployment in minutes, for RHEL / CentOS 7 or Ubuntu [![Ansible deployment](https://raw.githubusercontent.com/Sing-Li/bbug/master/images/ansible.png)](https://rocket.chat/docs/installation/automation-tools/ansible/) -## Raspberry Pi 2 -Run Rocket.Chat on this world famous $30 quad-core server. +## Raspberry Pi 4 +Run Rocket.Chat on this world famous $35 quad-core server. -[![Raspberry Pi 2](https://raw.githubusercontent.com/Sing-Li/bbug/master/images/pitiny.png)](https://github.com/RocketChat/Rocket.Chat.RaspberryPi) +[![Raspberry Pi 4](https://raw.githubusercontent.com/Sing-Li/bbug/master/images/pitiny.png)](https://github.com/RocketChat/Rocket.Chat.RaspberryPi) ## Koozali SME