From 7e158c5a6bd4843b2d42ebec0a7a76ad4daf5413 Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Tue, 21 Apr 2020 05:28:49 -0300 Subject: [PATCH 01/16] Bump version to 3.2.0-rc.0 --- .docker/Dockerfile.rhel | 2 +- .github/history.json | 798 ++++++++++++++++++++++++++++++++++++++ HISTORY.md | 227 +++++++++++ app/utils/rocketchat.info | 2 +- package.json | 2 +- 5 files changed, 1028 insertions(+), 3 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index d31b51dace52..cd60bcab8a3c 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-develop +ENV RC_VERSION 3.2.0-rc.0 MAINTAINER buildmaster@rocket.chat diff --git a/.github/history.json b/.github/history.json index 0a3e4abf62ba..83184f0bb24c 100644 --- a/.github/history.json +++ b/.github/history.json @@ -42492,6 +42492,804 @@ ] } ] + }, + "3.2.0-rc.0": { + "node_version": "12.16.1", + "npm_version": "6.13.4", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "17333", + "title": "[NEW] [ENTERPRISE] Restrict the permissions configuration for guest users ", + "userLogin": "pierre-lehnen-rc", + "description": "The **Guest** role is blocked for edition on the EE version. This will allow the EE customers to receive licenses with extra seats for Guests for free. The CE version continues to have the Guest role configurable.", + "milestone": "3.2.0", + "contributors": [ + "pierre-lehnen-rc", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "17091", + "title": "[NEW] Federation event for when users left rooms", + "userLogin": "alansikora", + "contributors": [ + "alansikora", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "16790", + "title": "[FIX] CSV Importer fails when there are no users to import", + "userLogin": "pierre-lehnen-rc", + "contributors": [ + "pierre-lehnen-rc", + "web-flow" + ] + }, + { + "pr": "17206", + "title": "[FIX] Import slack's multiple direct messages as direct rooms instead of private groups", + "userLogin": "pierre-lehnen-rc", + "milestone": "3.2.0", + "contributors": [ + "pierre-lehnen-rc", + "web-flow" + ] + }, + { + "pr": "17324", + "title": "[FIX] SAML Idp Initiated Logout Error", + "userLogin": "pierre-lehnen-rc", + "milestone": "3.2.0", + "contributors": [ + "pierre-lehnen-rc" + ] + }, + { + "pr": "17357", + "title": "[NEW] Better Push and Email Notification logic", + "userLogin": "rodrigok", + "description": "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:\r\n\r\n- When the user is online the notification is scheduled to be sent in 120 seconds\r\n- When the user is away the notification is scheduled to be sent in 120 seconds minus the amount of time he is away\r\n- When the user is offline the notification is scheduled to be sent right away\r\n- When the user reads a channel all the notifications for that user are removed (clear queue)\r\n- When a notification is processed to be sent to a user and there are other scheduled notifications:\r\n - All the scheduled notifications for that user are rescheduled to now\r\n - The current notification goes back to the queue to be processed ordered by creation date", + "milestone": "3.2.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "17372", + "title": "[NEW] Error page when browser is not supported", + "userLogin": "ggazzo", + "milestone": "3.2.0", + "contributors": [ + "ggazzo", + "rodrigok" + ] + }, + { + "pr": "17141", + "title": "[NEW] [ENTERPRISE] Omnichannel queue priorities", + "userLogin": "MarcosSpessatto", + "milestone": "3.2.0", + "contributors": [ + "renatobecker", + "MarcosSpessatto", + "web-flow" + ] + }, + { + "pr": "15488", + "title": "[IMPROVE] Change the SAML metadata order to conform to XSD specification", + "userLogin": "fcrespo82", + "milestone": "3.2.0", + "contributors": [ + "fcrespo82", + "web-flow", + "sampaiodiego" + ] + }, + { + "pr": "9995", + "title": "[IMPROVE] Filter markdown in notifications", + "userLogin": "c0dzilla", + "milestone": "3.2.0", + "contributors": [ + "c0dzilla", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "16056", + "title": "[IMPROVE] User gets UI feedback when message is pinned or unpinned", + "userLogin": "ashwaniYDV", + "milestone": "3.2.0", + "contributors": [ + "ashwaniYDV", + "web-flow", + "ggazzo", + "rodrigok" + ] + }, + { + "pr": "16343", + "title": "Remove set as alias setting", + "userLogin": "sampaiodiego", + "milestone": "3.2.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "16858", + "title": "[IMPROVE] Add `file-title` and `file-desc` as new filter tag options on message search", + "userLogin": "subham103", + "milestone": "3.2.0", + "contributors": [ + "subham103", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "17254", + "title": "[NEW] Add ability to set tags in the Omnichannel room closing dialog", + "userLogin": "renatobecker", + "milestone": "3.2.0", + "contributors": [ + "renatobecker", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "17047", + "title": "[FIX] Show active admin and user account menu item", + "userLogin": "hullen", + "milestone": "3.2.0", + "contributors": [ + "hullen", + "web-flow" + ] + }, + { + "pr": "17335", + "title": "[NEW] [ENTERPRISE] Allows to set a group of departments accepted for forwarding chats", + "userLogin": "MarcosSpessatto", + "milestone": "3.2.0", + "contributors": [ + "MarcosSpessatto", + "web-flow", + "renatobecker" + ] + }, + { + "pr": "17331", + "title": "[FIX] Prevent user from getting stuck on login, if there is some bad fname", + "userLogin": "ggazzo", + "milestone": "3.2.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "17238", + "title": "[FIX] Remove properties from users.info response", + "userLogin": "MarcosSpessatto", + "milestone": "3.2.0", + "contributors": [ + "MarcosSpessatto", + "web-flow" + ] + }, + { + "pr": "16286", + "title": "[NEW] Allow to send Agent custom fields through the Omnichannel CRM integration", + "userLogin": "renatobecker", + "milestone": "3.2.0", + "contributors": [ + "renatobecker", + "web-flow" + ] + }, + { + "pr": "17356", + "title": "[FIX] Spotify embed and collapsed", + "userLogin": "ffauvel", + "milestone": "3.2.0", + "contributors": [ + "ffauvel", + "web-flow", + "gabriellsh" + ] + }, + { + "pr": "17338", + "title": "Improve: Better Push Notification code", + "userLogin": "rodrigok", + "milestone": "3.2.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "17365", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "17290", + "title": "[FIX] Allow Screensharing in BBB Iframe", + "userLogin": "wolbernd", + "contributors": [ + "wolbernd", + "web-flow" + ] + }, + { + "pr": "16762", + "title": "[NEW] Make the header for rooms clickable", + "userLogin": "aKn1ghtOut", + "milestone": "3.2.0", + "contributors": [ + "aKn1ghtOut", + "gabriellsh" + ] + }, + { + "pr": "17355", + "title": "Regression: Import data pagination", + "userLogin": "ggazzo", + "milestone": "3.2.0", + "contributors": [ + "ggazzo", + "tassoevan", + "web-flow" + ] + }, + { + "pr": "17353", + "title": "[NEW] Allow to set a comment when forwarding Omnichannel chats", + "userLogin": "renatobecker", + "milestone": "3.2.0", + "contributors": [ + "renatobecker", + "web-flow" + ] + }, + { + "pr": "17320", + "title": "[FIX] Web Client memory leak caused by the Emoji rendering", + "userLogin": "ggazzo", + "milestone": "3.1.2", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "17348", + "title": "[FIX] Omnichannel room info panel opening whenever a message is sent", + "userLogin": "renatobecker", + "milestone": "3.1.2", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "17249", + "title": "[FIX] New user added by admin doesn't receive random password email", + "userLogin": "pierre-lehnen-rc", + "milestone": "3.1.2", + "contributors": [ + "pierre-lehnen-rc" + ] + }, + { + "pr": "17323", + "title": "Bump https-proxy-agent from 2.2.1 to 2.2.4", + "userLogin": "dependabot[bot]", + "contributors": [ + "dependabot[bot]", + "web-flow" + ] + }, + { + "pr": "16683", + "title": "[NEW] Adds ability for Rocket.Chat Apps to create discussions", + "userLogin": "marceloschmidt", + "milestone": "3.2.0", + "contributors": [ + "marceloschmidt", + "lolimay", + "web-flow", + "d-gubert" + ] + }, + { + "pr": "17347", + "title": "[IMPROVE] Add possibility to sort the Omnichannel current chats list by column", + "userLogin": "MarcosSpessatto", + "milestone": "3.2.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "17289", + "title": "[IMPROVE] Redesign Administration > Import", + "userLogin": "tassoevan", + "milestone": "3.2.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "17322", + "title": "Mailer Scrollbar", + "userLogin": "gabriellsh", + "contributors": [ + "gabriellsh" + ] + }, + { + "pr": "17191", + "title": "[IMPROVE] Administration -> Mailer Rewrite.", + "userLogin": "gabriellsh", + "milestone": "3.2.0", + "contributors": [ + "gabriellsh", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "17321", + "title": "Regression: Storybook", + "userLogin": "gabriellsh", + "contributors": [ + "gabriellsh" + ] + }, + { + "pr": "15690", + "title": "[NEW] Feature/custom oauth mail field and interpolation for mapped fields", + "userLogin": "benkroeger", + "milestone": "3.2.0", + "contributors": [ + "sampaiodiego", + "benkroeger", + "web-flow" + ] + }, + { + "pr": "17226", + "title": "[FIX] \"Invalid Invite\" message when registration is disabled", + "userLogin": "pierre-lehnen-rc", + "contributors": [ + "pierre-lehnen-rc", + "web-flow" + ] + }, + { + "pr": "16536", + "title": "[FIX] Red color error outline is not removed after password update on profile details", + "userLogin": "ashwaniYDV", + "milestone": "3.2.0", + "contributors": [ + "ashwaniYDV", + "gabriellsh", + "web-flow" + ] + }, + { + "pr": "8799", + "title": "[FIX] Change wording to start DM from info panel", + "userLogin": "bryandesrosiers", + "milestone": "3.2.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "17305", + "title": "New hooks for RouterContext", + "userLogin": "tassoevan", + "milestone": "3.2.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "17278", + "title": "[FIX] SAML assertion signature enforcement", + "userLogin": "pierre-lehnen-rc", + "milestone": "3.1.1", + "contributors": [ + "pierre-lehnen-rc", + "sampaiodiego" + ] + }, + { + "pr": "17302", + "title": "[FIX] LDAP users lose session on refresh", + "userLogin": "pierre-lehnen-rc", + "milestone": "3.1.1", + "contributors": [ + "pierre-lehnen-rc" + ] + }, + { + "pr": "17217", + "title": "[NEW] Add MMS support to Voxtelesys", + "userLogin": "john08burke", + "milestone": "3.2.0", + "contributors": [ + "john08burke", + "renatobecker", + "web-flow" + ] + }, + { + "pr": "17198", + "title": "[FIX] Popover component doesn't have scroll", + "userLogin": "Nikhil713", + "milestone": "3.2.0", + "contributors": [ + "Nikhil713", + "gabriellsh", + "web-flow" + ] + }, + { + "pr": "17288", + "title": " [FIX] Omnichannel SMS / WhatsApp integration errors due to missing location data", + "userLogin": "renatobecker", + "milestone": "3.1.1", + "contributors": [ + "renatobecker", + "web-flow" + ] + }, + { + "pr": "17299", + "title": "[FIX] User search on directory not working correctly", + "userLogin": "rodrigok", + "milestone": "3.1.1", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "16313", + "title": "[FIX] Can not save Unread Tray Icon Alert user preference", + "userLogin": "taiju271", + "milestone": "3.2.0", + "contributors": [ + "taiju271", + "web-flow", + "gabriellsh" + ] + }, + { + "pr": "15997", + "title": "[FIX] Variable rendering problem on Import recent history page", + "userLogin": "ritwizsinha", + "contributors": [ + "ritwizsinha", + "gabriellsh", + "web-flow" + ] + }, + { + "pr": "16215", + "title": "[FIX] Admin panel custom sounds, multiple sound playback fix and added single play/pause button", + "userLogin": "ashwaniYDV", + "contributors": [ + "ashwaniYDV", + "web-flow" + ] + }, + { + "pr": "17282", + "title": "[FIX] Discussions created from inside DMs were not working and some errors accessing recently created rooms", + "userLogin": "rodrigok", + "milestone": "3.1.1", + "contributors": [ + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "16742", + "title": "[FIX] Translation for nl", + "userLogin": "CC007", + "contributors": [ + "CC007", + "web-flow" + ] + }, + { + "pr": "16534", + "title": "[FIX] No maxlength(120) defined for custom user status", + "userLogin": "ashwaniYDV", + "contributors": [ + "ashwaniYDV", + "gabriellsh", + "web-flow" + ] + }, + { + "pr": "16606", + "title": "[FIX] Fixed email sort button in directory -> users", + "userLogin": "ashwaniYDV", + "milestone": "3.2.0", + "contributors": [ + "ashwaniYDV", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "16405", + "title": "[FIX] In Create a New Channel, input should be focused on channel name instead of invite users", + "userLogin": "ashwaniYDV", + "contributors": [ + "ashwaniYDV", + "web-flow" + ] + }, + { + "pr": "16236", + "title": "[FIX] Email not verified message", + "userLogin": "gabriellsh", + "milestone": "3.2.0", + "contributors": [ + "gabriellsh", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "17283", + "title": "[FIX] Directory default tab", + "userLogin": "ggazzo", + "milestone": "3.1.1", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "16869", + "title": "[FIX] Update ru.i18n.json", + "userLogin": "1rV1N-git", + "contributors": [ + "1rV1N-git", + "web-flow" + ] + }, + { + "pr": "17286", + "title": "[FIX] Avatar on sidebar when showing real names", + "userLogin": "ggazzo", + "milestone": "3.1.1", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "17287", + "title": "Update Apps-Engine to stable version", + "userLogin": "d-gubert", + "milestone": "3.1.1", + "contributors": [ + "d-gubert" + ] + }, + { + "pr": "17055", + "title": "[NEW][ENTERPRISE] Auto close abandoned Omnichannel rooms", + "userLogin": "MarcosSpessatto", + "milestone": "3.2.0", + "contributors": [ + "MarcosSpessatto", + "web-flow", + "renatobecker" + ] + }, + { + "pr": "17285", + "title": "Static props for Administration route components", + "userLogin": "tassoevan", + "milestone": "3.2.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "16025", + "title": "[NEW] Default favorite channels", + "userLogin": "gabriellsh", + "milestone": "3.2.0", + "contributors": [ + "gabriellsh", + "web-flow", + "ggazzo" + ] + }, + { + "pr": "17280", + "title": "Apply $and helper to message template", + "userLogin": "tassoevan", + "milestone": "3.2.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "17222", + "title": "[NEW] Enable the IDP to choose the best authnContext", + "userLogin": "felipecrp", + "contributors": [ + "felipecrp", + "pierre-lehnen-rc", + "web-flow" + ] + }, + { + "pr": "17130", + "title": "[NEW] Support importing Slack threads", + "userLogin": "lpilz", + "contributors": [ + "lpilz", + "web-flow" + ] + }, + { + "pr": "17107", + "title": "Upgrade file storage packages", + "userLogin": "sampaiodiego", + "milestone": "3.2.0", + "contributors": [ + "sampaiodiego", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "17274", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "contributors": [ + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "17275", + "title": "[FIX] 404 error when clicking an username", + "userLogin": "pierre-lehnen-rc", + "milestone": "3.1.1", + "contributors": [ + "pierre-lehnen-rc" + ] + }, + { + "pr": "16771", + "title": "[FIX] Global event click-message-link not fired", + "userLogin": "tassoevan", + "milestone": "3.1.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "16806", + "title": "[NEW] Add Color variable to left sidebar", + "userLogin": "MartinSchoeler", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "16887", + "title": "[FIX] Search valid for emoji with dual name", + "userLogin": "subham103", + "contributors": [ + "subham103" + ] + }, + { + "pr": "16959", + "title": "[FIX] Threads: Hide Usernames hides Full names.", + "userLogin": "gabriellsh", + "contributors": [ + "gabriellsh", + "web-flow" + ] + }, + { + "pr": "17207", + "title": "[NEW] Buttons to check/uncheck all users and channels on import", + "userLogin": "pierre-lehnen-rc", + "contributors": [ + "pierre-lehnen-rc", + "web-flow" + ] + }, + { + "pr": "17261", + "title": "[IMPROVE] Move CSS imports to `/app` modules", + "userLogin": "tassoevan", + "milestone": "3.2.0", + "contributors": [ + "tassoevan", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "17265", + "title": "[FIX] Unsafe React portals mount/unmount ", + "userLogin": "tassoevan", + "milestone": "3.2.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "17266", + "title": "[CHORE] Move polyfills to client/", + "userLogin": "tassoevan", + "milestone": "3.2.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "17241", + "title": "Merge master into develop & Set version to 3.2.0-develop", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego", + "web-flow", + "1rV1N-git", + "rodrigok", + "d-gubert", + "renatobecker" + ] + }, + { + "pr": "17209", + "title": "[IMPROVE] Administration Pages root rewritten", + "userLogin": "tassoevan", + "contributors": [ + "tassoevan", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "16642", + "title": "[IMPROVE] Increase decoupling between React components and Blaze templates", + "userLogin": "tassoevan", + "milestone": "3.1.0", + "contributors": [ + "tassoevan", + "ggazzo", + "web-flow" + ] + } + ] } } } \ No newline at end of file diff --git a/HISTORY.md b/HISTORY.md index 16782fa4ff99..6c2bf04459a5 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,4 +1,231 @@ +# 3.2.0 (Under Release Candidate Process) + +## 3.2.0-rc.0 +`2020-04-21 · 19 🎉 · 10 🚀 · 36 🐛 · 15 🔍 · 31 👩‍💻👨‍💻` + +### 🎉 New features + + +- [ENTERPRISE] Restrict the permissions configuration for guest users ([#17333](https://github.com/RocketChat/Rocket.Chat/pull/17333)) + The **Guest* * role is blocked for edition on the EE version. This will allow the EE customers to receive licenses with extra seats for Guests for free. The CE version continues to have the Guest role configurable. + +- Federation event for when users left rooms ([#17091](https://github.com/RocketChat/Rocket.Chat/pull/17091)) + +- Better Push and Email Notification logic ([#17357](https://github.com/RocketChat/Rocket.Chat/pull/17357)) + 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 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 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: + - 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 + +- Error page when browser is not supported ([#17372](https://github.com/RocketChat/Rocket.Chat/pull/17372)) + +- [ENTERPRISE] Omnichannel queue priorities ([#17141](https://github.com/RocketChat/Rocket.Chat/pull/17141)) + +- Add ability to set tags in the Omnichannel room closing dialog ([#17254](https://github.com/RocketChat/Rocket.Chat/pull/17254)) + +- [ENTERPRISE] Allows to set a group of departments accepted for forwarding chats ([#17335](https://github.com/RocketChat/Rocket.Chat/pull/17335)) + +- Allow to send Agent custom fields through the Omnichannel CRM integration ([#16286](https://github.com/RocketChat/Rocket.Chat/pull/16286)) + +- Make the header for rooms clickable ([#16762](https://github.com/RocketChat/Rocket.Chat/pull/16762) by [@aKn1ghtOut](https://github.com/aKn1ghtOut)) + +- Allow to set a comment when forwarding Omnichannel chats ([#17353](https://github.com/RocketChat/Rocket.Chat/pull/17353)) + +- Adds ability for Rocket.Chat Apps to create discussions ([#16683](https://github.com/RocketChat/Rocket.Chat/pull/16683)) + +- Feature/custom oauth mail field and interpolation for mapped fields ([#15690](https://github.com/RocketChat/Rocket.Chat/pull/15690) by [@benkroeger](https://github.com/benkroeger)) + +- Add MMS support to Voxtelesys ([#17217](https://github.com/RocketChat/Rocket.Chat/pull/17217) by [@john08burke](https://github.com/john08burke)) + +- [ENTERPRISE] Auto close abandoned Omnichannel rooms ([#17055](https://github.com/RocketChat/Rocket.Chat/pull/17055)) + +- Default favorite channels ([#16025](https://github.com/RocketChat/Rocket.Chat/pull/16025)) + +- Enable the IDP to choose the best authnContext ([#17222](https://github.com/RocketChat/Rocket.Chat/pull/17222) by [@felipecrp](https://github.com/felipecrp)) + +- Support importing Slack threads ([#17130](https://github.com/RocketChat/Rocket.Chat/pull/17130) by [@lpilz](https://github.com/lpilz)) + +- Add Color variable to left sidebar ([#16806](https://github.com/RocketChat/Rocket.Chat/pull/16806)) + +- Buttons to check/uncheck all users and channels on import ([#17207](https://github.com/RocketChat/Rocket.Chat/pull/17207)) + +### 🚀 Improvements + + +- Change the SAML metadata order to conform to XSD specification ([#15488](https://github.com/RocketChat/Rocket.Chat/pull/15488) by [@fcrespo82](https://github.com/fcrespo82)) + +- Filter markdown in notifications ([#9995](https://github.com/RocketChat/Rocket.Chat/pull/9995) by [@c0dzilla](https://github.com/c0dzilla)) + +- User gets UI feedback when message is pinned or unpinned ([#16056](https://github.com/RocketChat/Rocket.Chat/pull/16056) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + +- Add `file-title` and `file-desc` as new filter tag options on message search ([#16858](https://github.com/RocketChat/Rocket.Chat/pull/16858) by [@subham103](https://github.com/subham103)) + +- Add possibility to sort the Omnichannel current chats list by column ([#17347](https://github.com/RocketChat/Rocket.Chat/pull/17347)) + +- Redesign Administration > Import ([#17289](https://github.com/RocketChat/Rocket.Chat/pull/17289)) + +- Administration -> Mailer Rewrite. ([#17191](https://github.com/RocketChat/Rocket.Chat/pull/17191)) + +- Move CSS imports to `/app` modules ([#17261](https://github.com/RocketChat/Rocket.Chat/pull/17261)) + +- Administration Pages root rewritten ([#17209](https://github.com/RocketChat/Rocket.Chat/pull/17209)) + +- Increase decoupling between React components and Blaze templates ([#16642](https://github.com/RocketChat/Rocket.Chat/pull/16642)) + +### 🐛 Bug fixes + + +- CSV Importer fails when there are no users to import ([#16790](https://github.com/RocketChat/Rocket.Chat/pull/16790)) + +- Import slack's multiple direct messages as direct rooms instead of private groups ([#17206](https://github.com/RocketChat/Rocket.Chat/pull/17206)) + +- SAML Idp Initiated Logout Error ([#17324](https://github.com/RocketChat/Rocket.Chat/pull/17324)) + +- Show active admin and user account menu item ([#17047](https://github.com/RocketChat/Rocket.Chat/pull/17047) by [@hullen](https://github.com/hullen)) + +- Prevent user from getting stuck on login, if there is some bad fname ([#17331](https://github.com/RocketChat/Rocket.Chat/pull/17331)) + +- Remove properties from users.info response ([#17238](https://github.com/RocketChat/Rocket.Chat/pull/17238)) + +- Spotify embed and collapsed ([#17356](https://github.com/RocketChat/Rocket.Chat/pull/17356) by [@ffauvel](https://github.com/ffauvel)) + +- Allow Screensharing in BBB Iframe ([#17290](https://github.com/RocketChat/Rocket.Chat/pull/17290) by [@wolbernd](https://github.com/wolbernd)) + +- Web Client memory leak caused by the Emoji rendering ([#17320](https://github.com/RocketChat/Rocket.Chat/pull/17320)) + +- Omnichannel room info panel opening whenever a message is sent ([#17348](https://github.com/RocketChat/Rocket.Chat/pull/17348)) + +- New user added by admin doesn't receive random password email ([#17249](https://github.com/RocketChat/Rocket.Chat/pull/17249)) + +- "Invalid Invite" message when registration is disabled ([#17226](https://github.com/RocketChat/Rocket.Chat/pull/17226)) + +- Red color error outline is not removed after password update on profile details ([#16536](https://github.com/RocketChat/Rocket.Chat/pull/16536) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + +- Change wording to start DM from info panel ([#8799](https://github.com/RocketChat/Rocket.Chat/pull/8799)) + +- SAML assertion signature enforcement ([#17278](https://github.com/RocketChat/Rocket.Chat/pull/17278)) + +- LDAP users lose session on refresh ([#17302](https://github.com/RocketChat/Rocket.Chat/pull/17302)) + +- Popover component doesn't have scroll ([#17198](https://github.com/RocketChat/Rocket.Chat/pull/17198) by [@Nikhil713](https://github.com/Nikhil713)) + +- Omnichannel SMS / WhatsApp integration errors due to missing location data ([#17288](https://github.com/RocketChat/Rocket.Chat/pull/17288)) + +- User search on directory not working correctly ([#17299](https://github.com/RocketChat/Rocket.Chat/pull/17299)) + +- Can not save Unread Tray Icon Alert user preference ([#16313](https://github.com/RocketChat/Rocket.Chat/pull/16313) by [@taiju271](https://github.com/taiju271)) + +- Variable rendering problem on Import recent history page ([#15997](https://github.com/RocketChat/Rocket.Chat/pull/15997) by [@ritwizsinha](https://github.com/ritwizsinha)) + +- Admin panel custom sounds, multiple sound playback fix and added single play/pause button ([#16215](https://github.com/RocketChat/Rocket.Chat/pull/16215) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + +- Discussions created from inside DMs were not working and some errors accessing recently created rooms ([#17282](https://github.com/RocketChat/Rocket.Chat/pull/17282)) + +- Translation for nl ([#16742](https://github.com/RocketChat/Rocket.Chat/pull/16742) by [@CC007](https://github.com/CC007)) + +- No maxlength(120) defined for custom user status ([#16534](https://github.com/RocketChat/Rocket.Chat/pull/16534) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + +- Fixed email sort button in directory -> users ([#16606](https://github.com/RocketChat/Rocket.Chat/pull/16606) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + +- In Create a New Channel, input should be focused on channel name instead of invite users ([#16405](https://github.com/RocketChat/Rocket.Chat/pull/16405) by [@ashwaniYDV](https://github.com/ashwaniYDV)) + +- Email not verified message ([#16236](https://github.com/RocketChat/Rocket.Chat/pull/16236)) + +- Directory default tab ([#17283](https://github.com/RocketChat/Rocket.Chat/pull/17283)) + +- Update ru.i18n.json ([#16869](https://github.com/RocketChat/Rocket.Chat/pull/16869) by [@1rV1N-git](https://github.com/1rV1N-git)) + +- Avatar on sidebar when showing real names ([#17286](https://github.com/RocketChat/Rocket.Chat/pull/17286)) + +- 404 error when clicking an username ([#17275](https://github.com/RocketChat/Rocket.Chat/pull/17275)) + +- Global event click-message-link not fired ([#16771](https://github.com/RocketChat/Rocket.Chat/pull/16771)) + +- Search valid for emoji with dual name ([#16887](https://github.com/RocketChat/Rocket.Chat/pull/16887) by [@subham103](https://github.com/subham103)) + +- Threads: Hide Usernames hides Full names. ([#16959](https://github.com/RocketChat/Rocket.Chat/pull/16959)) + +- Unsafe React portals mount/unmount ([#17265](https://github.com/RocketChat/Rocket.Chat/pull/17265)) + +
+🔍 Minor changes + + +- Remove set as alias setting ([#16343](https://github.com/RocketChat/Rocket.Chat/pull/16343)) + +- Improve: Better Push Notification code ([#17338](https://github.com/RocketChat/Rocket.Chat/pull/17338)) + +- LingoHub based on develop ([#17365](https://github.com/RocketChat/Rocket.Chat/pull/17365)) + +- Regression: Import data pagination ([#17355](https://github.com/RocketChat/Rocket.Chat/pull/17355)) + +- Bump https-proxy-agent from 2.2.1 to 2.2.4 ([#17323](https://github.com/RocketChat/Rocket.Chat/pull/17323) by [@dependabot[bot]](https://github.com/dependabot[bot])) + +- Mailer Scrollbar ([#17322](https://github.com/RocketChat/Rocket.Chat/pull/17322)) + +- Regression: Storybook ([#17321](https://github.com/RocketChat/Rocket.Chat/pull/17321)) + +- New hooks for RouterContext ([#17305](https://github.com/RocketChat/Rocket.Chat/pull/17305)) + +- Update Apps-Engine to stable version ([#17287](https://github.com/RocketChat/Rocket.Chat/pull/17287)) + +- Static props for Administration route components ([#17285](https://github.com/RocketChat/Rocket.Chat/pull/17285)) + +- Apply $and helper to message template ([#17280](https://github.com/RocketChat/Rocket.Chat/pull/17280)) + +- Upgrade file storage packages ([#17107](https://github.com/RocketChat/Rocket.Chat/pull/17107)) + +- LingoHub based on develop ([#17274](https://github.com/RocketChat/Rocket.Chat/pull/17274)) + +- [CHORE] Move polyfills to client/ ([#17266](https://github.com/RocketChat/Rocket.Chat/pull/17266)) + +- Merge master into develop & Set version to 3.2.0-develop ([#17241](https://github.com/RocketChat/Rocket.Chat/pull/17241) by [@1rV1N-git](https://github.com/1rV1N-git)) + +
+ +### 👩‍💻👨‍💻 Contributors 😍 + +- [@1rV1N-git](https://github.com/1rV1N-git) +- [@CC007](https://github.com/CC007) +- [@Nikhil713](https://github.com/Nikhil713) +- [@aKn1ghtOut](https://github.com/aKn1ghtOut) +- [@ashwaniYDV](https://github.com/ashwaniYDV) +- [@benkroeger](https://github.com/benkroeger) +- [@c0dzilla](https://github.com/c0dzilla) +- [@dependabot[bot]](https://github.com/dependabot[bot]) +- [@fcrespo82](https://github.com/fcrespo82) +- [@felipecrp](https://github.com/felipecrp) +- [@ffauvel](https://github.com/ffauvel) +- [@hullen](https://github.com/hullen) +- [@john08burke](https://github.com/john08burke) +- [@lpilz](https://github.com/lpilz) +- [@ritwizsinha](https://github.com/ritwizsinha) +- [@subham103](https://github.com/subham103) +- [@taiju271](https://github.com/taiju271) +- [@wolbernd](https://github.com/wolbernd) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@MarcosSpessatto](https://github.com/MarcosSpessatto) +- [@MartinSchoeler](https://github.com/MartinSchoeler) +- [@alansikora](https://github.com/alansikora) +- [@d-gubert](https://github.com/d-gubert) +- [@gabriellsh](https://github.com/gabriellsh) +- [@ggazzo](https://github.com/ggazzo) +- [@lolimay](https://github.com/lolimay) +- [@marceloschmidt](https://github.com/marceloschmidt) +- [@pierre-lehnen-rc](https://github.com/pierre-lehnen-rc) +- [@renatobecker](https://github.com/renatobecker) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) +- [@tassoevan](https://github.com/tassoevan) + # 3.1.1 `2020-04-14 · 8 🐛 · 1 🔍 · 6 👩‍💻👨‍💻` diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index 21f9e2ed028a..8b82ff17204c 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.2.0-develop" + "version": "3.2.0-rc.0" } diff --git a/package.json b/package.json index 84992469d2da..7ff9f54fe3f4 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-develop", + "version": "3.2.0-rc.0", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From 01e882942ebc59f3199d976b319769f6f1e6b732 Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Wed, 22 Apr 2020 22:33:28 -0300 Subject: [PATCH 02/16] Bump version to 3.2.0-rc.1 --- .docker/Dockerfile.rhel | 2 +- .github/history.json | 29 +++++++++++++++++++++++++++++ HISTORY.md | 25 ++++++++++++++++++++++++- app/utils/rocketchat.info | 2 +- package.json | 2 +- 5 files changed, 56 insertions(+), 4 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index cd60bcab8a3c..b3687260a45b 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-rc.0 +ENV RC_VERSION 3.2.0-rc.1 MAINTAINER buildmaster@rocket.chat diff --git a/.github/history.json b/.github/history.json index 83184f0bb24c..4a3e1b581612 100644 --- a/.github/history.json +++ b/.github/history.json @@ -43290,6 +43290,35 @@ ] } ] + }, + "3.2.0-rc.1": { + "node_version": "12.16.1", + "npm_version": "6.13.4", + "mongo_versions": [ + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "17391", + "title": "Regression: Fix mem usage with more than one argument", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "17378", + "title": "[FIX] 2FA not showing codes for Spanish translation", + "userLogin": "RavenSystem", + "milestone": "3.2.0", + "contributors": [ + "RavenSystem", + "web-flow" + ] + } + ] } } } \ No newline at end of file diff --git a/HISTORY.md b/HISTORY.md index 6c2bf04459a5..77b644bda58e 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,6 +1,30 @@ # 3.2.0 (Under Release Candidate Process) +## 3.2.0-rc.1 +`2020-04-22 · 1 🐛 · 1 🔍 · 2 👩‍💻👨‍💻` + +### 🐛 Bug fixes + + +- 2FA not showing codes for Spanish translation ([#17378](https://github.com/RocketChat/Rocket.Chat/pull/17378) by [@RavenSystem](https://github.com/RavenSystem)) + +
+🔍 Minor changes + + +- Regression: Fix mem usage with more than one argument ([#17391](https://github.com/RocketChat/Rocket.Chat/pull/17391)) + +
+ +### 👩‍💻👨‍💻 Contributors 😍 + +- [@RavenSystem](https://github.com/RavenSystem) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@sampaiodiego](https://github.com/sampaiodiego) + ## 3.2.0-rc.0 `2020-04-21 · 19 🎉 · 10 🚀 · 36 🐛 · 15 🔍 · 31 👩‍💻👨‍💻` @@ -1846,7 +1870,6 @@ ### Engine versions - Node: `8.15.1` - NPM: `6.9.0` -- MongoDB: `` ### 🐛 Bug fixes diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index 8b82ff17204c..e0c2b1da6046 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.2.0-rc.0" + "version": "3.2.0-rc.1" } diff --git a/package.json b/package.json index 7ff9f54fe3f4..719148adeffb 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-rc.0", + "version": "3.2.0-rc.1", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From 0520a3d4802340cd433fdf912fa0e2f6a90befe8 Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Mon, 27 Apr 2020 16:54:01 -0300 Subject: [PATCH 03/16] Bump version to 3.2.0-rc.2 --- .docker/Dockerfile.rhel | 2 +- .github/history.json | 85 +++++++++++++++++++++++++++++++++ HISTORY.md | 99 +++++++++++++++++++++++++++++---------- app/utils/rocketchat.info | 2 +- package.json | 2 +- 5 files changed, 161 insertions(+), 29 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index b3687260a45b..cbf568e64e52 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-rc.1 +ENV RC_VERSION 3.2.0-rc.2 MAINTAINER buildmaster@rocket.chat diff --git a/.github/history.json b/.github/history.json index 4a3e1b581612..fc6092047e9d 100644 --- a/.github/history.json +++ b/.github/history.json @@ -43319,6 +43319,91 @@ ] } ] + }, + "3.2.0-rc.2": { + "pull_requests": [ + { + "pr": "17453", + "title": "[FIX] LDAP error when trying to add room with spaces in the name", + "userLogin": "pierre-lehnen-rc", + "milestone": "3.1.2", + "contributors": [ + "pierre-lehnen-rc" + ] + }, + { + "pr": "17393", + "title": "Complement Guest role restrictions for Enterprise", + "userLogin": "pierre-lehnen-rc", + "contributors": [ + "pierre-lehnen-rc", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "17430", + "title": "Regression: Add missing cacheKey to mem", + "userLogin": "sampaiodiego", + "milestone": "3.1.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "17428", + "title": "Remove `@typescript-eslint/explicit-function-return-type` rule", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "17422", + "title": "[FIX] Empty Incoming webhook script field ", + "userLogin": "ggazzo", + "milestone": "3.1.2", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "17417", + "title": "[FIX] LDAP Sync error", + "userLogin": "fastrde", + "milestone": "3.1.2", + "contributors": [ + "fastrde" + ] + }, + { + "pr": "17404", + "title": "[FIX] Bot Agents not being able to get Omnichannel Inquiries", + "userLogin": "renatobecker", + "milestone": "3.1.2", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "17406", + "title": "[FIX] Allowing blocking a user on channels", + "userLogin": "sampaiodiego", + "milestone": "3.1.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "17297", + "title": "Fix moving-to-a-single-codebase link in README", + "userLogin": "Krinkle", + "contributors": [ + "Krinkle", + "web-flow" + ] + } + ] } } } \ No newline at end of file diff --git a/HISTORY.md b/HISTORY.md index 77b644bda58e..ec7fcfc2f05e 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,6 +1,48 @@ # 3.2.0 (Under Release Candidate Process) +## 3.2.0-rc.2 +`2020-04-27 · 5 🐛 · 4 🔍 · 6 👩‍💻👨‍💻` + +### 🐛 Bug fixes + + +- LDAP error when trying to add room with spaces in the name ([#17453](https://github.com/RocketChat/Rocket.Chat/pull/17453)) + +- Empty Incoming webhook script field ([#17422](https://github.com/RocketChat/Rocket.Chat/pull/17422)) + +- LDAP Sync error ([#17417](https://github.com/RocketChat/Rocket.Chat/pull/17417) by [@fastrde](https://github.com/fastrde)) + +- Bot Agents not being able to get Omnichannel Inquiries ([#17404](https://github.com/RocketChat/Rocket.Chat/pull/17404)) + +- Allowing blocking a user on channels ([#17406](https://github.com/RocketChat/Rocket.Chat/pull/17406)) + +
+🔍 Minor changes + + +- Complement Guest role restrictions for Enterprise ([#17393](https://github.com/RocketChat/Rocket.Chat/pull/17393)) + +- Regression: Add missing cacheKey to mem ([#17430](https://github.com/RocketChat/Rocket.Chat/pull/17430)) + +- Remove `@typescript-eslint/explicit-function-return-type` rule ([#17428](https://github.com/RocketChat/Rocket.Chat/pull/17428)) + +- Fix moving-to-a-single-codebase link in README ([#17297](https://github.com/RocketChat/Rocket.Chat/pull/17297) by [@Krinkle](https://github.com/Krinkle)) + +
+ +### 👩‍💻👨‍💻 Contributors 😍 + +- [@Krinkle](https://github.com/Krinkle) +- [@fastrde](https://github.com/fastrde) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@ggazzo](https://github.com/ggazzo) +- [@pierre-lehnen-rc](https://github.com/pierre-lehnen-rc) +- [@renatobecker](https://github.com/renatobecker) +- [@sampaiodiego](https://github.com/sampaiodiego) + ## 3.2.0-rc.1 `2020-04-22 · 1 🐛 · 1 🔍 · 2 👩‍💻👨‍💻` @@ -31,30 +73,34 @@ ### 🎉 New features -- [ENTERPRISE] Restrict the permissions configuration for guest users ([#17333](https://github.com/RocketChat/Rocket.Chat/pull/17333)) - The **Guest* * role is blocked for edition on the EE version. This will allow the EE customers to receive licenses with extra seats for Guests for free. The CE version continues to have the Guest role configurable. +- **ENTERPRISE:** Restrict the permissions configuration for guest users ([#17333](https://github.com/RocketChat/Rocket.Chat/pull/17333)) + + The **Guest** role is blocked for edition on the EE version. This will allow the EE customers to receive licenses with extra seats for Guests for free. The CE version continues to have the Guest role configurable. + +- **ENTERPRISE:** Omnichannel queue priorities ([#17141](https://github.com/RocketChat/Rocket.Chat/pull/17141)) + +- **ENTERPRISE:** Allows to set a group of departments accepted for forwarding chats ([#17335](https://github.com/RocketChat/Rocket.Chat/pull/17335)) + +- **ENTERPRISE:** Auto close abandoned Omnichannel rooms ([#17055](https://github.com/RocketChat/Rocket.Chat/pull/17055)) - Federation event for when users left rooms ([#17091](https://github.com/RocketChat/Rocket.Chat/pull/17091)) - Better Push and Email Notification logic ([#17357](https://github.com/RocketChat/Rocket.Chat/pull/17357)) + 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 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 reads a channel all the notifications for that user are removed (clear queue) + + - 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 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 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 - The current notification goes back to the queue to be processed ordered by creation date - Error page when browser is not supported ([#17372](https://github.com/RocketChat/Rocket.Chat/pull/17372)) -- [ENTERPRISE] Omnichannel queue priorities ([#17141](https://github.com/RocketChat/Rocket.Chat/pull/17141)) - - Add ability to set tags in the Omnichannel room closing dialog ([#17254](https://github.com/RocketChat/Rocket.Chat/pull/17254)) -- [ENTERPRISE] Allows to set a group of departments accepted for forwarding chats ([#17335](https://github.com/RocketChat/Rocket.Chat/pull/17335)) - - Allow to send Agent custom fields through the Omnichannel CRM integration ([#16286](https://github.com/RocketChat/Rocket.Chat/pull/16286)) - Make the header for rooms clickable ([#16762](https://github.com/RocketChat/Rocket.Chat/pull/16762) by [@aKn1ghtOut](https://github.com/aKn1ghtOut)) @@ -67,8 +113,6 @@ - Add MMS support to Voxtelesys ([#17217](https://github.com/RocketChat/Rocket.Chat/pull/17217) by [@john08burke](https://github.com/john08burke)) -- [ENTERPRISE] Auto close abandoned Omnichannel rooms ([#17055](https://github.com/RocketChat/Rocket.Chat/pull/17055)) - - Default favorite channels ([#16025](https://github.com/RocketChat/Rocket.Chat/pull/16025)) - Enable the IDP to choose the best authnContext ([#17222](https://github.com/RocketChat/Rocket.Chat/pull/17222) by [@felipecrp](https://github.com/felipecrp)) @@ -305,12 +349,12 @@ ### 🎉 New features +- **ENTERPRISE:** Engagement Dashboard ([#16960](https://github.com/RocketChat/Rocket.Chat/pull/16960)) + - Sort channel directory listing by latest message ([#16604](https://github.com/RocketChat/Rocket.Chat/pull/16604) by [@subham103](https://github.com/subham103)) - Direct message between multiple users ([#16761](https://github.com/RocketChat/Rocket.Chat/pull/16761)) -- [ENTERPRISE] Engagement Dashboard ([#16960](https://github.com/RocketChat/Rocket.Chat/pull/16960)) - - Synchronize saml roles to local user (#16152) ([#16158](https://github.com/RocketChat/Rocket.Chat/pull/16158) by [@col-panic](https://github.com/col-panic)) - Route to get updated roles after a date ([#16610](https://github.com/RocketChat/Rocket.Chat/pull/16610) by [@ashwaniYDV](https://github.com/ashwaniYDV)) @@ -328,6 +372,7 @@ - Two Factor authentication via email ([#15949](https://github.com/RocketChat/Rocket.Chat/pull/15949)) - Translation via MS translate ([#16363](https://github.com/RocketChat/Rocket.Chat/pull/16363) by [@mrsimpson](https://github.com/mrsimpson)) + Adds Microsoft's translation service (https://translator.microsoft.com/) as a provider for translation of messages. In addition to implementing the interface (similar to google and DeepL), a small change has been done in order to display the translation provider on the UI. @@ -350,6 +395,7 @@ - Directory page refactored, new user's bio field ([#17043](https://github.com/RocketChat/Rocket.Chat/pull/17043)) - Merge Sort List and View Mode menus and improve its UI/UX ([#17103](https://github.com/RocketChat/Rocket.Chat/pull/17103)) + ![image](https://user-images.githubusercontent.com/5263975/78036622-e8db2a80-7340-11ea-91d0-65728eabdcb6.png) - Add omnichannel external frame feature ([#17038](https://github.com/RocketChat/Rocket.Chat/pull/17038)) @@ -467,6 +513,7 @@ - Slackbridge-import command doesn't work ([#16645](https://github.com/RocketChat/Rocket.Chat/pull/16645) by [@antkaz](https://github.com/antkaz)) - Language country has been ignored on translation load ([#16757](https://github.com/RocketChat/Rocket.Chat/pull/16757)) + Languages including country variations like `pt-BR` were ignoring the country party because the user's preference has been saved in lowercase `pt-br` causing the language to not match the available languages. Now we enforce the uppercase of the country part when loading the language. - Cannot edit Profile when Full Name is empty and not required ([#16744](https://github.com/RocketChat/Rocket.Chat/pull/16744)) @@ -6461,9 +6508,9 @@ ### ⚠️ BREAKING CHANGES -- Update the default port of the Prometheus exporter ([#11351](https://github.com/RocketChat/Rocket.Chat/pull/11351) by [@thaiphv](https://github.com/thaiphv)) +- **IMPROVE:** New emails design ([#12009](https://github.com/RocketChat/Rocket.Chat/pull/12009)) -- [IMPROVE] New emails design ([#12009](https://github.com/RocketChat/Rocket.Chat/pull/12009)) +- Update the default port of the Prometheus exporter ([#11351](https://github.com/RocketChat/Rocket.Chat/pull/11351) by [@thaiphv](https://github.com/thaiphv)) ### 🎉 New features @@ -8996,7 +9043,7 @@ ### 🐛 Bug fixes -- [i18n] add room type translation support for room-changed-privacy message ([#9369](https://github.com/RocketChat/Rocket.Chat/pull/9369) by [@cyclops24](https://github.com/cyclops24)) +- **i18n:** add room type translation support for room-changed-privacy message ([#9369](https://github.com/RocketChat/Rocket.Chat/pull/9369) by [@cyclops24](https://github.com/cyclops24)) - Fix livechat register form ([#9452](https://github.com/RocketChat/Rocket.Chat/pull/9452)) @@ -9407,6 +9454,10 @@ ### 🐛 Bug fixes +- **i18n:** My Profile & README.md links ([#8270](https://github.com/RocketChat/Rocket.Chat/pull/8270) by [@Rzeszow](https://github.com/Rzeszow)) + +- **PL:** Polish translation ([#7989](https://github.com/RocketChat/Rocket.Chat/pull/7989) by [@Rzeszow](https://github.com/Rzeszow)) + - Can't react on Read Only rooms even when enabled ([#8925](https://github.com/RocketChat/Rocket.Chat/pull/8925) by [@karlprieb](https://github.com/karlprieb)) - CAS does not share secrets when operating multiple server instances ([#8654](https://github.com/RocketChat/Rocket.Chat/pull/8654) by [@AmShaegar13](https://github.com/AmShaegar13)) @@ -9595,8 +9646,6 @@ - Attachment icons alignment in LTR and RTL ([#8271](https://github.com/RocketChat/Rocket.Chat/pull/8271) by [@cyclops24](https://github.com/cyclops24)) -- [i18n] My Profile & README.md links ([#8270](https://github.com/RocketChat/Rocket.Chat/pull/8270) by [@Rzeszow](https://github.com/Rzeszow)) - - Incorrect URL for login terms when using prefix ([#8211](https://github.com/RocketChat/Rocket.Chat/pull/8211) by [@Darkneon](https://github.com/Darkneon)) - Scrollbar not using new style ([#8190](https://github.com/RocketChat/Rocket.Chat/pull/8190)) @@ -9641,8 +9690,6 @@ - Recent emojis not updated when adding via text ([#7998](https://github.com/RocketChat/Rocket.Chat/pull/7998)) -- [PL] Polish translation ([#7989](https://github.com/RocketChat/Rocket.Chat/pull/7989) by [@Rzeszow](https://github.com/Rzeszow)) - - Chat box no longer auto-focuses when typing ([#7984](https://github.com/RocketChat/Rocket.Chat/pull/7984)) - Fix the status on the members list ([#7963](https://github.com/RocketChat/Rocket.Chat/pull/7963)) @@ -10267,6 +10314,10 @@ ### 🐛 Bug fixes +- **PL:** Polish translation ([#7989](https://github.com/RocketChat/Rocket.Chat/pull/7989) by [@Rzeszow](https://github.com/Rzeszow)) + +- **i18n:** My Profile & README.md links ([#8270](https://github.com/RocketChat/Rocket.Chat/pull/8270) by [@Rzeszow](https://github.com/Rzeszow)) + - File upload on multi-instances using a path prefix ([#7855](https://github.com/RocketChat/Rocket.Chat/pull/7855) by [@Darkneon](https://github.com/Darkneon)) - Fix migration 100 ([#7863](https://github.com/RocketChat/Rocket.Chat/pull/7863)) @@ -10397,8 +10448,6 @@ - Recent emojis not updated when adding via text ([#7998](https://github.com/RocketChat/Rocket.Chat/pull/7998)) -- [PL] Polish translation ([#7989](https://github.com/RocketChat/Rocket.Chat/pull/7989) by [@Rzeszow](https://github.com/Rzeszow)) - - Fix email on mention ([#7754](https://github.com/RocketChat/Rocket.Chat/pull/7754)) - RTL ([#8112](https://github.com/RocketChat/Rocket.Chat/pull/8112)) @@ -10473,8 +10522,6 @@ - Attachment icons alignment in LTR and RTL ([#8271](https://github.com/RocketChat/Rocket.Chat/pull/8271) by [@cyclops24](https://github.com/cyclops24)) -- [i18n] My Profile & README.md links ([#8270](https://github.com/RocketChat/Rocket.Chat/pull/8270) by [@Rzeszow](https://github.com/Rzeszow)) - - some placeholder and phrase traslation fix ([#8269](https://github.com/RocketChat/Rocket.Chat/pull/8269) by [@cyclops24](https://github.com/cyclops24)) - "Channel Setting" buttons alignment in RTL ([#8266](https://github.com/RocketChat/Rocket.Chat/pull/8266) by [@cyclops24](https://github.com/cyclops24)) diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index e0c2b1da6046..3e194c954f59 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.2.0-rc.1" + "version": "3.2.0-rc.2" } diff --git a/package.json b/package.json index 719148adeffb..bd430c5519ce 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-rc.1", + "version": "3.2.0-rc.2", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From 31cced780c2240979022e5325900f1e5baa6ac42 Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Mon, 27 Apr 2020 19:16:19 -0300 Subject: [PATCH 04/16] Bump version to 3.2.0 --- .docker/Dockerfile.rhel | 2 +- .github/history.json | 216 +++++++++++++++++++++++++++++++++++++- HISTORY.md | 161 ++++++++++++---------------- app/utils/rocketchat.info | 2 +- package.json | 2 +- 5 files changed, 288 insertions(+), 95 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index cbf568e64e52..dc9695a75fb8 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-rc.2 +ENV RC_VERSION 3.2.0 MAINTAINER buildmaster@rocket.chat diff --git a/.github/history.json b/.github/history.json index 22bfe566405c..98c0a2c52507 100644 --- a/.github/history.json +++ b/.github/history.json @@ -43404,6 +43404,220 @@ ] } ] + }, + "3.1.2": { + "pull_requests": [ + { + "pr": "17454", + "title": "Release 3.1.2", + "userLogin": "sampaiodiego", + "contributors": [ + "pierre-lehnen-rc", + "sampaiodiego", + "renatobecker", + "ggazzo", + "fastrde" + ] + }, + { + "pr": "17453", + "title": "[FIX] LDAP error when trying to add room with spaces in the name", + "userLogin": "pierre-lehnen-rc", + "milestone": "3.1.2", + "contributors": [ + "pierre-lehnen-rc" + ] + }, + { + "pr": "17430", + "title": "Regression: Add missing cacheKey to mem", + "userLogin": "sampaiodiego", + "milestone": "3.1.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "17422", + "title": "[FIX] Empty Incoming webhook script field ", + "userLogin": "ggazzo", + "milestone": "3.1.2", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "17417", + "title": "[FIX] LDAP Sync error", + "userLogin": "fastrde", + "milestone": "3.1.2", + "contributors": [ + "fastrde" + ] + }, + { + "pr": "17404", + "title": "[FIX] Bot Agents not being able to get Omnichannel Inquiries", + "userLogin": "renatobecker", + "milestone": "3.1.2", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "17406", + "title": "[FIX] Allowing blocking a user on channels", + "userLogin": "sampaiodiego", + "milestone": "3.1.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "17391", + "title": "Regression: Fix mem usage with more than one argument", + "userLogin": "sampaiodiego", + "milestone": "3.1.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "17320", + "title": "[FIX] Web Client memory leak caused by the Emoji rendering", + "userLogin": "ggazzo", + "milestone": "3.1.2", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "17348", + "title": "[FIX] Omnichannel room info panel opening whenever a message is sent", + "userLogin": "renatobecker", + "milestone": "3.1.2", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "17249", + "title": "[FIX] New user added by admin doesn't receive random password email", + "userLogin": "pierre-lehnen-rc", + "milestone": "3.1.2", + "contributors": [ + "pierre-lehnen-rc" + ] + } + ] + }, + "3.2.0": { + "pull_requests": [ + { + "pr": "17454", + "title": "Release 3.1.2", + "userLogin": "sampaiodiego", + "contributors": [ + "pierre-lehnen-rc", + "sampaiodiego", + "renatobecker", + "ggazzo", + "fastrde" + ] + }, + { + "pr": "17453", + "title": "[FIX] LDAP error when trying to add room with spaces in the name", + "userLogin": "pierre-lehnen-rc", + "milestone": "3.1.2", + "contributors": [ + "pierre-lehnen-rc" + ] + }, + { + "pr": "17430", + "title": "Regression: Add missing cacheKey to mem", + "userLogin": "sampaiodiego", + "milestone": "3.1.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "17422", + "title": "[FIX] Empty Incoming webhook script field ", + "userLogin": "ggazzo", + "milestone": "3.1.2", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "17417", + "title": "[FIX] LDAP Sync error", + "userLogin": "fastrde", + "milestone": "3.1.2", + "contributors": [ + "fastrde" + ] + }, + { + "pr": "17404", + "title": "[FIX] Bot Agents not being able to get Omnichannel Inquiries", + "userLogin": "renatobecker", + "milestone": "3.1.2", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "17406", + "title": "[FIX] Allowing blocking a user on channels", + "userLogin": "sampaiodiego", + "milestone": "3.1.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "17391", + "title": "Regression: Fix mem usage with more than one argument", + "userLogin": "sampaiodiego", + "milestone": "3.1.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "17320", + "title": "[FIX] Web Client memory leak caused by the Emoji rendering", + "userLogin": "ggazzo", + "milestone": "3.1.2", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "17348", + "title": "[FIX] Omnichannel room info panel opening whenever a message is sent", + "userLogin": "renatobecker", + "milestone": "3.1.2", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "17249", + "title": "[FIX] New user added by admin doesn't receive random password email", + "userLogin": "pierre-lehnen-rc", + "milestone": "3.1.2", + "contributors": [ + "pierre-lehnen-rc" + ] + } + ] } } -} +} \ No newline at end of file diff --git a/HISTORY.md b/HISTORY.md index 9355ad9aa7ce..bc0b76f43333 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,74 +1,6 @@ -# 3.2.0 (Under Release Candidate Process) - -## 3.2.0-rc.2 -`2020-04-27 · 5 🐛 · 4 🔍 · 6 👩‍💻👨‍💻` - -### 🐛 Bug fixes - - -- LDAP error when trying to add room with spaces in the name ([#17453](https://github.com/RocketChat/Rocket.Chat/pull/17453)) - -- Empty Incoming webhook script field ([#17422](https://github.com/RocketChat/Rocket.Chat/pull/17422)) - -- LDAP Sync error ([#17417](https://github.com/RocketChat/Rocket.Chat/pull/17417) by [@fastrde](https://github.com/fastrde)) - -- Bot Agents not being able to get Omnichannel Inquiries ([#17404](https://github.com/RocketChat/Rocket.Chat/pull/17404)) - -- Allowing blocking a user on channels ([#17406](https://github.com/RocketChat/Rocket.Chat/pull/17406)) - -
-🔍 Minor changes - - -- Complement Guest role restrictions for Enterprise ([#17393](https://github.com/RocketChat/Rocket.Chat/pull/17393)) - -- Regression: Add missing cacheKey to mem ([#17430](https://github.com/RocketChat/Rocket.Chat/pull/17430)) - -- Remove `@typescript-eslint/explicit-function-return-type` rule ([#17428](https://github.com/RocketChat/Rocket.Chat/pull/17428)) - -- Fix moving-to-a-single-codebase link in README ([#17297](https://github.com/RocketChat/Rocket.Chat/pull/17297) by [@Krinkle](https://github.com/Krinkle)) - -
- -### 👩‍💻👨‍💻 Contributors 😍 - -- [@Krinkle](https://github.com/Krinkle) -- [@fastrde](https://github.com/fastrde) - -### 👩‍💻👨‍💻 Core Team 🤓 - -- [@ggazzo](https://github.com/ggazzo) -- [@pierre-lehnen-rc](https://github.com/pierre-lehnen-rc) -- [@renatobecker](https://github.com/renatobecker) -- [@sampaiodiego](https://github.com/sampaiodiego) - -## 3.2.0-rc.1 -`2020-04-22 · 1 🐛 · 1 🔍 · 2 👩‍💻👨‍💻` - -### 🐛 Bug fixes - - -- 2FA not showing codes for Spanish translation ([#17378](https://github.com/RocketChat/Rocket.Chat/pull/17378) by [@RavenSystem](https://github.com/RavenSystem)) - -
-🔍 Minor changes - - -- Regression: Fix mem usage with more than one argument ([#17391](https://github.com/RocketChat/Rocket.Chat/pull/17391)) - -
- -### 👩‍💻👨‍💻 Contributors 😍 - -- [@RavenSystem](https://github.com/RavenSystem) - -### 👩‍💻👨‍💻 Core Team 🤓 - -- [@sampaiodiego](https://github.com/sampaiodiego) - -## 3.2.0-rc.0 -`2020-04-21 · 19 🎉 · 10 🚀 · 36 🐛 · 15 🔍 · 31 👩‍💻👨‍💻` +# 3.2.0 +`2020-04-27 · 19 🎉 · 10 🚀 · 34 🐛 · 19 🔍 · 34 👩‍💻👨‍💻` ### 🎉 New features @@ -87,19 +19,14 @@ - Better Push and Email Notification logic ([#17357](https://github.com/RocketChat/Rocket.Chat/pull/17357)) - 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 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 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: - - All the scheduled notifications for that user are rescheduled to now + 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 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 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: + - 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 - Error page when browser is not supported ([#17372](https://github.com/RocketChat/Rocket.Chat/pull/17372)) @@ -170,12 +97,6 @@ - Allow Screensharing in BBB Iframe ([#17290](https://github.com/RocketChat/Rocket.Chat/pull/17290) by [@wolbernd](https://github.com/wolbernd)) -- Web Client memory leak caused by the Emoji rendering ([#17320](https://github.com/RocketChat/Rocket.Chat/pull/17320)) - -- Omnichannel room info panel opening whenever a message is sent ([#17348](https://github.com/RocketChat/Rocket.Chat/pull/17348)) - -- New user added by admin doesn't receive random password email ([#17249](https://github.com/RocketChat/Rocket.Chat/pull/17249)) - - "Invalid Invite" message when registration is disabled ([#17226](https://github.com/RocketChat/Rocket.Chat/pull/17226)) - Red color error outline is not removed after password update on profile details ([#16536](https://github.com/RocketChat/Rocket.Chat/pull/16536) by [@ashwaniYDV](https://github.com/ashwaniYDV)) @@ -226,10 +147,14 @@ - Unsafe React portals mount/unmount ([#17265](https://github.com/RocketChat/Rocket.Chat/pull/17265)) +- 2FA not showing codes for Spanish translation ([#17378](https://github.com/RocketChat/Rocket.Chat/pull/17378) by [@RavenSystem](https://github.com/RavenSystem)) +
🔍 Minor changes +- Release 3.1.2 ([#17454](https://github.com/RocketChat/Rocket.Chat/pull/17454) by [@fastrde](https://github.com/fastrde)) + - Remove set as alias setting ([#16343](https://github.com/RocketChat/Rocket.Chat/pull/16343)) - Improve: Better Push Notification code ([#17338](https://github.com/RocketChat/Rocket.Chat/pull/17338)) @@ -260,18 +185,27 @@ - Merge master into develop & Set version to 3.2.0-develop ([#17241](https://github.com/RocketChat/Rocket.Chat/pull/17241) by [@1rV1N-git](https://github.com/1rV1N-git)) +- Complement Guest role restrictions for Enterprise ([#17393](https://github.com/RocketChat/Rocket.Chat/pull/17393)) + +- Remove `@typescript-eslint/explicit-function-return-type` rule ([#17428](https://github.com/RocketChat/Rocket.Chat/pull/17428)) + +- Fix moving-to-a-single-codebase link in README ([#17297](https://github.com/RocketChat/Rocket.Chat/pull/17297) by [@Krinkle](https://github.com/Krinkle)) +
### 👩‍💻👨‍💻 Contributors 😍 - [@1rV1N-git](https://github.com/1rV1N-git) - [@CC007](https://github.com/CC007) +- [@Krinkle](https://github.com/Krinkle) - [@Nikhil713](https://github.com/Nikhil713) +- [@RavenSystem](https://github.com/RavenSystem) - [@aKn1ghtOut](https://github.com/aKn1ghtOut) - [@ashwaniYDV](https://github.com/ashwaniYDV) - [@benkroeger](https://github.com/benkroeger) - [@c0dzilla](https://github.com/c0dzilla) - [@dependabot[bot]](https://github.com/dependabot[bot]) +- [@fastrde](https://github.com/fastrde) - [@fcrespo82](https://github.com/fcrespo82) - [@felipecrp](https://github.com/felipecrp) - [@ffauvel](https://github.com/ffauvel) @@ -299,6 +233,51 @@ - [@sampaiodiego](https://github.com/sampaiodiego) - [@tassoevan](https://github.com/tassoevan) +# 3.1.2 +`2020-04-27 · 8 🐛 · 3 🔍 · 5 👩‍💻👨‍💻` + +### 🐛 Bug fixes + + +- LDAP error when trying to add room with spaces in the name ([#17453](https://github.com/RocketChat/Rocket.Chat/pull/17453)) + +- Empty Incoming webhook script field ([#17422](https://github.com/RocketChat/Rocket.Chat/pull/17422)) + +- LDAP Sync error ([#17417](https://github.com/RocketChat/Rocket.Chat/pull/17417) by [@fastrde](https://github.com/fastrde)) + +- Bot Agents not being able to get Omnichannel Inquiries ([#17404](https://github.com/RocketChat/Rocket.Chat/pull/17404)) + +- Allowing blocking a user on channels ([#17406](https://github.com/RocketChat/Rocket.Chat/pull/17406)) + +- Web Client memory leak caused by the Emoji rendering ([#17320](https://github.com/RocketChat/Rocket.Chat/pull/17320)) + +- Omnichannel room info panel opening whenever a message is sent ([#17348](https://github.com/RocketChat/Rocket.Chat/pull/17348)) + +- New user added by admin doesn't receive random password email ([#17249](https://github.com/RocketChat/Rocket.Chat/pull/17249)) + +
+🔍 Minor changes + + +- Release 3.1.2 ([#17454](https://github.com/RocketChat/Rocket.Chat/pull/17454) by [@fastrde](https://github.com/fastrde)) + +- Regression: Add missing cacheKey to mem ([#17430](https://github.com/RocketChat/Rocket.Chat/pull/17430)) + +- Regression: Fix mem usage with more than one argument ([#17391](https://github.com/RocketChat/Rocket.Chat/pull/17391)) + +
+ +### 👩‍💻👨‍💻 Contributors 😍 + +- [@fastrde](https://github.com/fastrde) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@ggazzo](https://github.com/ggazzo) +- [@pierre-lehnen-rc](https://github.com/pierre-lehnen-rc) +- [@renatobecker](https://github.com/renatobecker) +- [@sampaiodiego](https://github.com/sampaiodiego) + # 3.1.1 `2020-04-14 · 8 🐛 · 1 🔍 · 6 👩‍💻👨‍💻` @@ -378,7 +357,7 @@ - Translation via MS translate ([#16363](https://github.com/RocketChat/Rocket.Chat/pull/16363) by [@mrsimpson](https://github.com/mrsimpson)) - Adds Microsoft's translation service (https://translator.microsoft.com/) as a provider for translation of messages. + Adds Microsoft's translation service (https://translator.microsoft.com/) as a provider for translation of messages. In addition to implementing the interface (similar to google and DeepL), a small change has been done in order to display the translation provider on the UI. - API `users.deactivateIdle` for mass-disabling of idle users ([#16849](https://github.com/RocketChat/Rocket.Chat/pull/16849)) @@ -11840,4 +11819,4 @@ - [@graywolf336](https://github.com/graywolf336) - [@marceloschmidt](https://github.com/marceloschmidt) - [@rodrigok](https://github.com/rodrigok) -- [@sampaiodiego](https://github.com/sampaiodiego) +- [@sampaiodiego](https://github.com/sampaiodiego) \ No newline at end of file diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index 3e194c954f59..7ccbef98e389 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.2.0-rc.2" + "version": "3.2.0" } diff --git a/package.json b/package.json index bd430c5519ce..d5eca0bf5930 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-rc.2", + "version": "3.2.0", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From e4adb9b312f04dda0dea6faf8fb1854263258aed Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Tue, 28 Apr 2020 18:52:08 -0300 Subject: [PATCH 05/16] Bump version to 3.3.0-develop --- .docker/Dockerfile.rhel | 2 +- app/utils/rocketchat.info | 2 +- package-lock.json | 2 +- package.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index dc9695a75fb8..8deff6b93c60 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.3.0-develop MAINTAINER buildmaster@rocket.chat diff --git a/app/utils/rocketchat.info b/app/utils/rocketchat.info index 7ccbef98e389..98a1785da5a7 100644 --- a/app/utils/rocketchat.info +++ b/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "3.2.0" + "version": "3.3.0-develop" } diff --git a/package-lock.json b/package-lock.json index b7cbefa15a7d..1afa69f2f29b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "Rocket.Chat", - "version": "3.2.0-develop", + "version": "3.3.0-develop", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index d5eca0bf5930..29f7fd599db5 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.3.0-develop", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" From 60e1452436aa61b21271ddd341ed5ed0e72715cf Mon Sep 17 00:00:00 2001 From: Marcos Spessatto Defendi Date: Wed, 29 Apr 2020 17:07:19 -0300 Subject: [PATCH 06/16] Priority system messages were always created (#17479) --- app/livechat/server/methods/saveInfo.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/livechat/server/methods/saveInfo.js b/app/livechat/server/methods/saveInfo.js index a5f2eef00632..7d2fe0534f63 100644 --- a/app/livechat/server/methods/saveInfo.js +++ b/app/livechat/server/methods/saveInfo.js @@ -29,7 +29,7 @@ Meteor.methods({ livechatData: Match.Optional(Object), })); - const room = LivechatRooms.findOneById(roomData._id, { t: 1, servedBy: 1 }); + const room = LivechatRooms.findOneById(roomData._id); if (room == null || room.t !== 'l') { throw new Meteor.Error('error-invalid-room', 'Invalid room', { method: 'livechat:saveInfo' }); } From 43a8649ecad9d1efc6e5e5fc7c2927d512605466 Mon Sep 17 00:00:00 2001 From: Tasso Evangelista Date: Wed, 29 Apr 2020 17:19:47 -0300 Subject: [PATCH 07/16] [IMPROVE] Depart from /app/ui-admin (#17464) --- app/apps/client/orchestrator.js | 2 +- app/apps/client/routes.js | 2 +- app/authorization/client/route.js | 2 +- app/authorization/client/startup.js | 2 +- .../client/views/Multiselect.js | 2 +- app/chatpal-search/client/route.js | 2 +- app/cloud/client/index.js | 2 +- app/custom-sounds/client/admin/route.js | 2 +- app/custom-sounds/client/admin/startup.js | 2 +- app/emoji-custom/client/admin/route.js | 2 +- app/emoji-custom/client/admin/startup.js | 2 +- app/federation/client/admin/dashboard.js | 2 +- .../client/ImporterWebsocketReceiver.js | 35 ------ .../client/admin/importOperationSummary.html | 115 ------------------ .../client/functions/showImporterException.js | 41 ------- app/importer/client/index.js | 3 - app/importer/client/routes.js | 25 ---- app/integrations/client/route.js | 2 +- app/integrations/client/startup.js | 2 +- app/invites/client/index.js | 14 --- app/logger/client/index.js | 15 --- app/mail-messages/client/startup.js | 2 +- .../client/admin/route.js | 2 +- .../client/admin/startup.js | 2 +- app/theme/client/imports/general/base_old.css | 23 ---- app/theme/client/imports/general/rtl.css | 7 -- .../client/components/NotAuthorizedPage.js | 17 --- .../info/BuildEnvironmentSection.js | 22 ---- .../client/components/info/CommitSection.js | 22 ---- .../client/components/info/DescriptionList.js | 16 --- .../components/info/RocketChatSection.js | 29 ----- .../info/RuntimeEnvironmentSection.js | 31 ----- .../client/components/info/UsageSection.js | 51 -------- .../client/components/info/formatters.js | 43 ------- app/ui-admin/client/hooks/useAdminSideNav.js | 10 -- app/ui-admin/client/routes.js | 68 ----------- app/ui-admin/client/sidebarItems.js | 10 -- app/ui-message/client/blocks/MessageBlock.js | 3 +- app/ui-message/client/blocks/ModalBlock.js | 3 +- app/ui-sidenav/client/SortList.js | 8 +- app/ui/client/components/GenericTable.js | 11 +- app/ui/client/views/app/RoomForeword.js | 6 +- .../app/components/Directory/ChannelsTab.js | 15 ++- .../views/app/components/Directory/UserTab.js | 6 +- .../views/app/components/Directory/index.js | 2 +- app/user-status/client/admin/startup.js | 2 +- .../admin}/AdministrationRouter.js | 9 +- client/admin/NotAuthorizedPage.js | 17 +++ .../admin}/NotAuthorizedPage.stories.js | 0 .../admin}/PageSkeleton.js | 10 +- .../admin/PrivateSettingsCachedCollection.js | 4 +- .../client => client/admin}/adminFlex.html | 26 +--- .../client => client/admin}/adminFlex.js | 84 ++++++------- .../customUserStatus/CustomUserStatusRoute.js | 6 +- .../admin/import}/ImportHistoryPage.js | 19 ++- .../import}/ImportHistoryPage.stories.js | 0 .../admin/import}/ImportOperationSummary.js | 8 +- .../import}/ImportOperationSummary.stories.js | 0 .../admin/import}/ImportProgressPage.js | 40 +++--- .../admin/import}/ImportRoute.js | 4 +- .../admin/import}/NewImportPage.js | 32 ++--- .../admin/import}/NewImportPage.stories.js | 0 .../admin/import}/PrepareImportPage.js | 44 +++---- client/admin/import/useErrorHandler.js | 34 ++++++ .../ui-admin/client => client/admin}/index.js | 0 client/admin/info/BuildEnvironmentSection.js | 23 ++++ .../info/BuildEnvironmentSection.stories.js | 2 +- client/admin/info/CommitSection.js | 22 ++++ .../admin}/info/CommitSection.stories.js | 0 client/admin/info/DescriptionList.js | 23 ++++ .../admin}/info/DescriptionList.stories.js | 2 +- .../admin}/info/InformationPage.js | 46 ++++--- .../admin}/info/InformationPage.stories.js | 2 +- .../admin}/info/InformationRoute.js | 6 +- .../admin}/info/InstancesSection.js | 14 +-- .../admin}/info/InstancesSection.stories.js | 2 +- client/admin/info/RocketChatSection.js | 34 ++++++ .../admin}/info/RocketChatSection.stories.js | 2 +- .../admin/info/RuntimeEnvironmentSection.js | 43 +++++++ .../info/RuntimeEnvironmentSection.stories.js | 0 client/admin/info/UsageSection.js | 52 ++++++++ .../admin}/info/UsageSection.stories.js | 0 .../admin/invites}/InvitesPage.js | 20 +-- .../admin/invites}/InvitesRoute.js | 4 +- .../admin}/mailer/Mailer.js | 40 +++--- .../admin}/mailer/Mailer.stories.js | 0 .../admin}/mailer/MailerRoute.js | 10 +- client/admin/rooms/AdminRoomsRoute.js | 72 ----------- client/admin/rooms/RoomsPage.js | 41 +++++++ client/admin/rooms/RoomsRoute.js | 17 +++ .../rooms/{AdminRooms.js => RoomsTable.js} | 70 +++++++++-- client/admin/rooms/edit/EditRoom.js | 36 +++--- client/admin/routes.js | 99 +++++++++++++++ .../admin}/settings/GroupPage.js | 12 +- .../admin}/settings/GroupPage.stories.js | 0 .../admin}/settings/GroupSelector.js | 0 .../admin}/settings/GroupSelector.stories.js | 0 .../admin}/settings/ResetSettingButton.js | 2 +- .../settings/ResetSettingButton.stories.js | 0 .../admin}/settings/Section.js | 6 +- .../admin}/settings/Section.stories.js | 0 .../admin}/settings/Setting.js | 6 +- .../admin}/settings/Setting.stories.js | 0 .../admin}/settings/SettingsRoute.js | 4 +- .../admin}/settings/SettingsState.js | 34 +++--- .../admin}/settings/groups/AssetsGroupPage.js | 6 +- .../settings/groups/GenericGroupPage.js | 0 .../admin}/settings/groups/OAuthGroupPage.js | 10 +- .../settings/inputs/ActionSettingInput.js | 6 +- .../inputs/ActionSettingInput.stories.js | 0 .../settings/inputs/AssetSettingInput.css | 0 .../settings/inputs/AssetSettingInput.js | 6 +- .../inputs/AssetSettingInput.stories.js | 0 .../settings/inputs/BooleanSettingInput.js | 0 .../inputs/BooleanSettingInput.stories.js | 0 .../settings/inputs/CodeSettingInput.js | 4 +- .../inputs/CodeSettingInput.stories.js | 0 .../settings/inputs/ColorSettingInput.js | 2 +- .../inputs/ColorSettingInput.stories.js | 0 .../settings/inputs/FontSettingInput.js | 0 .../inputs/FontSettingInput.stories.js | 0 .../settings/inputs/GenericSettingInput.js | 0 .../inputs/GenericSettingInput.stories.js | 0 .../admin}/settings/inputs/IntSettingInput.js | 0 .../inputs/IntSettingInput.stories.js | 0 .../settings/inputs/LanguageSettingInput.js | 2 +- .../inputs/LanguageSettingInput.stories.js | 0 .../inputs/MultiSelectSettingInput.js | 2 +- .../inputs/MultiSelectSettingInput.stories.js | 0 .../settings/inputs/PasswordSettingInput.js | 0 .../inputs/PasswordSettingInput.stories.js | 0 .../inputs/RelativeUrlSettingInput.js | 2 +- .../inputs/RelativeUrlSettingInput.stories.js | 0 .../settings/inputs/RoomPickSettingInput.js | 0 .../settings/inputs/SelectSettingInput.js | 2 +- .../inputs/SelectSettingInput.stories.js | 0 .../settings/inputs/StringSettingInput.js | 0 .../inputs/StringSettingInput.stories.js | 0 client/admin/sidebarItems.js | 50 ++++++++ client/admin/users/AddUser.js | 8 +- client/admin/users/AdminUsersRoute.js | 70 ----------- client/admin/users/EditUser.js | 8 +- client/admin/users/InviteUsers.js | 2 +- client/admin/users/UserInfo.js | 38 +++--- client/admin/users/UsersPage.js | 68 +++++++++++ client/admin/users/UsersRoute.js | 17 +++ .../users/{AdminUsers.js => UsersTable.js} | 68 ++++++++--- .../usersAndRooms/UsersAndRooms.stories.js | 42 ------- .../admin/usersAndRooms/UsersAndRoomsTab.js | 69 ----------- .../admin/viewLogs}/ViewLogs.js | 64 +++++----- .../admin/viewLogs}/ViewLogs.stories.js | 0 .../admin/viewLogs}/ViewLogsRoute.js | 4 +- client/components/basic/BurgerMenuButton.js | 3 +- client/components/basic/Button.js | 27 ---- client/components/basic/Button.stories.js | 33 ----- client/components/basic/Icon.js | 22 ---- client/components/basic/Input.js | 67 ---------- client/components/basic/Input.stories.js | 26 ---- client/components/basic/Link.js | 11 -- client/components/basic/Link.stories.js | 12 -- client/components/basic/MarkdownText.js | 6 +- client/components/basic/Page.js | 76 +++++++----- client/components/basic/Page.stories.js | 2 +- client/components/basic/RawText.js | 4 +- client/components/basic/Subtitle.js | 15 +++ client/components/basic/VerticalBar.js | 40 +++--- .../basic/avatar/UserAvatarEditor.js | 2 +- .../components/pageNotFound/PageNotFound.css | 17 --- .../components/pageNotFound/PageNotFound.js | 26 ++-- .../pageNotFound/PageNotFound.stories.js | 2 +- client/components/setupWizard/SideBar.js | 12 +- client/components/setupWizard/StepHeader.js | 2 +- .../steps/AdminUserInformationStep.js | 5 +- .../components/setupWizard/steps/FinalStep.js | 10 +- .../setupWizard/steps/RegisterServerStep.js | 15 ++- .../setupWizard/steps/SettingsBasedStep.js | 4 +- .../hooks.js => hooks/useEndpointAction.js} | 20 +-- client/hooks/useEventCallback.js | 13 -- client/hooks/useFocus.js | 13 -- client/hooks/useFormatDuration.js | 28 +++++ client/hooks/useLazyRef.js | 6 - client/hooks/useSafely.js | 24 ---- client/importPackages.js | 2 - client/main.js | 1 + .../components/ChannelsTab/TableSection.js | 2 +- .../components/EngagementDashboardPage.js | 2 +- .../components/EngagementDashboardRoute.js | 3 - .../MessagesTab/MessagesPerChannelSection.js | 12 +- .../MessagesTab/MessagesSentSection.js | 2 +- .../client/components/Section.js | 2 +- .../components/UsersTab/ActiveUsersSection.js | 2 +- .../UsersTab/BusiestChatTimesSection.js | 2 +- .../components/UsersTab/NewUsersSection.js | 2 +- .../UsersTab/UsersByTimeOfTheDaySection.js | 2 +- .../client/components/data/Counter.js | 6 +- .../client/components/data/Growth.js | 2 +- .../client/components/data/Growth.stories.js | 6 +- .../data/NegativeGrowthSymbol.stories.js | 2 +- .../data/PositiveGrowthSymbol.stories.js | 2 +- ee/app/engagement-dashboard/client/routes.js | 2 +- package-lock.json | 63 ++++++---- package.json | 12 +- packages/rocketchat-i18n/i18n/en.i18n.json | 3 +- 203 files changed, 1282 insertions(+), 1713 deletions(-) delete mode 100644 app/importer/client/ImporterWebsocketReceiver.js delete mode 100644 app/importer/client/admin/importOperationSummary.html delete mode 100644 app/importer/client/functions/showImporterException.js delete mode 100644 app/importer/client/routes.js delete mode 100644 app/invites/client/index.js delete mode 100644 app/ui-admin/client/components/NotAuthorizedPage.js delete mode 100644 app/ui-admin/client/components/info/BuildEnvironmentSection.js delete mode 100644 app/ui-admin/client/components/info/CommitSection.js delete mode 100644 app/ui-admin/client/components/info/DescriptionList.js delete mode 100644 app/ui-admin/client/components/info/RocketChatSection.js delete mode 100644 app/ui-admin/client/components/info/RuntimeEnvironmentSection.js delete mode 100644 app/ui-admin/client/components/info/UsageSection.js delete mode 100644 app/ui-admin/client/components/info/formatters.js delete mode 100644 app/ui-admin/client/hooks/useAdminSideNav.js delete mode 100644 app/ui-admin/client/routes.js delete mode 100644 app/ui-admin/client/sidebarItems.js rename {app/ui-admin/client/components => client/admin}/AdministrationRouter.js (62%) create mode 100644 client/admin/NotAuthorizedPage.js rename {app/ui-admin/client/components => client/admin}/NotAuthorizedPage.stories.js (100%) rename {app/ui-admin/client/components => client/admin}/PageSkeleton.js (59%) rename app/ui-admin/client/SettingsCachedCollection.js => client/admin/PrivateSettingsCachedCollection.js (80%) rename {app/ui-admin/client => client/admin}/adminFlex.html (59%) rename {app/ui-admin/client => client/admin}/adminFlex.js (51%) rename {app/importer/client/components => client/admin/import}/ImportHistoryPage.js (86%) rename {app/importer/client/components => client/admin/import}/ImportHistoryPage.stories.js (100%) rename {app/importer/client/components => client/admin/import}/ImportOperationSummary.js (90%) rename {app/importer/client/components => client/admin/import}/ImportOperationSummary.stories.js (100%) rename {app/importer/client/components => client/admin/import}/ImportProgressPage.js (68%) rename {app/importer/client/components => client/admin/import}/ImportRoute.js (80%) rename {app/importer/client/components => client/admin/import}/NewImportPage.js (88%) rename {app/importer/client/components => client/admin/import}/NewImportPage.stories.js (100%) rename {app/importer/client/components => client/admin/import}/PrepareImportPage.js (85%) create mode 100644 client/admin/import/useErrorHandler.js rename {app/ui-admin/client => client/admin}/index.js (100%) create mode 100644 client/admin/info/BuildEnvironmentSection.js rename {app/ui-admin/client/components => client/admin}/info/BuildEnvironmentSection.stories.js (89%) create mode 100644 client/admin/info/CommitSection.js rename {app/ui-admin/client/components => client/admin}/info/CommitSection.stories.js (100%) create mode 100644 client/admin/info/DescriptionList.js rename {app/ui-admin/client/components => client/admin}/info/DescriptionList.stories.js (86%) rename {app/ui-admin/client/components => client/admin}/info/InformationPage.js (51%) rename {app/ui-admin/client/components => client/admin}/info/InformationPage.stories.js (98%) rename {app/ui-admin/client/components => client/admin}/info/InformationRoute.js (89%) rename {app/ui-admin/client/components => client/admin}/info/InstancesSection.js (71%) rename {app/ui-admin/client/components => client/admin}/info/InstancesSection.stories.js (92%) create mode 100644 client/admin/info/RocketChatSection.js rename {app/ui-admin/client/components => client/admin}/info/RocketChatSection.stories.js (92%) create mode 100644 client/admin/info/RuntimeEnvironmentSection.js rename {app/ui-admin/client/components => client/admin}/info/RuntimeEnvironmentSection.stories.js (100%) create mode 100644 client/admin/info/UsageSection.js rename {app/ui-admin/client/components => client/admin}/info/UsageSection.stories.js (100%) rename {app/invites/client/components => client/admin/invites}/InvitesPage.js (84%) rename {app/invites/client/components => client/admin/invites}/InvitesRoute.js (63%) rename {app/ui-admin/client/components => client/admin}/mailer/Mailer.js (65%) rename {app/ui-admin/client/components => client/admin}/mailer/Mailer.stories.js (100%) rename {app/ui-admin/client/components => client/admin}/mailer/MailerRoute.js (73%) delete mode 100644 client/admin/rooms/AdminRoomsRoute.js create mode 100644 client/admin/rooms/RoomsPage.js create mode 100644 client/admin/rooms/RoomsRoute.js rename client/admin/rooms/{AdminRooms.js => RoomsTable.js} (73%) create mode 100644 client/admin/routes.js rename {app/ui-admin/client/components => client/admin}/settings/GroupPage.js (84%) rename {app/ui-admin/client/components => client/admin}/settings/GroupPage.stories.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/GroupSelector.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/GroupSelector.stories.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/ResetSettingButton.js (79%) rename {app/ui-admin/client/components => client/admin}/settings/ResetSettingButton.stories.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/Section.js (86%) rename {app/ui-admin/client/components => client/admin}/settings/Section.stories.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/Setting.js (94%) rename {app/ui-admin/client/components => client/admin}/settings/Setting.stories.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/SettingsRoute.js (76%) rename {app/ui-admin/client/components => client/admin}/settings/SettingsState.js (90%) rename {app/ui-admin/client/components => client/admin}/settings/groups/AssetsGroupPage.js (79%) rename {app/ui-admin/client/components => client/admin}/settings/groups/GenericGroupPage.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/groups/OAuthGroupPage.js (88%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/ActionSettingInput.js (77%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/ActionSettingInput.stories.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/AssetSettingInput.css (100%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/AssetSettingInput.js (89%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/AssetSettingInput.stories.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/BooleanSettingInput.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/BooleanSettingInput.stories.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/CodeSettingInput.js (95%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/CodeSettingInput.stories.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/ColorSettingInput.js (96%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/ColorSettingInput.stories.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/FontSettingInput.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/FontSettingInput.stories.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/GenericSettingInput.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/GenericSettingInput.stories.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/IntSettingInput.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/IntSettingInput.stories.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/LanguageSettingInput.js (92%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/LanguageSettingInput.stories.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/MultiSelectSettingInput.js (94%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/MultiSelectSettingInput.stories.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/PasswordSettingInput.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/PasswordSettingInput.stories.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/RelativeUrlSettingInput.js (92%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/RelativeUrlSettingInput.stories.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/RoomPickSettingInput.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/SelectSettingInput.js (93%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/SelectSettingInput.stories.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/StringSettingInput.js (100%) rename {app/ui-admin/client/components => client/admin}/settings/inputs/StringSettingInput.stories.js (100%) create mode 100644 client/admin/sidebarItems.js delete mode 100644 client/admin/users/AdminUsersRoute.js create mode 100644 client/admin/users/UsersPage.js create mode 100644 client/admin/users/UsersRoute.js rename client/admin/users/{AdminUsers.js => UsersTable.js} (58%) delete mode 100644 client/admin/usersAndRooms/UsersAndRooms.stories.js delete mode 100644 client/admin/usersAndRooms/UsersAndRoomsTab.js rename {app/logger/client/components => client/admin/viewLogs}/ViewLogs.js (81%) rename {app/logger/client/components => client/admin/viewLogs}/ViewLogs.stories.js (100%) rename {app/logger/client/components => client/admin/viewLogs}/ViewLogsRoute.js (57%) delete mode 100644 client/components/basic/Button.js delete mode 100644 client/components/basic/Button.stories.js delete mode 100644 client/components/basic/Icon.js delete mode 100644 client/components/basic/Input.js delete mode 100644 client/components/basic/Input.stories.js delete mode 100644 client/components/basic/Link.js delete mode 100644 client/components/basic/Link.stories.js create mode 100644 client/components/basic/Subtitle.js delete mode 100644 client/components/pageNotFound/PageNotFound.css rename client/{admin/usersAndRooms/hooks.js => hooks/useEndpointAction.js} (55%) delete mode 100644 client/hooks/useEventCallback.js delete mode 100644 client/hooks/useFocus.js create mode 100644 client/hooks/useFormatDuration.js delete mode 100644 client/hooks/useLazyRef.js delete mode 100644 client/hooks/useSafely.js diff --git a/app/apps/client/orchestrator.js b/app/apps/client/orchestrator.js index 54c614044fe0..0b7bdfd58839 100644 --- a/app/apps/client/orchestrator.js +++ b/app/apps/client/orchestrator.js @@ -4,7 +4,7 @@ import toastr from 'toastr'; import { AppWebsocketReceiver } from './communication'; import { APIClient } from '../../utils'; -import { registerAdminSidebarItem } from '../../ui-admin/client'; +import { registerAdminSidebarItem } from '../../../client/admin'; import { CachedCollectionManager } from '../../ui-cached-collection'; import { hasAtLeastOnePermission } from '../../authorization'; import { handleI18nResources } from './i18n'; diff --git a/app/apps/client/routes.js b/app/apps/client/routes.js index 66005d26b875..c8ff516040e4 100644 --- a/app/apps/client/routes.js +++ b/app/apps/client/routes.js @@ -1,7 +1,7 @@ import { FlowRouter } from 'meteor/kadira:flow-router'; import { BlazeLayout } from 'meteor/kadira:blaze-layout'; -import { registerAdminRoute } from '../../ui-admin/client'; +import { registerAdminRoute } from '../../../client/admin'; import { Apps } from './orchestrator'; registerAdminRoute('/apps/what-is-it', { diff --git a/app/authorization/client/route.js b/app/authorization/client/route.js index 95ccd464cc48..2a09c78da6d7 100644 --- a/app/authorization/client/route.js +++ b/app/authorization/client/route.js @@ -1,6 +1,6 @@ import { BlazeLayout } from 'meteor/kadira:blaze-layout'; -import { registerAdminRoute } from '../../ui-admin/client'; +import { registerAdminRoute } from '../../../client/admin'; import { t } from '../../utils/client'; registerAdminRoute('/permissions', { diff --git a/app/authorization/client/startup.js b/app/authorization/client/startup.js index 9e437c26c050..2dd50b95fa24 100644 --- a/app/authorization/client/startup.js +++ b/app/authorization/client/startup.js @@ -2,7 +2,7 @@ import { Meteor } from 'meteor/meteor'; import { Tracker } from 'meteor/tracker'; import { hasAtLeastOnePermission } from './hasPermission'; -import { registerAdminSidebarItem } from '../../ui-admin/client'; +import { registerAdminSidebarItem } from '../../../client/admin'; import { CachedCollectionManager } from '../../ui-cached-collection'; import { APIClient } from '../../utils/client'; import { Roles } from '../../models/client'; diff --git a/app/channel-settings/client/views/Multiselect.js b/app/channel-settings/client/views/Multiselect.js index a63fa1981cd2..1f90cc45a38f 100644 --- a/app/channel-settings/client/views/Multiselect.js +++ b/app/channel-settings/client/views/Multiselect.js @@ -4,7 +4,7 @@ import { createTemplateForComponent } from '../../../../client/reactAdapters'; createTemplateForComponent( 'Multiselect', - () => import('../../../ui-admin/client/components/settings/inputs/MultiSelectSettingInput'), + () => import('../../../../client/admin/settings/inputs/MultiSelectSettingInput'), { // eslint-disable-next-line new-cap renderContainerView: () => HTML.DIV({ class: 'rc-multiselect', style: 'display: flex;' }), diff --git a/app/chatpal-search/client/route.js b/app/chatpal-search/client/route.js index 86c6ad276c49..29695aa215a5 100644 --- a/app/chatpal-search/client/route.js +++ b/app/chatpal-search/client/route.js @@ -1,6 +1,6 @@ import { BlazeLayout } from 'meteor/kadira:blaze-layout'; -import { registerAdminRoute } from '../../ui-admin/client'; +import { registerAdminRoute } from '../../../client/admin'; import { t } from '../../utils'; registerAdminRoute('/chatpal', { diff --git a/app/cloud/client/index.js b/app/cloud/client/index.js index 0c8025d22dbd..ce6ceecd3d5c 100644 --- a/app/cloud/client/index.js +++ b/app/cloud/client/index.js @@ -4,7 +4,7 @@ import './admin/cloudRegisterManually'; import { BlazeLayout } from 'meteor/kadira:blaze-layout'; -import { registerAdminRoute, registerAdminSidebarItem } from '../../ui-admin/client'; +import { registerAdminRoute, registerAdminSidebarItem } from '../../../client/admin'; import { hasAtLeastOnePermission } from '../../authorization'; registerAdminRoute('/cloud', { diff --git a/app/custom-sounds/client/admin/route.js b/app/custom-sounds/client/admin/route.js index 0f181fda5787..bf27b5ae0edc 100644 --- a/app/custom-sounds/client/admin/route.js +++ b/app/custom-sounds/client/admin/route.js @@ -1,6 +1,6 @@ import { BlazeLayout } from 'meteor/kadira:blaze-layout'; -import { registerAdminRoute } from '../../../ui-admin/client'; +import { registerAdminRoute } from '../../../../client/admin'; registerAdminRoute('/custom-sounds', { name: 'custom-sounds', diff --git a/app/custom-sounds/client/admin/startup.js b/app/custom-sounds/client/admin/startup.js index 2647b17ea42d..105a5c4527bb 100644 --- a/app/custom-sounds/client/admin/startup.js +++ b/app/custom-sounds/client/admin/startup.js @@ -1,5 +1,5 @@ import { hasAtLeastOnePermission } from '../../../authorization'; -import { registerAdminSidebarItem } from '../../../ui-admin/client'; +import { registerAdminSidebarItem } from '../../../../client/admin'; registerAdminSidebarItem({ href: 'custom-sounds', diff --git a/app/emoji-custom/client/admin/route.js b/app/emoji-custom/client/admin/route.js index 575e47831756..13139d4adac0 100644 --- a/app/emoji-custom/client/admin/route.js +++ b/app/emoji-custom/client/admin/route.js @@ -1,6 +1,6 @@ import { BlazeLayout } from 'meteor/kadira:blaze-layout'; -import { registerAdminRoute } from '../../../ui-admin/client'; +import { registerAdminRoute } from '../../../../client/admin'; registerAdminRoute('/emoji-custom', { name: 'emoji-custom', diff --git a/app/emoji-custom/client/admin/startup.js b/app/emoji-custom/client/admin/startup.js index 851786b584f8..f3afbf55808c 100644 --- a/app/emoji-custom/client/admin/startup.js +++ b/app/emoji-custom/client/admin/startup.js @@ -1,5 +1,5 @@ import { hasPermission } from '../../../authorization'; -import { registerAdminSidebarItem } from '../../../ui-admin/client'; +import { registerAdminSidebarItem } from '../../../../client/admin'; registerAdminSidebarItem({ href: 'emoji-custom', diff --git a/app/federation/client/admin/dashboard.js b/app/federation/client/admin/dashboard.js index 3d68975bd35b..a0d6aa6594c6 100644 --- a/app/federation/client/admin/dashboard.js +++ b/app/federation/client/admin/dashboard.js @@ -5,7 +5,7 @@ import { ReactiveVar } from 'meteor/reactive-var'; import { BlazeLayout } from 'meteor/kadira:blaze-layout'; import { hasRole } from '../../../authorization'; -import { registerAdminRoute, registerAdminSidebarItem } from '../../../ui-admin/client'; +import { registerAdminRoute, registerAdminSidebarItem } from '../../../../client/admin'; import './dashboard.html'; import './dashboard.css'; diff --git a/app/importer/client/ImporterWebsocketReceiver.js b/app/importer/client/ImporterWebsocketReceiver.js deleted file mode 100644 index 83c70b323884..000000000000 --- a/app/importer/client/ImporterWebsocketReceiver.js +++ /dev/null @@ -1,35 +0,0 @@ -import { Meteor } from 'meteor/meteor'; - -import { CachedCollectionManager } from '../../ui-cached-collection'; - -class ImporterWebsocketReceiverDef { - constructor() { - this.streamer = new Meteor.Streamer('importers'); - - this.callbacks = []; - CachedCollectionManager.onLogin(() => { - this.streamer.on('progress', this.progressUpdated.bind(this)); - }); - } - - progressUpdated(progress) { - this.callbacks.forEach((c) => c(progress)); - } - - registerCallback(callback) { - if (typeof callback !== 'function') { - throw new Error('Callback must be a function.'); - } - - this.callbacks.push(callback); - } - - unregisterCallback(callback) { - const i = this.callbacks.indexOf(callback); - if (i >= 0) { - this.callbacks.splice(i, 1); - } - } -} - -export const ImporterWebsocketReceiver = new ImporterWebsocketReceiverDef(); diff --git a/app/importer/client/admin/importOperationSummary.html b/app/importer/client/admin/importOperationSummary.html deleted file mode 100644 index c033a4ffe3b9..000000000000 --- a/app/importer/client/admin/importOperationSummary.html +++ /dev/null @@ -1,115 +0,0 @@ - diff --git a/app/importer/client/functions/showImporterException.js b/app/importer/client/functions/showImporterException.js deleted file mode 100644 index 4312e4814841..000000000000 --- a/app/importer/client/functions/showImporterException.js +++ /dev/null @@ -1,41 +0,0 @@ -import toastr from 'toastr'; - -import { t } from '../../../utils'; - -function showToastrForErrorType(errorType, defaultErrorString) { - let errorCode; - - if (typeof errorType === 'string') { - errorCode = errorType; - } else if (typeof errorType === 'object') { - if (errorType.error && typeof errorType.error === 'string') { - errorCode = errorType.error; - } - } - - if (errorCode) { - const errorTranslation = t(errorCode); - if (errorTranslation !== errorCode) { - toastr.error(errorTranslation); - return; - } - } - - toastr.error(t(defaultErrorString || 'Failed_To_upload_Import_File')); -} - -function showException(error, defaultErrorString) { - console.error(error); - if (error && error.xhr && error.xhr.responseJSON) { - console.log(error.xhr.responseJSON); - - if (error.xhr.responseJSON.errorType) { - showToastrForErrorType(error.xhr.responseJSON.errorType, defaultErrorString); - return; - } - } - - toastr.error(t(defaultErrorString || 'Failed_To_upload_Import_File')); -} - -export const showImporterException = showException; diff --git a/app/importer/client/index.js b/app/importer/client/index.js index 54b80e9bea16..0bc7866ff538 100644 --- a/app/importer/client/index.js +++ b/app/importer/client/index.js @@ -1,6 +1,3 @@ -import './routes'; - export { Importers } from '../lib/Importers'; export { ImporterInfo } from '../lib/ImporterInfo'; export { ProgressStep } from '../lib/ImporterProgressStep'; -export { ImporterWebsocketReceiver } from './ImporterWebsocketReceiver'; diff --git a/app/importer/client/routes.js b/app/importer/client/routes.js deleted file mode 100644 index 875a6b2fa3d8..000000000000 --- a/app/importer/client/routes.js +++ /dev/null @@ -1,25 +0,0 @@ -import { registerAdminRoute } from '../../ui-admin/client'; - -registerAdminRoute('/import', { - name: 'admin-import', - lazyRouteComponent: () => import('./components/ImportRoute'), - props: { page: 'history' }, -}); - -registerAdminRoute('/import/new/:importerKey?', { - name: 'admin-import-new', - lazyRouteComponent: () => import('./components/ImportRoute'), - props: { page: 'new' }, -}); - -registerAdminRoute('/import/prepare', { - name: 'admin-import-prepare', - lazyRouteComponent: () => import('./components/ImportRoute'), - props: { page: 'prepare' }, -}); - -registerAdminRoute('/import/progress', { - name: 'admin-import-progress', - lazyRouteComponent: () => import('./components/ImportRoute'), - props: { page: 'progress' }, -}); diff --git a/app/integrations/client/route.js b/app/integrations/client/route.js index fa97cf739741..08a7eb444653 100644 --- a/app/integrations/client/route.js +++ b/app/integrations/client/route.js @@ -1,6 +1,6 @@ import { BlazeLayout } from 'meteor/kadira:blaze-layout'; -import { registerAdminRoute } from '../../ui-admin/client'; +import { registerAdminRoute } from '../../../client/admin'; import { t } from '../../utils'; const dynamic = () => import('./views'); diff --git a/app/integrations/client/startup.js b/app/integrations/client/startup.js index 7ed84fba42f0..e663b8eecbce 100644 --- a/app/integrations/client/startup.js +++ b/app/integrations/client/startup.js @@ -1,5 +1,5 @@ import { hasAtLeastOnePermission } from '../../authorization'; -import { registerAdminSidebarItem } from '../../ui-admin/client'; +import { registerAdminSidebarItem } from '../../../client/admin'; registerAdminSidebarItem({ href: 'admin-integrations', diff --git a/app/invites/client/index.js b/app/invites/client/index.js deleted file mode 100644 index 87db21b40e7f..000000000000 --- a/app/invites/client/index.js +++ /dev/null @@ -1,14 +0,0 @@ -import { registerAdminRoute, registerAdminSidebarItem } from '../../ui-admin/client'; -import { hasPermission } from '../../authorization/client'; - -registerAdminSidebarItem({ - href: 'invites', - i18nLabel: 'Invites', - icon: 'user-plus', - permissionGranted: () => hasPermission('create-invite-links'), -}); - -registerAdminRoute('/invites', { - name: 'invites', - lazyRouteComponent: () => import('./components/InvitesRoute'), -}); diff --git a/app/logger/client/index.js b/app/logger/client/index.js index 3f4a6f231aae..91037ba8d970 100644 --- a/app/logger/client/index.js +++ b/app/logger/client/index.js @@ -1,16 +1 @@ import './logger'; - -import { hasAllPermission } from '../../authorization'; -import { registerAdminRoute, registerAdminSidebarItem } from '../../ui-admin/client'; - -registerAdminSidebarItem({ - href: 'admin-view-logs', - i18nLabel: 'View_Logs', - icon: 'post', - permissionGranted: () => hasAllPermission('view-logs'), -}); - -registerAdminRoute('/view-logs', { - name: 'admin-view-logs', - lazyRouteComponent: () => import('./components/ViewLogsRoute'), -}); diff --git a/app/mail-messages/client/startup.js b/app/mail-messages/client/startup.js index 5148b91bd57c..2aef29460b20 100644 --- a/app/mail-messages/client/startup.js +++ b/app/mail-messages/client/startup.js @@ -1,5 +1,5 @@ import { hasAllPermission } from '../../authorization'; -import { registerAdminSidebarItem } from '../../ui-admin/client'; +import { registerAdminSidebarItem } from '../../../client/admin'; registerAdminSidebarItem({ href: 'admin-mailer', diff --git a/app/oauth2-server-config/client/admin/route.js b/app/oauth2-server-config/client/admin/route.js index 4ba33c35c658..c274dbaa6087 100644 --- a/app/oauth2-server-config/client/admin/route.js +++ b/app/oauth2-server-config/client/admin/route.js @@ -1,6 +1,6 @@ import { BlazeLayout } from 'meteor/kadira:blaze-layout'; -import { registerAdminRoute } from '../../../ui-admin/client'; +import { registerAdminRoute } from '../../../../client/admin'; import { t } from '../../../utils'; registerAdminRoute('/oauth-apps', { diff --git a/app/oauth2-server-config/client/admin/startup.js b/app/oauth2-server-config/client/admin/startup.js index 8ebe8aaf8b1f..7ebf9d175abd 100644 --- a/app/oauth2-server-config/client/admin/startup.js +++ b/app/oauth2-server-config/client/admin/startup.js @@ -1,5 +1,5 @@ import { hasAllPermission } from '../../../authorization'; -import { registerAdminSidebarItem } from '../../../ui-admin/client'; +import { registerAdminSidebarItem } from '../../../../client/admin'; registerAdminSidebarItem({ href: 'admin-oauth-apps', diff --git a/app/theme/client/imports/general/base_old.css b/app/theme/client/imports/general/base_old.css index 7be16e07ff66..7b8ca26d1d55 100644 --- a/app/theme/client/imports/general/base_old.css +++ b/app/theme/client/imports/general/base_old.css @@ -4339,29 +4339,6 @@ rc-old select, } } -.rc-old .statistics-table { - width: 100%; - margin-bottom: 30px; - - & th, - & td { - padding: 6px 8px; - - text-align: left; - word-break: break-word; - } - - & th { - width: 30%; - - text-align: right; - } - - & td { - width: 70%; - } -} - .rc-old .rocket-team { display: block; diff --git a/app/theme/client/imports/general/rtl.css b/app/theme/client/imports/general/rtl.css index 8af3e201c541..2be992c93dbe 100644 --- a/app/theme/client/imports/general/rtl.css +++ b/app/theme/client/imports/general/rtl.css @@ -466,13 +466,6 @@ } } - & .statistics-table { - & th, - & td { - text-align: right; - } - } - & .code-mirror-box { direction: ltr; diff --git a/app/ui-admin/client/components/NotAuthorizedPage.js b/app/ui-admin/client/components/NotAuthorizedPage.js deleted file mode 100644 index e7606e0fbdff..000000000000 --- a/app/ui-admin/client/components/NotAuthorizedPage.js +++ /dev/null @@ -1,17 +0,0 @@ -import { Box } from '@rocket.chat/fuselage'; -import React from 'react'; - -import { useTranslation } from '../../../../client/contexts/TranslationContext'; -import { Page } from '../../../../client/components/basic/Page'; - -function NotAuthorizedPage() { - const t = useTranslation(); - - return - - {t('You_are_not_authorized_to_view_this_page')} - - ; -} - -export default NotAuthorizedPage; diff --git a/app/ui-admin/client/components/info/BuildEnvironmentSection.js b/app/ui-admin/client/components/info/BuildEnvironmentSection.js deleted file mode 100644 index 25e0a702284c..000000000000 --- a/app/ui-admin/client/components/info/BuildEnvironmentSection.js +++ /dev/null @@ -1,22 +0,0 @@ -import { Subtitle } from '@rocket.chat/fuselage'; -import React from 'react'; - -import { useTranslation } from '../../../../../client/contexts/TranslationContext'; -import { DescriptionList } from './DescriptionList'; -import { formatDate } from './formatters'; - -export function BuildEnvironmentSection({ info }) { - const t = useTranslation(); - const build = info && (info.compile || info.build); - - return <> - {t('Build_Environment')} - - {build.platform} - {build.arch} - {build.osRelease} - {build.nodeVersion} - {formatDate(build.date)} - - ; -} diff --git a/app/ui-admin/client/components/info/CommitSection.js b/app/ui-admin/client/components/info/CommitSection.js deleted file mode 100644 index 90ea501c17fe..000000000000 --- a/app/ui-admin/client/components/info/CommitSection.js +++ /dev/null @@ -1,22 +0,0 @@ -import { Subtitle } from '@rocket.chat/fuselage'; -import React from 'react'; - -import { useTranslation } from '../../../../../client/contexts/TranslationContext'; -import { DescriptionList } from './DescriptionList'; - -export function CommitSection({ info }) { - const t = useTranslation(); - const { commit = {} } = info; - - return <> - {t('Commit')} - - {commit.hash} - {commit.date} - {commit.branch} - {commit.tag} - {commit.author} - {commit.subject} - - ; -} diff --git a/app/ui-admin/client/components/info/DescriptionList.js b/app/ui-admin/client/components/info/DescriptionList.js deleted file mode 100644 index f8f9113af71a..000000000000 --- a/app/ui-admin/client/components/info/DescriptionList.js +++ /dev/null @@ -1,16 +0,0 @@ -import React from 'react'; - -export const DescriptionList = ({ children, ...props }) => - - - {children} - -
; - -const Entry = ({ children, label, ...props }) => - - {label} - {children} - ; - -DescriptionList.Entry = Entry; diff --git a/app/ui-admin/client/components/info/RocketChatSection.js b/app/ui-admin/client/components/info/RocketChatSection.js deleted file mode 100644 index bf618db5997b..000000000000 --- a/app/ui-admin/client/components/info/RocketChatSection.js +++ /dev/null @@ -1,29 +0,0 @@ -import { Skeleton, Subtitle } from '@rocket.chat/fuselage'; -import React from 'react'; - -import { useTranslation } from '../../../../../client/contexts/TranslationContext'; -import { formatDate, formatHumanReadableTime } from './formatters'; -import { DescriptionList } from './DescriptionList'; - -export function RocketChatSection({ info, statistics, isLoading }) { - const s = (fn) => (isLoading ? : fn()); - const t = useTranslation(); - - const appsEngineVersion = info && info.marketplaceApiVersion; - - return <> - {t('Rocket.Chat')} - - {s(() => statistics.version)} - {appsEngineVersion && {appsEngineVersion}} - {s(() => statistics.migration.version)} - {s(() => formatDate(statistics.migration.lockedAt))} - {s(() => formatDate(statistics.installedAt))} - {s(() => formatHumanReadableTime(statistics.process.uptime, t))} - {s(() => statistics.uniqueId)} - {s(() => statistics.process.pid)} - {s(() => statistics.instanceCount)} - {s(() => (statistics.oplogEnabled ? t('Enabled') : t('Disabled')))} - - ; -} diff --git a/app/ui-admin/client/components/info/RuntimeEnvironmentSection.js b/app/ui-admin/client/components/info/RuntimeEnvironmentSection.js deleted file mode 100644 index 58bf26cc75f9..000000000000 --- a/app/ui-admin/client/components/info/RuntimeEnvironmentSection.js +++ /dev/null @@ -1,31 +0,0 @@ -import { Skeleton, Subtitle } from '@rocket.chat/fuselage'; -import React from 'react'; - -import { useTranslation } from '../../../../../client/contexts/TranslationContext'; -import { DescriptionList } from './DescriptionList'; -import { formatHumanReadableTime, formatCPULoad } from './formatters'; -import { useFormatMemorySize } from '../../../../../client/hooks/useFormatMemorySize'; - -export function RuntimeEnvironmentSection({ statistics, isLoading }) { - const s = (fn) => (isLoading ? : fn()); - const t = useTranslation(); - const formatMemorySize = useFormatMemorySize(); - - return <> - {t('Runtime_Environment')} - - {s(() => statistics.os.type)} - {s(() => statistics.os.platform)} - {s(() => statistics.os.arch)} - {s(() => statistics.os.release)} - {s(() => statistics.process.nodeVersion)} - {s(() => statistics.mongoVersion)} - {s(() => statistics.mongoStorageEngine)} - {s(() => formatHumanReadableTime(statistics.os.uptime, t))} - {s(() => formatCPULoad(statistics.os.loadavg))} - {s(() => formatMemorySize(statistics.os.totalmem))} - {s(() => formatMemorySize(statistics.os.freemem))} - {s(() => statistics.os.cpus.length)} - - ; -} diff --git a/app/ui-admin/client/components/info/UsageSection.js b/app/ui-admin/client/components/info/UsageSection.js deleted file mode 100644 index 5d9ff1ee2ca5..000000000000 --- a/app/ui-admin/client/components/info/UsageSection.js +++ /dev/null @@ -1,51 +0,0 @@ -import { Subtitle, Skeleton } from '@rocket.chat/fuselage'; -import React from 'react'; - -import { useTranslation } from '../../../../../client/contexts/TranslationContext'; -import { useFormatMemorySize } from '../../../../../client/hooks/useFormatMemorySize'; -import { DescriptionList } from './DescriptionList'; - -export function UsageSection({ statistics, isLoading }) { - const s = (fn) => (isLoading ? : fn()); - const formatMemorySize = useFormatMemorySize(); - const t = useTranslation(); - - return <> - {t('Usage')} - - {s(() => statistics.totalUsers)} - {s(() => statistics.activeUsers)} - {s(() => statistics.activeGuests)} - {s(() => statistics.appUsers)} - {s(() => statistics.nonActiveUsers)} - {s(() => statistics.totalConnectedUsers)} - {s(() => statistics.onlineUsers)} - {s(() => statistics.awayUsers)} - {s(() => statistics.offlineUsers)} - {s(() => statistics.totalRooms)} - {s(() => statistics.totalChannels)} - {s(() => statistics.totalPrivateGroups)} - {s(() => statistics.totalDirect)} - {s(() => statistics.totalLivechat)} - {s(() => statistics.totalDiscussions)} - {s(() => statistics.totalThreads)} - {s(() => statistics.totalMessages)} - {s(() => statistics.totalChannelMessages)} - {s(() => statistics.totalPrivateGroupMessages)} - {s(() => statistics.totalDirectMessages)} - {s(() => statistics.totalLivechatMessages)} - {s(() => statistics.uploadsTotal)} - {s(() => formatMemorySize(statistics.uploadsTotalSize))} - {statistics && statistics.apps && <> - {statistics.apps.totalInstalled} - {statistics.apps.totalActive} - } - {s(() => statistics.integrations.totalIntegrations)} - {s(() => statistics.integrations.totalIncoming)} - {s(() => statistics.integrations.totalIncomingActive)} - {s(() => statistics.integrations.totalOutgoing)} - {s(() => statistics.integrations.totalOutgoingActive)} - {s(() => statistics.integrations.totalWithScriptEnabled)} - - ; -} diff --git a/app/ui-admin/client/components/info/formatters.js b/app/ui-admin/client/components/info/formatters.js deleted file mode 100644 index ed1b906e453e..000000000000 --- a/app/ui-admin/client/components/info/formatters.js +++ /dev/null @@ -1,43 +0,0 @@ -import moment from 'moment'; -import s from 'underscore.string'; - -export const formatNumber = (number) => s.numberFormat(number, 2); - -export const formatDate = (date) => { - if (!date) { - return null; - } - - return moment(date).format('LLL'); -}; - -export const formatHumanReadableTime = (time, t) => { - const days = Math.floor(time / 86400); - const hours = Math.floor((time % 86400) / 3600); - const minutes = Math.floor(((time % 86400) % 3600) / 60); - const seconds = Math.floor(((time % 86400) % 3600) % 60); - let out = ''; - if (days > 0) { - out += `${ days } ${ t('days') }, `; - } - if (hours > 0) { - out += `${ hours } ${ t('hours') }, `; - } - if (minutes > 0) { - out += `${ minutes } ${ t('minutes') }, `; - } - if (seconds > 0) { - out += `${ seconds } ${ t('seconds') }`; - } - return out; -}; - -export const formatCPULoad = (load) => { - if (!load) { - return null; - } - - const [oneMinute, fiveMinutes, fifteenMinutes] = load; - - return `${ formatNumber(oneMinute) }, ${ formatNumber(fiveMinutes) }, ${ formatNumber(fifteenMinutes) }`; -}; diff --git a/app/ui-admin/client/hooks/useAdminSideNav.js b/app/ui-admin/client/hooks/useAdminSideNav.js deleted file mode 100644 index 25d3f293dc74..000000000000 --- a/app/ui-admin/client/hooks/useAdminSideNav.js +++ /dev/null @@ -1,10 +0,0 @@ -import { useEffect } from 'react'; - -import { SideNav } from '../../../ui-utils/client/lib/SideNav'; - -export const useAdminSideNav = () => { - useEffect(() => { - SideNav.setFlex('adminFlex'); - SideNav.openFlex(); - }, []); -}; diff --git a/app/ui-admin/client/routes.js b/app/ui-admin/client/routes.js deleted file mode 100644 index 242809c9642b..000000000000 --- a/app/ui-admin/client/routes.js +++ /dev/null @@ -1,68 +0,0 @@ -import { FlowRouter } from 'meteor/kadira:flow-router'; -// import { BlazeLayout } from 'meteor/kadira:blaze-layout'; -import { Meteor } from 'meteor/meteor'; - -import { renderRouteComponent } from '../../../client/reactAdapters'; - -const routeGroup = FlowRouter.group({ - name: 'admin', - prefix: '/admin', -}); - -export const registerAdminRoute = (path, { lazyRouteComponent, props, action, ...options } = {}) => { - routeGroup.route(path, { - ...options, - action: (params, queryParams) => { - if (action) { - action(params, queryParams); - return; - } - - renderRouteComponent(() => import('./components/AdministrationRouter'), { - template: 'main', - region: 'center', - propsFn: () => ({ lazyRouteComponent, ...options, params, queryParams, ...props }), - }); - }, - }); -}; - -registerAdminRoute('/', { - triggersEnter: [(context, redirect) => { - redirect('admin-info'); - }], -}); - -registerAdminRoute('/info', { - name: 'admin-info', - lazyRouteComponent: () => import('./components/info/InformationRoute'), -}); - -registerAdminRoute('/mailer', { - name: 'admin-mailer', - lazyRouteComponent: () => import('./components/mailer/MailerRoute'), -}); - -registerAdminRoute('/custom-user-status/:context?/:id?', { - name: 'custom-user-status', - lazyRouteComponent: () => import('../../../client/admin/customUserStatus/CustomUserStatusRoute'), -}); - -registerAdminRoute('/users/:context?/:id?', { - name: 'admin-users', - lazyRouteComponent: () => import('../../../client/admin/users/AdminUsersRoute'), - tab: 'users', -}); - -registerAdminRoute('/rooms/:context?/:id?', { - name: 'admin-rooms', - lazyRouteComponent: () => import('../../../client/admin/rooms/AdminRoomsRoute'), - tab: 'rooms', -}); - -Meteor.startup(() => { - registerAdminRoute('/:group+', { - name: 'admin', - lazyRouteComponent: () => import('./components/settings/SettingsRoute'), - }); -}); diff --git a/app/ui-admin/client/sidebarItems.js b/app/ui-admin/client/sidebarItems.js deleted file mode 100644 index f060c00e21d3..000000000000 --- a/app/ui-admin/client/sidebarItems.js +++ /dev/null @@ -1,10 +0,0 @@ -import { ReactiveVar } from 'meteor/reactive-var'; -import { Tracker } from 'meteor/tracker'; - -const items = new ReactiveVar([]); - -export const registerAdminSidebarItem = (itemOptions) => { - Tracker.nonreactive(() => items.set([...items.get(), itemOptions])); -}; - -export const getSidebarItems = () => items.get().filter((option) => !option.permissionGranted || option.permissionGranted()); diff --git a/app/ui-message/client/blocks/MessageBlock.js b/app/ui-message/client/blocks/MessageBlock.js index 3bd9a8739ff3..2794b2655832 100644 --- a/app/ui-message/client/blocks/MessageBlock.js +++ b/app/ui-message/client/blocks/MessageBlock.js @@ -2,6 +2,7 @@ import { UIKitIncomingInteractionContainerType } from '@rocket.chat/apps-engine/ import { UiKitMessage, UiKitComponent, kitContext, messageParser } from '@rocket.chat/fuselage-ui-kit'; import React, { useRef, useEffect } from 'react'; +import RawText from '../../../../client/components/basic/RawText'; import { renderMessageBody } from '../../../ui-utils/client'; import * as ActionManager from '../ActionManager'; @@ -11,7 +12,7 @@ messageParser.text = ({ text, type } = {}) => { return text; } - return ; + return {renderMessageBody({ msg: text })}; }; export function MessageBlock({ mid: _mid, rid, blocks, appId }) { diff --git a/app/ui-message/client/blocks/ModalBlock.js b/app/ui-message/client/blocks/ModalBlock.js index cec19b7c74d1..891c1b15c751 100644 --- a/app/ui-message/client/blocks/ModalBlock.js +++ b/app/ui-message/client/blocks/ModalBlock.js @@ -5,6 +5,7 @@ import { kitContext, UiKitComponent, UiKitModal, modalParser } from '@rocket.cha import { uiKitText } from '@rocket.chat/ui-kit'; import React, { useCallback, useEffect, useMemo, useReducer, useRef, useState } from 'react'; +import RawText from '../../../../client/components/basic/RawText'; import { renderMessageBody } from '../../../ui-utils/client'; import { getURL } from '../../../utils/lib/getURL'; import * as ActionManager from '../ActionManager'; @@ -15,7 +16,7 @@ modalParser.text = ({ text, type } = {}) => { return text; } - return ; + return {renderMessageBody({ msg: text })}; }; const textParser = uiKitText({ diff --git a/app/ui-sidenav/client/SortList.js b/app/ui-sidenav/client/SortList.js index b0add853e97a..71ca52af71ed 100644 --- a/app/ui-sidenav/client/SortList.js +++ b/app/ui-sidenav/client/SortList.js @@ -16,7 +16,7 @@ function SortListItem({ text, icon, input }) { - {text} + {text} @@ -54,7 +54,7 @@ function SortModeList() { return <> - {t('Sort_By')} + {t('Sort_By')}