Bump version to 4.1.2

pull/23671/head
Guilherme Gazzo 4 years ago
parent 842a0162af
commit ba69feecec
  1. 2
      .docker/Dockerfile.rhel
  2. 67
      .github/history.json
  3. 2
      .snapcraft/resources/prepareRocketChat
  4. 2
      .snapcraft/snap/snapcraft.yaml
  5. 175
      HISTORY.md
  6. 2
      app/utils/rocketchat.info
  7. 2
      package-lock.json
  8. 2
      package.json

@ -1,6 +1,6 @@
FROM registry.access.redhat.com/ubi8/nodejs-12 FROM registry.access.redhat.com/ubi8/nodejs-12
ENV RC_VERSION 4.1.1 ENV RC_VERSION 4.1.2
MAINTAINER buildmaster@rocket.chat MAINTAINER buildmaster@rocket.chat

@ -67075,6 +67075,73 @@
] ]
} }
] ]
},
"3.18.3": {
"node_version": "12.22.1",
"npm_version": "6.14.1",
"apps_engine_version": "1.27.1",
"mongo_versions": [
"3.4",
"3.6",
"4.0",
"4.2"
],
"pull_requests": []
},
"4.0.6": {
"node_version": "12.22.1",
"npm_version": "6.14.1",
"apps_engine_version": "1.28.0",
"mongo_versions": [
"3.6",
"4.0",
"4.2",
"4.4",
"5.0"
],
"pull_requests": []
},
"4.1.2": {
"node_version": "12.22.1",
"npm_version": "6.14.1",
"apps_engine_version": "1.28.1",
"mongo_versions": [
"3.6",
"4.0",
"4.2",
"4.4",
"5.0"
],
"pull_requests": [
{
"pr": "23487",
"title": "[FIX] Notifications are not being filtered",
"userLogin": "matheusbsilva137",
"description": "- Add a migration to update the `Accounts_Default_User_Preferences_pushNotifications` setting's value to the `Accounts_Default_User_Preferences_mobileNotifications` setting's value;\r\n - Remove the `Accounts_Default_User_Preferences_mobileNotifications` setting (replaced by `Accounts_Default_User_Preferences_pushNotifications`);\r\n - Rename 'mobileNotifications' user's preference to 'pushNotifications'.",
"milestone": "4.1.2",
"contributors": [
"matheusbsilva137"
]
},
{
"pr": "23661",
"title": "[FIX] Performance issues when running Omnichannel job queue dispatcher",
"userLogin": "renatobecker",
"milestone": "4.1.2",
"contributors": [
"renatobecker"
]
},
{
"pr": "23587",
"title": "[FIX] Omnichannel status being changed on page refresh",
"userLogin": "KevLehman",
"milestone": "4.1.2",
"contributors": [
"KevLehman"
]
}
]
} }
} }
} }

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
curl -SLf "https://releases.rocket.chat/4.1.1/download/" -o rocket.chat.tgz curl -SLf "https://releases.rocket.chat/4.1.2/download/" -o rocket.chat.tgz
tar xf rocket.chat.tgz --strip 1 tar xf rocket.chat.tgz --strip 1

@ -7,7 +7,7 @@
# 5. `snapcraft snap` # 5. `snapcraft snap`
name: rocketchat-server name: rocketchat-server
version: 4.1.1 version: 4.1.2
summary: Rocket.Chat server summary: Rocket.Chat server
description: Have your own Slack like online chat, built with Meteor. https://rocket.chat/ description: Have your own Slack like online chat, built with Meteor. https://rocket.chat/
confinement: strict confinement: strict

@ -1,6 +1,34 @@
# 4.1.2
`2021-11-08 · 3 🐛 · 3 👩💻👨💻`
### Engine versions
- Node: `12.22.1`
- NPM: `6.14.1`
- MongoDB: `3.6, 4.0, 4.2, 4.4, 5.0`
- Apps-Engine: `1.28.1`
### 🐛 Bug fixes
- Notifications are not being filtered ([#23487](https://github.com/RocketChat/Rocket.Chat/pull/23487))
- Add a migration to update the `Accounts_Default_User_Preferences_pushNotifications` setting's value to the `Accounts_Default_User_Preferences_mobileNotifications` setting's value;
- Remove the `Accounts_Default_User_Preferences_mobileNotifications` setting (replaced by `Accounts_Default_User_Preferences_pushNotifications`);
- Rename 'mobileNotifications' user's preference to 'pushNotifications'.
- Omnichannel status being changed on page refresh ([#23587](https://github.com/RocketChat/Rocket.Chat/pull/23587))
- Performance issues when running Omnichannel job queue dispatcher ([#23661](https://github.com/RocketChat/Rocket.Chat/pull/23661))
### 👩💻👨💻 Core Team 🤓
- [@KevLehman](https://github.com/KevLehman)
- [@matheusbsilva137](https://github.com/matheusbsilva137)
- [@renatobecker](https://github.com/renatobecker)
# 4.1.1 # 4.1.1
`2021-11-05 · 4 🐛 · 1 🔍 · 4 👩💻👨💻` `2021-11-05 · 4 🐛 · 3 👩💻👨💻`
### Engine versions ### Engine versions
- Node: `12.22.1` - Node: `12.22.1`
@ -21,7 +49,6 @@
- Security Hotfix (https://docs.rocket.chat/guides/security/security-updates) - Security Hotfix (https://docs.rocket.chat/guides/security/security-updates)
### 👩💻👨💻 Core Team 🤓 ### 👩💻👨💻 Core Team 🤓
- [@d-gubert](https://github.com/d-gubert) - [@d-gubert](https://github.com/d-gubert)
@ -74,7 +101,6 @@
- **APPS:** Communication problem when updating and uninstalling apps in cluster ([#23418](https://github.com/RocketChat/Rocket.Chat/pull/23418)) - **APPS:** Communication problem when updating and uninstalling apps in cluster ([#23418](https://github.com/RocketChat/Rocket.Chat/pull/23418))
- Make the hook responsible for receiving app update events inside a cluster fetch the app's package (zip file) in the correct place. - Make the hook responsible for receiving app update events inside a cluster fetch the app's package (zip file) in the correct place.
- Also shows a warning message on uninstalls inside a cluster. As there are many servers writing to the same place, some race conditions may occur. This prevents problems related to terminating the process in the middle due to errors being thrown and leaving the server in a faulty state. - Also shows a warning message on uninstalls inside a cluster. As there are many servers writing to the same place, some race conditions may occur. This prevents problems related to terminating the process in the middle due to errors being thrown and leaving the server in a faulty state.
- **ENTERPRISE:** Omnichannel agent is not leaving the room when a forwarded chat is queued ([#23404](https://github.com/RocketChat/Rocket.Chat/pull/23404)) - **ENTERPRISE:** Omnichannel agent is not leaving the room when a forwarded chat is queued ([#23404](https://github.com/RocketChat/Rocket.Chat/pull/23404))
@ -134,7 +160,6 @@
- SAML Users' roles being reset to default on login ([#23411](https://github.com/RocketChat/Rocket.Chat/pull/23411)) - SAML Users' roles being reset to default on login ([#23411](https://github.com/RocketChat/Rocket.Chat/pull/23411))
- Remove `roles` field update on `insertOrUpdateSAMLUser` function; - Remove `roles` field update on `insertOrUpdateSAMLUser` function;
- Add SAML `syncRoles` event; - Add SAML `syncRoles` event;
- Server crashing when Routing method is not available at start ([#23473](https://github.com/RocketChat/Rocket.Chat/pull/23473)) - Server crashing when Routing method is not available at start ([#23473](https://github.com/RocketChat/Rocket.Chat/pull/23473))
@ -340,7 +365,6 @@
- SAML Users' roles being reset to default on login ([#23411](https://github.com/RocketChat/Rocket.Chat/pull/23411)) - SAML Users' roles being reset to default on login ([#23411](https://github.com/RocketChat/Rocket.Chat/pull/23411))
- Remove `roles` field update on `insertOrUpdateSAMLUser` function; - Remove `roles` field update on `insertOrUpdateSAMLUser` function;
- Add SAML `syncRoles` event; - Add SAML `syncRoles` event;
<details> <details>
@ -373,7 +397,6 @@
- **APPS:** Communication problem when updating and uninstalling apps in cluster ([#23418](https://github.com/RocketChat/Rocket.Chat/pull/23418)) - **APPS:** Communication problem when updating and uninstalling apps in cluster ([#23418](https://github.com/RocketChat/Rocket.Chat/pull/23418))
- Make the hook responsible for receiving app update events inside a cluster fetch the app's package (zip file) in the correct place. - Make the hook responsible for receiving app update events inside a cluster fetch the app's package (zip file) in the correct place.
- Also shows a warning message on uninstalls inside a cluster. As there are many servers writing to the same place, some race conditions may occur. This prevents problems related to terminating the process in the middle due to errors being thrown and leaving the server in a faulty state. - Also shows a warning message on uninstalls inside a cluster. As there are many servers writing to the same place, some race conditions may occur. This prevents problems related to terminating the process in the middle due to errors being thrown and leaving the server in a faulty state.
- Server crashing when Routing method is not available at start ([#23473](https://github.com/RocketChat/Rocket.Chat/pull/23473)) - Server crashing when Routing method is not available at start ([#23473](https://github.com/RocketChat/Rocket.Chat/pull/23473))
@ -501,9 +524,7 @@
- **ENTERPRISE:** "Download CSV" button doesn't work in the Engagement Dashboard's Active Users section ([#23013](https://github.com/RocketChat/Rocket.Chat/pull/23013)) - **ENTERPRISE:** "Download CSV" button doesn't work in the Engagement Dashboard's Active Users section ([#23013](https://github.com/RocketChat/Rocket.Chat/pull/23013))
- Fix "Download CSV" button in the Engagement Dashboard's Active Users section; - Fix "Download CSV" button in the Engagement Dashboard's Active Users section;
- Add column headers to the CSV file downloaded from the Engagement Dashboard's Active Users section; - Add column headers to the CSV file downloaded from the Engagement Dashboard's Active Users section;
- Split the data in multiple CSV files. - Split the data in multiple CSV files.
- **ENTERPRISE:** CSV file downloaded in the Engagement Dashboard's New Users section contains undefined data ([#23014](https://github.com/RocketChat/Rocket.Chat/pull/23014)) - **ENTERPRISE:** CSV file downloaded in the Engagement Dashboard's New Users section contains undefined data ([#23014](https://github.com/RocketChat/Rocket.Chat/pull/23014))
@ -530,22 +551,15 @@
The following REST endpoints were removed: The following REST endpoints were removed:
- `/api/v1/emoji-custom` - `/api/v1/emoji-custom`
- `/api/v1/info` - `/api/v1/info`
- `/api/v1/permissions` - `/api/v1/permissions`
- `/api/v1/permissions.list` - `/api/v1/permissions.list`
The following Real time API Methods were removed: The following Real time API Methods were removed:
- `getFullUserData` - `getFullUserData`
- `getServerInfo` - `getServerInfo`
- `livechat:saveOfficeHours` - `livechat:saveOfficeHours`
- Remove Google Vision features ([#23160](https://github.com/RocketChat/Rocket.Chat/pull/23160)) - Remove Google Vision features ([#23160](https://github.com/RocketChat/Rocket.Chat/pull/23160))
@ -598,19 +612,16 @@
- Seats Cap about to be reached - Seats Cap about to be reached
- Seats Cap reached - Seats Cap reached
- Request more seats - Request more seats
- Warning Admins - Warning Admins
- System telling admins max seats are about to exceed - System telling admins max seats are about to exceed
- System telling admins max seats were exceed - System telling admins max seats were exceed
- Metric on Info Page - Metric on Info Page
- Request more seats - Request more seats
- Warning Members - Warning Members
- Invite link - Invite link
- Block creating new invite links - Block creating new invite links
- Block existing invite links (feedback on register process) - Block existing invite links (feedback on register process)
- Register to Workspaces - Register to Workspaces
- Emails - Emails
- System telling admins max seats are about to exceed - System telling admins max seats are about to exceed
- System telling admins max seats were exceed - System telling admins max seats were exceed
@ -720,20 +731,15 @@
- Sidebar not closing when clicking in Home or Directory on mobile view ([#23218](https://github.com/RocketChat/Rocket.Chat/pull/23218)) - Sidebar not closing when clicking in Home or Directory on mobile view ([#23218](https://github.com/RocketChat/Rocket.Chat/pull/23218))
### Additional fixed ### Additional fixed
- Merge Burger menu components into a single component - Merge Burger menu components into a single component
- Show a badge with no-read messages in the Burger Button: - Show a badge with no-read messages in the Burger Button:
![image](https://user-images.githubusercontent.com/27704687/133679378-20fea2c0-4ac1-4b4e-886e-45154cc6afea.png) ![image](https://user-images.githubusercontent.com/27704687/133679378-20fea2c0-4ac1-4b4e-886e-45154cc6afea.png)
- remove useSidebarClose hook - remove useSidebarClose hook
- Stop queue when Omnichannel is disabled or the routing method does not support it ([#23261](https://github.com/RocketChat/Rocket.Chat/pull/23261)) - Stop queue when Omnichannel is disabled or the routing method does not support it ([#23261](https://github.com/RocketChat/Rocket.Chat/pull/23261))
- Add missing key logs - Add missing key logs
- Stop queue (and logs) when livechat is disabled or when routing method does not support queue - Stop queue (and logs) when livechat is disabled or when routing method does not support queue
- Stop ignoring offline bot agents from delegation (previously, if a bot was offline, even with "Assign new conversations to bot agent" enabled, bot will be ignored and chat will be left in limbo (since bot was assigned, but offline). - Stop ignoring offline bot agents from delegation (previously, if a bot was offline, even with "Assign new conversations to bot agent" enabled, bot will be ignored and chat will be left in limbo (since bot was assigned, but offline).
- Toolbox click not working on Safari(iOS) ([#23244](https://github.com/RocketChat/Rocket.Chat/pull/23244)) - Toolbox click not working on Safari(iOS) ([#23244](https://github.com/RocketChat/Rocket.Chat/pull/23244))
@ -1028,9 +1034,7 @@
- **ENTERPRISE:** Maximum waiting time for chats in Omnichannel queue ([#22955](https://github.com/RocketChat/Rocket.Chat/pull/22955)) - **ENTERPRISE:** Maximum waiting time for chats in Omnichannel queue ([#22955](https://github.com/RocketChat/Rocket.Chat/pull/22955))
- Add new settings to support closing chats that have been too long on waiting queue - Add new settings to support closing chats that have been too long on waiting queue
- Moved old settings to new "Queue Management" section - Moved old settings to new "Queue Management" section
- Fix issue when closing a livechat room that caused client to not to know if room was open or not - Fix issue when closing a livechat room that caused client to not to know if room was open or not
- Banner for the updates regarding authentication services ([#23055](https://github.com/RocketChat/Rocket.Chat/pull/23055) by [@g-thome](https://github.com/g-thome)) - Banner for the updates regarding authentication services ([#23055](https://github.com/RocketChat/Rocket.Chat/pull/23055) by [@g-thome](https://github.com/g-thome))
@ -1119,9 +1123,7 @@
- Return transcript/dashboards based on timezone settings ([#22850](https://github.com/RocketChat/Rocket.Chat/pull/22850)) - Return transcript/dashboards based on timezone settings ([#22850](https://github.com/RocketChat/Rocket.Chat/pull/22850))
- Added new setting to manage timezones - Added new setting to manage timezones
- Applied new setting to omnichannel dashboards (realtime, analytics) [NOTE: Other dashboards aren't using this setting actually) - Applied new setting to omnichannel dashboards (realtime, analytics) [NOTE: Other dashboards aren't using this setting actually)
- Change getAnalyticsBetweenDate query to filter out system messages instead of substracting them - Change getAnalyticsBetweenDate query to filter out system messages instead of substracting them
- Tab margin style ([#22851](https://github.com/RocketChat/Rocket.Chat/pull/22851)) - Tab margin style ([#22851](https://github.com/RocketChat/Rocket.Chat/pull/22851))
@ -1262,7 +1264,6 @@
- Fix Auto Selection algorithm on community edition ([#22991](https://github.com/RocketChat/Rocket.Chat/pull/22991)) - Fix Auto Selection algorithm on community edition ([#22991](https://github.com/RocketChat/Rocket.Chat/pull/22991))
- When using the autoselection algo on community editions, all agents were marked as unavailable due to an unapplied filter - When using the autoselection algo on community editions, all agents were marked as unavailable due to an unapplied filter
- Fixed an issue when both user & system setting to manange EE max number of chats allowed were set to 0 - Fixed an issue when both user & system setting to manange EE max number of chats allowed were set to 0
<details> <details>
@ -1374,11 +1375,8 @@
- Configuration for indices in Apps-Engine models ([#22705](https://github.com/RocketChat/Rocket.Chat/pull/22705)) - Configuration for indices in Apps-Engine models ([#22705](https://github.com/RocketChat/Rocket.Chat/pull/22705))
* Add `appId` field to the data saved by the Scheduler * Add `appId` field to the data saved by the Scheduler
* Add `appId` index to `rocketchat_apps_persistence` model * Add `appId` index to `rocketchat_apps_persistence` model
* Skip "trash collection" when deleting records from `rocketchat_apps_persistence` * Skip "trash collection" when deleting records from `rocketchat_apps_persistence`
* Add a new setting to control for how long we should keep logs from the apps * Add a new setting to control for how long we should keep logs from the apps
![image](https://user-images.githubusercontent.com/1810309/126246666-907f9d98-1d84-4dfe-a80a-7dd874d36fa8.png) ![image](https://user-images.githubusercontent.com/1810309/126246666-907f9d98-1d84-4dfe-a80a-7dd874d36fa8.png)
@ -1423,7 +1421,6 @@
![image](https://user-images.githubusercontent.com/27704687/123182916-cada7800-d466-11eb-96ee-850be190d419.png) ![image](https://user-images.githubusercontent.com/27704687/123182916-cada7800-d466-11eb-96ee-850be190d419.png)
### Aditional Improves: ### Aditional Improves:
- Added a visual validation in the password field - Added a visual validation in the password field
- Rewrite OTR modals ([#22583](https://github.com/RocketChat/Rocket.Chat/pull/22583)) - Rewrite OTR modals ([#22583](https://github.com/RocketChat/Rocket.Chat/pull/22583))
@ -1495,7 +1492,6 @@
- Call button is still displayed when the user doesn't have permission to use it ([#22170](https://github.com/RocketChat/Rocket.Chat/pull/22170)) - Call button is still displayed when the user doesn't have permission to use it ([#22170](https://github.com/RocketChat/Rocket.Chat/pull/22170))
- Hide 'Call' buttons from the tab bar for muted users; - Hide 'Call' buttons from the tab bar for muted users;
- Display an error when a muted user attempts to enter a call using the 'Click to Join!' button. - Display an error when a muted user attempts to enter a call using the 'Click to Join!' button.
- Can't see full user profile on team's room ([#22355](https://github.com/RocketChat/Rocket.Chat/pull/22355)) - Can't see full user profile on team's room ([#22355](https://github.com/RocketChat/Rocket.Chat/pull/22355))
@ -1507,7 +1503,6 @@
![after](https://user-images.githubusercontent.com/27704687/121966870-bea73a00-cd45-11eb-9c89-ec52ac17e20f.gif) ![after](https://user-images.githubusercontent.com/27704687/121966870-bea73a00-cd45-11eb-9c89-ec52ac17e20f.gif)
### aditional fix :rocket: ### aditional fix :rocket:
- unnecessary `TeamsMembers` component removed - unnecessary `TeamsMembers` component removed
- Cannot create a discussion from top left sidebar as a user ([#22618](https://github.com/RocketChat/Rocket.Chat/pull/22618) by [@lucassartor](https://github.com/lucassartor)) - Cannot create a discussion from top left sidebar as a user ([#22618](https://github.com/RocketChat/Rocket.Chat/pull/22618) by [@lucassartor](https://github.com/lucassartor))
@ -1585,7 +1580,6 @@
Redirect the user to login after delete own account Redirect the user to login after delete own account
### Aditional fixes: ### Aditional fixes:
- Visual issue in password input on Delete Own Account Modal - Visual issue in password input on Delete Own Account Modal
### before ### before
@ -1597,7 +1591,6 @@
- Remove stack traces from Meteor errors when debug setting is disabled ([#22699](https://github.com/RocketChat/Rocket.Chat/pull/22699)) - Remove stack traces from Meteor errors when debug setting is disabled ([#22699](https://github.com/RocketChat/Rocket.Chat/pull/22699))
- Fix 'not iterable' errors in the `normalizeMessage` function; - Fix 'not iterable' errors in the `normalizeMessage` function;
- Remove stack traces from errors thrown by the `jitsi:updateTimeout` (and other `Meteor.Error`s) method. - Remove stack traces from errors thrown by the `jitsi:updateTimeout` (and other `Meteor.Error`s) method.
- Rewrite CurrentChats to TS ([#22424](https://github.com/RocketChat/Rocket.Chat/pull/22424)) - Rewrite CurrentChats to TS ([#22424](https://github.com/RocketChat/Rocket.Chat/pull/22424))
@ -1687,7 +1680,6 @@
- Regression: Data in the "Active Users" section is delayed in 1 day ([#22794](https://github.com/RocketChat/Rocket.Chat/pull/22794)) - Regression: Data in the "Active Users" section is delayed in 1 day ([#22794](https://github.com/RocketChat/Rocket.Chat/pull/22794))
- Fix 1 day delay in the Engagement Dashboard's "Active Users" section; - Fix 1 day delay in the Engagement Dashboard's "Active Users" section;
- Downgrade `@nivo/line` version. - Downgrade `@nivo/line` version.
**Expected behavior:** **Expected behavior:**
![active-users-engagement-dashboard](https://user-images.githubusercontent.com/36537004/127372185-390dc42f-bc90-4841-a22b-731f0aafcafe.PNG) ![active-users-engagement-dashboard](https://user-images.githubusercontent.com/36537004/127372185-390dc42f-bc90-4841-a22b-731f0aafcafe.PNG)
@ -1924,9 +1916,7 @@
- Add `teams.convertToChannel` endpoint ([#22188](https://github.com/RocketChat/Rocket.Chat/pull/22188)) - Add `teams.convertToChannel` endpoint ([#22188](https://github.com/RocketChat/Rocket.Chat/pull/22188))
- Add new `teams.converToChannel` endpoint; - Add new `teams.converToChannel` endpoint;
- Update `ConvertToTeam` modal text (since this action can now be reversed); - Update `ConvertToTeam` modal text (since this action can now be reversed);
- Remove corresponding team memberships when a team is deleted or converted to a channel; - Remove corresponding team memberships when a team is deleted or converted to a channel;
- Add setting to configure default role for user on manual registration ([#20650](https://github.com/RocketChat/Rocket.Chat/pull/20650) by [@lucassartor](https://github.com/lucassartor)) - Add setting to configure default role for user on manual registration ([#20650](https://github.com/RocketChat/Rocket.Chat/pull/20650) by [@lucassartor](https://github.com/lucassartor))
@ -1965,9 +1955,7 @@
- Add BBB and Jitsi to Team ([#22312](https://github.com/RocketChat/Rocket.Chat/pull/22312)) - Add BBB and Jitsi to Team ([#22312](https://github.com/RocketChat/Rocket.Chat/pull/22312))
Added 2 new settings: Added 2 new settings:
- `Admin > Video Conference > Big Blue Button > Enable for teams` - `Admin > Video Conference > Big Blue Button > Enable for teams`
- `Admin > Video Conference > Jitsi > Enable in teams` - `Admin > Video Conference > Jitsi > Enable in teams`
- Add debouncing to units selects filters ([#22097](https://github.com/RocketChat/Rocket.Chat/pull/22097)) - Add debouncing to units selects filters ([#22097](https://github.com/RocketChat/Rocket.Chat/pull/22097))
@ -2489,13 +2477,9 @@
Currently, there are some inconsistencies and incorrect behaviors on the 2FA settings, such as: Currently, there are some inconsistencies and incorrect behaviors on the 2FA settings, such as:
- When disabling the TOTP 2FA, all 2FA are disabled; - When disabling the TOTP 2FA, all 2FA are disabled;
- There are no option to disable only the TOTP 2FA; - There are no option to disable only the TOTP 2FA;
- If 2FA are disabled, the other settings aren't blocked (the e-mail 2FA setting, for example); - If 2FA are disabled, the other settings aren't blocked (the e-mail 2FA setting, for example);
- It lacks some labels to warn the user of some specific 2FA options. - It lacks some labels to warn the user of some specific 2FA options.
This PR looks to fix those issues. This PR looks to fix those issues.
@ -2669,12 +2653,10 @@
- Make the FR translation consistent with the 'room' translation + typos ([#21913](https://github.com/RocketChat/Rocket.Chat/pull/21913) by [@Jeanstaquet](https://github.com/Jeanstaquet)) - Make the FR translation consistent with the 'room' translation + typos ([#21913](https://github.com/RocketChat/Rocket.Chat/pull/21913) by [@Jeanstaquet](https://github.com/Jeanstaquet))
In the FR translation files, there were two terms that were used to refer to **'room'**: In the FR translation files, there were two terms that were used to refer to **'room'**:
- 'salon' (149 times used) - 'salon' (149 times used)
![image](https://user-images.githubusercontent.com/45966964/116829860-ac62a980-aba6-11eb-8212-e6f15ed0af82.png) ![image](https://user-images.githubusercontent.com/45966964/116829860-ac62a980-aba6-11eb-8212-e6f15ed0af82.png)
- 'salle' (46 times used) - 'salle' (46 times used)
![image](https://user-images.githubusercontent.com/45966964/116829871-be444c80-aba6-11eb-9b42-e213fee6586a.png) ![image](https://user-images.githubusercontent.com/45966964/116829871-be444c80-aba6-11eb-9b42-e213fee6586a.png)
@ -2841,9 +2823,7 @@
- Add two more test cases to the slash-command test suite ([#21317](https://github.com/RocketChat/Rocket.Chat/pull/21317) by [@EduardoPicolo](https://github.com/EduardoPicolo)) - Add two more test cases to the slash-command test suite ([#21317](https://github.com/RocketChat/Rocket.Chat/pull/21317) by [@EduardoPicolo](https://github.com/EduardoPicolo))
Added two more test cases to the slash-command test suite: Added two more test cases to the slash-command test suite:
- 'should return an error when the command does not exist''; - 'should return an error when the command does not exist'';
- 'should return an error when no command is provided'; - 'should return an error when no command is provided';
- Bump actions/stale from v3.0.8 to v3.0.18 ([#21877](https://github.com/RocketChat/Rocket.Chat/pull/21877) by [@dependabot[bot]](https://github.com/dependabot[bot])) - Bump actions/stale from v3.0.8 to v3.0.18 ([#21877](https://github.com/RocketChat/Rocket.Chat/pull/21877) by [@dependabot[bot]](https://github.com/dependabot[bot]))
@ -3222,22 +3202,16 @@
This _small_ PR does the following: This _small_ PR does the following:
- Now **React** is the web client's first-class citizen, being **loaded before Blaze**. Thus, `BlazeLayout` calls render templates inside of a React component (`BlazeLayoutWrapper`); - Now **React** is the web client's first-class citizen, being **loaded before Blaze**. Thus, `BlazeLayout` calls render templates inside of a React component (`BlazeLayoutWrapper`);
- Main client startup code, including polyfills, is written in **TypeScript**; - Main client startup code, including polyfills, is written in **TypeScript**;
- At the moment, routes are treated as regular startup code; it's expected that `FlowRouter` will be deprecated in favor of a new routing library; - At the moment, routes are treated as regular startup code; it's expected that `FlowRouter` will be deprecated in favor of a new routing library;
- **React** was updated to major version **17**, deprecating the usage of `React` as namespace (e.g. use `memo()` instead of `React.memo()`); - **React** was updated to major version **17**, deprecating the usage of `React` as namespace (e.g. use `memo()` instead of `React.memo()`);
- The `client/` and `ee/client/` directory are linted with a **custom ESLint configuration** that includes: - The `client/` and `ee/client/` directory are linted with a **custom ESLint configuration** that includes:
- **Prettier**; - **Prettier**;
- `react-hooks/*` rules for TypeScript files; - `react-hooks/*` rules for TypeScript files;
- `react/no-multi-comp`, enforcing the rule of **one single React component per module**; - `react/no-multi-comp`, enforcing the rule of **one single React component per module**;
- `react/display-name`, which enforces that **React components must have a name for debugging**; - `react/display-name`, which enforces that **React components must have a name for debugging**;
- `import/named`, avoiding broken named imports. - `import/named`, avoiding broken named imports.
- A bunch of components were refactored to match the new ESLint rules. - A bunch of components were refactored to match the new ESLint rules.
- On Hold system messages ([#21360](https://github.com/RocketChat/Rocket.Chat/pull/21360) by [@rafaelblink](https://github.com/rafaelblink)) - On Hold system messages ([#21360](https://github.com/RocketChat/Rocket.Chat/pull/21360) by [@rafaelblink](https://github.com/rafaelblink))
@ -3247,11 +3221,8 @@
- Password history ([#21607](https://github.com/RocketChat/Rocket.Chat/pull/21607)) - Password history ([#21607](https://github.com/RocketChat/Rocket.Chat/pull/21607))
- Store each user's previously used passwords in a `passwordHistory` field (in the `users` record); - Store each user's previously used passwords in a `passwordHistory` field (in the `users` record);
- Users' previously used passwords are stored in their `passwordHistory` even when the setting is disabled; - Users' previously used passwords are stored in their `passwordHistory` even when the setting is disabled;
- Add "Password History" setting -- when enabled, it blocks users from reusing their most recent passwords; - Add "Password History" setting -- when enabled, it blocks users from reusing their most recent passwords;
- Convert `comparePassword` file to TypeScript. - Convert `comparePassword` file to TypeScript.
![Password_Change](https://user-images.githubusercontent.com/36537004/115035168-ac726200-9ea2-11eb-93c6-fc8182ba5f3f.png) ![Password_Change](https://user-images.githubusercontent.com/36537004/115035168-ac726200-9ea2-11eb-93c6-fc8182ba5f3f.png)
@ -3273,13 +3244,9 @@
- Add error messages to the creation of channels or usernames containing reserved words ([#21016](https://github.com/RocketChat/Rocket.Chat/pull/21016)) - Add error messages to the creation of channels or usernames containing reserved words ([#21016](https://github.com/RocketChat/Rocket.Chat/pull/21016))
Display error messages when the user attempts to create or edit users' or channels' names with any of the following words (**case-insensitive**): Display error messages when the user attempts to create or edit users' or channels' names with any of the following words (**case-insensitive**):
- admin; - admin;
- administrator; - administrator;
- system; - system;
- user. - user.
![create-channel](https://user-images.githubusercontent.com/36537004/110132223-b421ef80-7da9-11eb-82bc-f0d4e1df967f.png) ![create-channel](https://user-images.githubusercontent.com/36537004/110132223-b421ef80-7da9-11eb-82bc-f0d4e1df967f.png)
![register-username](https://user-images.githubusercontent.com/36537004/110132234-b71ce000-7da9-11eb-904e-580233625951.png) ![register-username](https://user-images.githubusercontent.com/36537004/110132234-b71ce000-7da9-11eb-904e-580233625951.png)
@ -3309,7 +3276,6 @@
- Resize custom emojis on upload instead of saving at max res ([#21593](https://github.com/RocketChat/Rocket.Chat/pull/21593)) - Resize custom emojis on upload instead of saving at max res ([#21593](https://github.com/RocketChat/Rocket.Chat/pull/21593))
- Create new MediaService (ideally, should be in charge of all media-related operations) - Create new MediaService (ideally, should be in charge of all media-related operations)
- Resize emojis to 128x128 - Resize emojis to 128x128
### 🐛 Bug fixes ### 🐛 Bug fixes
@ -3480,18 +3446,14 @@
- Typos/missing elements in the French translation ([#21525](https://github.com/RocketChat/Rocket.Chat/pull/21525) by [@Jeanstaquet](https://github.com/Jeanstaquet)) - Typos/missing elements in the French translation ([#21525](https://github.com/RocketChat/Rocket.Chat/pull/21525) by [@Jeanstaquet](https://github.com/Jeanstaquet))
- I have corrected some typos in the translation - I have corrected some typos in the translation
- I added a translation for missing words - I added a translation for missing words
- I took the opportunity to correct a mistranslated word - I took the opportunity to correct a mistranslated word
- Test_Desktop_Notifications was missing in the EN and FR file - Test_Desktop_Notifications was missing in the EN and FR file
![image](https://user-images.githubusercontent.com/45966964/114290186-e7792d80-9a7d-11eb-8164-3b5e72e93703.png) ![image](https://user-images.githubusercontent.com/45966964/114290186-e7792d80-9a7d-11eb-8164-3b5e72e93703.png)
- Updating a message causing URLs to be parsed even within markdown code ([#21489](https://github.com/RocketChat/Rocket.Chat/pull/21489)) - Updating a message causing URLs to be parsed even within markdown code ([#21489](https://github.com/RocketChat/Rocket.Chat/pull/21489))
- Fix `updateMessage` to avoid parsing URLs inside markdown - Fix `updateMessage` to avoid parsing URLs inside markdown
- Honor `parseUrls` property when updating messages - Honor `parseUrls` property when updating messages
- Use async await in TeamChannels delete channel action ([#21534](https://github.com/RocketChat/Rocket.Chat/pull/21534)) - Use async await in TeamChannels delete channel action ([#21534](https://github.com/RocketChat/Rocket.Chat/pull/21534))
@ -3523,21 +3485,13 @@
- A React-based replacement for BlazeLayout ([#21527](https://github.com/RocketChat/Rocket.Chat/pull/21527)) - A React-based replacement for BlazeLayout ([#21527](https://github.com/RocketChat/Rocket.Chat/pull/21527))
- The Meteor package **`kadira:blaze-layout` was removed**; - The Meteor package **`kadira:blaze-layout` was removed**;
- A **global subscription** for the current application layout (**`appLayout`**) replaces `BlazeLayout` entirely; - A **global subscription** for the current application layout (**`appLayout`**) replaces `BlazeLayout` entirely;
- The **`#react-root` element** is rendered on server-side instead of dynamically injected into the DOM tree; - The **`#react-root` element** is rendered on server-side instead of dynamically injected into the DOM tree;
- The **"page loading" throbber** is now rendered on the React tree; - The **"page loading" throbber** is now rendered on the React tree;
- The **`renderRouteComponent` helper was removed**; - The **`renderRouteComponent` helper was removed**;
- Some code run without any criteria on **`main` template** module was moved into **client startup modules**; - Some code run without any criteria on **`main` template** module was moved into **client startup modules**;
- React portals used to embed Blaze templates have their own subscription (**`blazePortals`**); - React portals used to embed Blaze templates have their own subscription (**`blazePortals`**);
- Some **route components were refactored** to remove a URL path trap originally disabled by `renderRouteComponent`; - Some **route components were refactored** to remove a URL path trap originally disabled by `renderRouteComponent`;
- A new component to embed the DOM nodes generated by **`RoomManager`** was created. - A new component to embed the DOM nodes generated by **`RoomManager`** was created.
- Add ')' after Date and Time in DB migration ([#21519](https://github.com/RocketChat/Rocket.Chat/pull/21519) by [@im-adithya](https://github.com/im-adithya)) - Add ')' after Date and Time in DB migration ([#21519](https://github.com/RocketChat/Rocket.Chat/pull/21519) by [@im-adithya](https://github.com/im-adithya))
@ -3571,7 +3525,6 @@
- Fix: Missing module `eventemitter3` for micro services ([#21611](https://github.com/RocketChat/Rocket.Chat/pull/21611)) - Fix: Missing module `eventemitter3` for micro services ([#21611](https://github.com/RocketChat/Rocket.Chat/pull/21611))
- Fix error when running micro services after version 3.12 - Fix error when running micro services after version 3.12
- Fix build of docker image version latest for micro services - Fix build of docker image version latest for micro services
- Language update from LingoHub 🤖 on 2021-04-05Z ([#21446](https://github.com/RocketChat/Rocket.Chat/pull/21446)) - Language update from LingoHub 🤖 on 2021-04-05Z ([#21446](https://github.com/RocketChat/Rocket.Chat/pull/21446))
@ -3585,11 +3538,8 @@
- QoL improvements to add channel to team flow ([#21778](https://github.com/RocketChat/Rocket.Chat/pull/21778)) - QoL improvements to add channel to team flow ([#21778](https://github.com/RocketChat/Rocket.Chat/pull/21778))
- Fixed canAccessRoom validation - Fixed canAccessRoom validation
- Added e2e tests - Added e2e tests
- Removed channels that user cannot add to the team from autocomplete suggestions - Removed channels that user cannot add to the team from autocomplete suggestions
- Improved error messages - Improved error messages
- Regression: Bold, italic and strike render (Original markdown) ([#21747](https://github.com/RocketChat/Rocket.Chat/pull/21747)) - Regression: Bold, italic and strike render (Original markdown) ([#21747](https://github.com/RocketChat/Rocket.Chat/pull/21747))
@ -3851,13 +3801,11 @@
#### How can you place a chat on Hold ? #### How can you place a chat on Hold ?
A chat can be placed on-hold via 2 means A chat can be placed on-hold via 2 means
1. Automatically place Abandoned chats On-hold 1. Automatically place Abandoned chats On-hold
![image](https://user-images.githubusercontent.com/34130764/111537074-06431780-8791-11eb-8d23-99f5d9f8ec45.png) ![image](https://user-images.githubusercontent.com/34130764/111537074-06431780-8791-11eb-8d23-99f5d9f8ec45.png)
Via this :top: option you can define a timer which will get started when a customer sends a message. If we don't receive any message from the customer within this timer, the timer will get expired and the chat will be considered as Abandoned. Via this :top: option you can define a timer which will get started when a customer sends a message. If we don't receive any message from the customer within this timer, the timer will get expired and the chat will be considered as Abandoned.
![image](https://user-images.githubusercontent.com/34130764/111537346-53bf8480-8791-11eb-8dc7-260633b4e98f.png) ![image](https://user-images.githubusercontent.com/34130764/111537346-53bf8480-8791-11eb-8dc7-260633b4e98f.png)
The via this :top: setting you can choose to automatically place this abandoned chat On Hold The via this :top: setting you can choose to automatically place this abandoned chat On Hold
2. Manually place a chat On Hold 2. Manually place a chat On Hold
As an admin, you can allow an agent to manually place a chat on-hold. To do so, you'll need to turn on this :point_down: setting As an admin, you can allow an agent to manually place a chat on-hold. To do so, you'll need to turn on this :point_down: setting
![image](https://user-images.githubusercontent.com/34130764/111537545-97b28980-8791-11eb-86fd-db45b87e9cc1.png) ![image](https://user-images.githubusercontent.com/34130764/111537545-97b28980-8791-11eb-86fd-db45b87e9cc1.png)
@ -3867,10 +3815,8 @@
#### How can you resume a On Hold chat ? #### How can you resume a On Hold chat ?
An On Hold chat can be resumed via 2 means An On Hold chat can be resumed via 2 means
1. If the Customer sends a message 1. If the Customer sends a message
If the Customer / Omnichannel End User sends a message to the On Hold chat, the On Hold chat will get automatically resumed. If the Customer / Omnichannel End User sends a message to the On Hold chat, the On Hold chat will get automatically resumed.
2. Manually by agent 2. Manually by agent
An Agent can manually resume the On Hold chat via clicking the `Resume` button in the bottom of a chat room. An Agent can manually resume the On Hold chat via clicking the `Resume` button in the bottom of a chat room.
![image](https://user-images.githubusercontent.com/34130764/111538666-f88e9180-8792-11eb-8d14-01453b8e3db0.png) ![image](https://user-images.githubusercontent.com/34130764/111538666-f88e9180-8792-11eb-8d14-01453b8e3db0.png)
@ -3878,9 +3824,7 @@
#### What would happen if the agent already reached maximum chats, and a On-Hold chat gets resumed ? #### What would happen if the agent already reached maximum chats, and a On-Hold chat gets resumed ?
Based on how the chat was resumed, there are multiple cases are each case is dealt differently Based on how the chat was resumed, there are multiple cases are each case is dealt differently
- If an agent manually tries to resume the On Hold chat, he/she will get an error saying `Maximum Simultaneous chat limit reached` - If an agent manually tries to resume the On Hold chat, he/she will get an error saying `Maximum Simultaneous chat limit reached`
- If a customer replies back on an On Hold chat and the last serving agent has reached maximum capacity, then this customer will be placed on the queue again from where based on the Routing Algorithm selected, the chat will get transferred to any available agent - If a customer replies back on an On Hold chat and the last serving agent has reached maximum capacity, then this customer will be placed on the queue again from where based on the Routing Algorithm selected, the chat will get transferred to any available agent
- Ability to hide 'Room topic changed' system messages ([#21062](https://github.com/RocketChat/Rocket.Chat/pull/21062) by [@Tirieru](https://github.com/Tirieru)) - Ability to hide 'Room topic changed' system messages ([#21062](https://github.com/RocketChat/Rocket.Chat/pull/21062) by [@Tirieru](https://github.com/Tirieru))
@ -3898,17 +3842,11 @@
You can easily group your users as Teams on Rocket.Chat. The feature takes the hassle out of managing multiple users one by one and allows you to handle them at the same time efficiently. You can easily group your users as Teams on Rocket.Chat. The feature takes the hassle out of managing multiple users one by one and allows you to handle them at the same time efficiently.
- Teams can be public or private and each team can have its own channels, which also can be public or private. - Teams can be public or private and each team can have its own channels, which also can be public or private.
- It's possible to add existing channels to a Team or create new ones inside a Team. - It's possible to add existing channels to a Team or create new ones inside a Team.
- It's possible to invite people outside a Team to join Team's channels. - It's possible to invite people outside a Team to join Team's channels.
- It's possible to convert channels to Teams - It's possible to convert channels to Teams
- It's possible to add all team members to a channel at once - It's possible to add all team members to a channel at once
- Team members have roles - Team members have roles
@ -4180,31 +4118,18 @@
Add end-to-end tests for the following meteor methods Add end-to-end tests for the following meteor methods
- [x] public-settings:get - [x] public-settings:get
- [x] rooms:get - [x] rooms:get
- [x] subscriptions:get - [x] subscriptions:get
- [x] permissions:get - [x] permissions:get
- [x] loadMissedMessages - [x] loadMissedMessages
- [x] loadHistory - [x] loadHistory
- [x] listCustomUserStatus - [x] listCustomUserStatus
- [x] getUserRoles - [x] getUserRoles
- [x] getRoomRoles (called by the API, already covered) - [x] getRoomRoles (called by the API, already covered)
- [x] getMessages - [x] getMessages
- [x] getUsersOfRoom - [x] getUsersOfRoom
- [x] loadNextMessages - [x] loadNextMessages
- [x] getThreadMessages - [x] getThreadMessages
- Chore: Meteor update 2.1 ([#21061](https://github.com/RocketChat/Rocket.Chat/pull/21061)) - Chore: Meteor update 2.1 ([#21061](https://github.com/RocketChat/Rocket.Chat/pull/21061))
@ -4218,9 +4143,7 @@
- Improve: Increase testing coverage ([#21015](https://github.com/RocketChat/Rocket.Chat/pull/21015)) - Improve: Increase testing coverage ([#21015](https://github.com/RocketChat/Rocket.Chat/pull/21015))
Add test for Add test for
- settings/raw - settings/raw
- minimongo/comparisons - minimongo/comparisons
- Improve: NPS survey fetch ([#21263](https://github.com/RocketChat/Rocket.Chat/pull/21263)) - Improve: NPS survey fetch ([#21263](https://github.com/RocketChat/Rocket.Chat/pull/21263))
@ -4245,13 +4168,11 @@
- Regression: Add support to filter on `teams.listRooms` endpoint ([#21327](https://github.com/RocketChat/Rocket.Chat/pull/21327)) - Regression: Add support to filter on `teams.listRooms` endpoint ([#21327](https://github.com/RocketChat/Rocket.Chat/pull/21327))
- Add support for queries (within the `query` parameter); - Add support for queries (within the `query` parameter);
- Add support to pagination (`offset` and `count`) when an user doesn't have the permission to get all rooms. - Add support to pagination (`offset` and `count`) when an user doesn't have the permission to get all rooms.
- Regression: Add teams support to directory ([#21351](https://github.com/RocketChat/Rocket.Chat/pull/21351)) - Regression: Add teams support to directory ([#21351](https://github.com/RocketChat/Rocket.Chat/pull/21351))
- Change `directory.js` to reduce function complexity - Change `directory.js` to reduce function complexity
- Add `teams` type of item. Directory will return all public teams & private teams the user is part of. - Add `teams` type of item. Directory will return all public teams & private teams the user is part of.
- Regression: add view room action on Teams Channels ([#21295](https://github.com/RocketChat/Rocket.Chat/pull/21295)) - Regression: add view room action on Teams Channels ([#21295](https://github.com/RocketChat/Rocket.Chat/pull/21295))
@ -4308,7 +4229,6 @@
![image](https://user-images.githubusercontent.com/34130764/112291749-6ae10380-8cb6-11eb-94cd-e05efc14b1bf.png) ![image](https://user-images.githubusercontent.com/34130764/112291749-6ae10380-8cb6-11eb-94cd-e05efc14b1bf.png)
![image](https://user-images.githubusercontent.com/34130764/112304146-27d95d00-8cc3-11eb-85db-dde04a110dd1.png) ![image](https://user-images.githubusercontent.com/34130764/112304146-27d95d00-8cc3-11eb-85db-dde04a110dd1.png)
- Minor fixes - Minor fixes
- regression: Remove Breadcrumbs and update Tag component ([#21399](https://github.com/RocketChat/Rocket.Chat/pull/21399)) - regression: Remove Breadcrumbs and update Tag component ([#21399](https://github.com/RocketChat/Rocket.Chat/pull/21399))
@ -4358,9 +4278,7 @@
- Regression: Update .invite endpoints to support multiple users at once ([#21328](https://github.com/RocketChat/Rocket.Chat/pull/21328)) - Regression: Update .invite endpoints to support multiple users at once ([#21328](https://github.com/RocketChat/Rocket.Chat/pull/21328))
- channels.invite now supports passing an array as a param (either with usernames or userIds) via `usernames` or `userIds` properties. - channels.invite now supports passing an array as a param (either with usernames or userIds) via `usernames` or `userIds` properties.
- You can still use the endpoint to invite only one user via the old params `userId`, `username` or `user`. - You can still use the endpoint to invite only one user via the old params `userId`, `username` or `user`.
- Same changes apply to groups.invite - Same changes apply to groups.invite
- Regression: user actions in admin ([#21307](https://github.com/RocketChat/Rocket.Chat/pull/21307)) - Regression: user actions in admin ([#21307](https://github.com/RocketChat/Rocket.Chat/pull/21307))
@ -4613,17 +4531,12 @@
- Replace react-window for react-virtuoso package ([#20392](https://github.com/RocketChat/Rocket.Chat/pull/20392)) - Replace react-window for react-virtuoso package ([#20392](https://github.com/RocketChat/Rocket.Chat/pull/20392))
Remove: Remove:
- react-window - react-window
- react-window-infinite-loader - react-window-infinite-loader
- simplebar-react - simplebar-react
Include: Include:
- react-virtuoso - react-virtuoso
- rc-scrollbars - rc-scrollbars
- Rewrite Call as React component ([#19778](https://github.com/RocketChat/Rocket.Chat/pull/19778)) - Rewrite Call as React component ([#19778](https://github.com/RocketChat/Rocket.Chat/pull/19778))
@ -4825,7 +4738,6 @@
- Missing setting to control when to send the ReplyTo field in email notifications ([#20744](https://github.com/RocketChat/Rocket.Chat/pull/20744)) - Missing setting to control when to send the ReplyTo field in email notifications ([#20744](https://github.com/RocketChat/Rocket.Chat/pull/20744))
- Add a new setting ("Add Reply-To header") in the Email settings' page to control when the Reply-To header is used in e-mail notifications; - Add a new setting ("Add Reply-To header") in the Email settings' page to control when the Reply-To header is used in e-mail notifications;
- The new setting is turned off (`false` value) by default. - The new setting is turned off (`false` value) by default.
- New Integration page was not being displayed ([#20670](https://github.com/RocketChat/Rocket.Chat/pull/20670) by [@yash-rajpal](https://github.com/yash-rajpal)) - New Integration page was not being displayed ([#20670](https://github.com/RocketChat/Rocket.Chat/pull/20670) by [@yash-rajpal](https://github.com/yash-rajpal))
@ -4908,21 +4820,13 @@
- Several Slack Importer issues ([#20216](https://github.com/RocketChat/Rocket.Chat/pull/20216)) - Several Slack Importer issues ([#20216](https://github.com/RocketChat/Rocket.Chat/pull/20216))
- Fix: Slack Importer crashes when importing a large users.json file - Fix: Slack Importer crashes when importing a large users.json file
- Fix: Slack importer crashes when messages have invalid mentions - Fix: Slack importer crashes when messages have invalid mentions
- Skip listing all users on the preparation screen when the user count is too large. - Skip listing all users on the preparation screen when the user count is too large.
- Split avatar download into a separate process. - Split avatar download into a separate process.
- Update room's last message when the import is complete. - Update room's last message when the import is complete.
- Prevent invalid or duplicated channel names - Prevent invalid or duplicated channel names
- Improve message error handling. - Improve message error handling.
- Reduce max allowed BSON size to avoid possible issues in some servers. - Reduce max allowed BSON size to avoid possible issues in some servers.
- Improve handling of very large channel files. - Improve handling of very large channel files.
- star icon was visible after unstarring a message ([#19645](https://github.com/RocketChat/Rocket.Chat/pull/19645) by [@bhavayAnand9](https://github.com/bhavayAnand9)) - star icon was visible after unstarring a message ([#19645](https://github.com/RocketChat/Rocket.Chat/pull/19645) by [@bhavayAnand9](https://github.com/bhavayAnand9))
@ -5185,12 +5089,10 @@
Behavior based-on Routing method Behavior based-on Routing method
1. Auto-selection, Load-Balancing, or External Service (`autoAssignAgent = true`) 1. Auto-selection, Load-Balancing, or External Service (`autoAssignAgent = true`)
This is straightforward, This is straightforward,
- if the Contact-manager is online, the chat will be transferred to the Contact-Manger only - if the Contact-manager is online, the chat will be transferred to the Contact-Manger only
- if the Contact-manager is offline, the chat will be transferred to any other online-agent based on the Routing system - if the Contact-manager is offline, the chat will be transferred to any other online-agent based on the Routing system
2. Manual-selection (`autoAssignAgent = false`) 2. Manual-selection (`autoAssignAgent = false`)
- If the Contact-Manager is online, the chat will appear in the Queue of Contact-Manager **ONLY** - If the Contact-Manager is online, the chat will appear in the Queue of Contact-Manager **ONLY**
- If the Contact-Manager is offline, the chat will appear in the Queue of all related Agents/Manager ( like it's done right now ) - If the Contact-Manager is offline, the chat will appear in the Queue of all related Agents/Manager ( like it's done right now )
@ -5932,13 +5834,9 @@
- Chore: Update Pull Request template ([#19768](https://github.com/RocketChat/Rocket.Chat/pull/19768)) - Chore: Update Pull Request template ([#19768](https://github.com/RocketChat/Rocket.Chat/pull/19768))
Improve the template of Pull Requests in order to make it clear reducing duplicated information and removing the visible checklists that were generating noise and misunderstanding with the PR progress. Improve the template of Pull Requests in order to make it clear reducing duplicated information and removing the visible checklists that were generating noise and misunderstanding with the PR progress.
- Moved the checklists to inside comments - Moved the checklists to inside comments
- Merge the changelog and proposed changes sections to have a single source of description that goes to the changelog - Merge the changelog and proposed changes sections to have a single source of description that goes to the changelog
- Remove the screenshot section, they can be added inside the description - Remove the screenshot section, they can be added inside the description
- Changed the proposed changes title to incentivizing the usage of images and videos - Changed the proposed changes title to incentivizing the usage of images and videos
- Frontend folder structure ([#19631](https://github.com/RocketChat/Rocket.Chat/pull/19631)) - Frontend folder structure ([#19631](https://github.com/RocketChat/Rocket.Chat/pull/19631))
@ -6503,7 +6401,7 @@
- [@sampaiodiego](https://github.com/sampaiodiego) - [@sampaiodiego](https://github.com/sampaiodiego)
# 3.8.0 # 3.8.0
`2020-11-14 · 14 🎉 · 4 🚀 · 40 🐛 · 54 🔍 · 30 👩💻👨💻` `2020-11-13 · 14 🎉 · 4 🚀 · 40 🐛 · 54 🔍 · 30 👩💻👨💻`
### Engine versions ### Engine versions
- Node: `12.18.4` - Node: `12.18.4`
@ -7278,9 +7176,7 @@
- **2FA:** Password enforcement setting and 2FA protection when saving settings or resetting E2E encryption ([#18640](https://github.com/RocketChat/Rocket.Chat/pull/18640)) - **2FA:** Password enforcement setting and 2FA protection when saving settings or resetting E2E encryption ([#18640](https://github.com/RocketChat/Rocket.Chat/pull/18640))
- Increase the 2FA remembering time from 5min to 30min - Increase the 2FA remembering time from 5min to 30min
- Add new setting to enforce 2FA password fallback (enabled only for new installations) - Add new setting to enforce 2FA password fallback (enabled only for new installations)
- Require 2FA to save settings and reset E2E Encryption keys - Require 2FA to save settings and reset E2E Encryption keys
- **Omnichannel:** Allow set other agent status via method `livechat:changeLivechatStatus ` ([#18571](https://github.com/RocketChat/Rocket.Chat/pull/18571)) - **Omnichannel:** Allow set other agent status via method `livechat:changeLivechatStatus ` ([#18571](https://github.com/RocketChat/Rocket.Chat/pull/18571))
@ -7649,11 +7545,8 @@
- Mention autocomplete UI and performance improvements ([#18309](https://github.com/RocketChat/Rocket.Chat/pull/18309)) - Mention autocomplete UI and performance improvements ([#18309](https://github.com/RocketChat/Rocket.Chat/pull/18309))
* New setting to configure the number of suggestions `Admin > Layout > User Interface > Number of users' autocomplete suggestions` (default 5) * New setting to configure the number of suggestions `Admin > Layout > User Interface > Number of users' autocomplete suggestions` (default 5)
* The UI shows whenever the user is not a member of the room * The UI shows whenever the user is not a member of the room
* The UI shows when the suggestion came from the last messages for quick selection/reply * The UI shows when the suggestion came from the last messages for quick selection/reply
* The suggestions follow this order: * The suggestions follow this order:
* The user with the exact username and member of the room * The user with the exact username and member of the room
* The user with the exact username but not a member of the room (if allowed to list non-members) * The user with the exact username but not a member of the room (if allowed to list non-members)
@ -8512,11 +8405,8 @@
- Notification sounds ([#17616](https://github.com/RocketChat/Rocket.Chat/pull/17616)) - Notification sounds ([#17616](https://github.com/RocketChat/Rocket.Chat/pull/17616))
* Global CDN config was ignored when loading the sound files * Global CDN config was ignored when loading the sound files
* Upload of custom sounds wasn't getting the file extension correctly * Upload of custom sounds wasn't getting the file extension correctly
* Some translations were missing * Some translations were missing
* Edit and delete of custom sounds were not working correctly * Edit and delete of custom sounds were not working correctly
- Omnichannel departments are not saved when the offline channel name is not defined ([#17553](https://github.com/RocketChat/Rocket.Chat/pull/17553)) - Omnichannel departments are not saved when the offline channel name is not defined ([#17553](https://github.com/RocketChat/Rocket.Chat/pull/17553))
@ -8806,15 +8696,10 @@
We are still using the same logic to define which notifications every new message will generate, it takes some servers' settings, users's preferences and subscriptions' settings in consideration to determine who will receive each notification type (desktop, audio, email and mobile push), but now it doesn't check the user's status (online, away, offline) for email and mobile push notifications but send those notifications to a new queue with the following rules: We are still using the same logic to define which notifications every new message will generate, it takes some servers' settings, users's preferences and subscriptions' settings in consideration to determine who will receive each notification type (desktop, audio, email and mobile push), but now it doesn't check the user's status (online, away, offline) for email and mobile push notifications but send those notifications to a new queue with the following rules:
- When the user is online the notification is scheduled to be sent in 120 seconds - When the user is online the notification is scheduled to be sent in 120 seconds
- When the user is away the notification is scheduled to be sent in 120 seconds minus the amount of time he is away - When the user is away the notification is scheduled to be sent in 120 seconds minus the amount of time he is away
- When the user is offline the notification is scheduled to be sent right away - When the user is offline the notification is scheduled to be sent right away
- When the user reads a channel all the notifications for that user are removed (clear queue) - When the user reads a channel all the notifications for that user are removed (clear queue)
- When a notification is processed to be sent to a user and there are other scheduled notifications: - When a notification is processed to be sent to a user and there are other scheduled notifications:
- All the scheduled notifications for that user are rescheduled to now - All the scheduled notifications for that user are rescheduled to now
- The current notification goes back to the queue to be processed ordered by creation date - The current notification goes back to the queue to be processed ordered by creation date

@ -1,3 +1,3 @@
{ {
"version": "4.1.1" "version": "4.1.2"
} }

2
package-lock.json generated

@ -1,6 +1,6 @@
{ {
"name": "Rocket.Chat", "name": "Rocket.Chat",
"version": "4.1.1", "version": "4.1.2",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

@ -1,7 +1,7 @@
{ {
"name": "Rocket.Chat", "name": "Rocket.Chat",
"description": "The Ultimate Open Source WebChat Platform", "description": "The Ultimate Open Source WebChat Platform",
"version": "4.1.1", "version": "4.1.2",
"author": { "author": {
"name": "Rocket.Chat", "name": "Rocket.Chat",
"url": "https://rocket.chat/" "url": "https://rocket.chat/"

Loading…
Cancel
Save