Merged
Conversation
Merge master into develop & Set version to 3.15.0-develop
* Language update from LingoHub 🤖 Project Name: Rocket.Chat Project Link: https://translate.lingohub.com/rocketchat/dashboard/rocket-dot-chat User: Robot LingoHub Easy language translations with LingoHub 🚀 * fix number Co-authored-by: Robot LingoHub <robot@lingohub.com> Co-authored-by: Diego Sampaio <chinello@gmail.com>
#21866) Co-authored-by: Douglas Gubert <douglas.gubert@gmail.com>
* Upgrade to GitHub-native Dependabot * Add GitHub Action and EE NPM * Remove old ignored package versions Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> Co-authored-by: Diego Sampaio <chinello@gmail.com>
Bumps [actions/stale](https://github.com/actions/stale) from v3.0.8 to v3.0.18. - [Release notes](https://github.com/actions/stale/releases) - [Commits](actions/stale@v3.0.8...3b3c3f0) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Diego Sampaio <chinello@gmail.com>
Project Name: Rocket.Chat Project Link: https://translate.lingohub.com/rocketchat/dashboard/rocket-dot-chat User: Robot LingoHub Easy language translations with LingoHub 🚀 Co-authored-by: Robot LingoHub <robot@lingohub.com>
…lose on form page. (#21688) * back contextualbar chat room form * fix back action and close Co-authored-by: Renato Becker <renato.augusto.becker@gmail.com> Co-authored-by: Martin Schoeler <martin.schoeler@rocket.chat>
* add bridge method to delete rooms * fix no-trailling-spaces Co-authored-by: Thassio Victor <tvmcarvalho@gmail.com>
Co-authored-by: Diego Sampaio <chinello@gmail.com>
…ents that they are not supervising (#22128) Co-authored-by: Murtaza Patrawala <34130764+murtaza98@users.noreply.github.com> Co-authored-by: Diego Sampaio <chinello@gmail.com>
* Add new ult (user left team) message type * Use new ult message type * Add new ujt (user joined team) messsage type
ggazzo
approved these changes
May 28, 2021
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
2021-05-28 · 8 🎉 · 12 🚀 · 62 🐛 · 47 🔍 · 34 👩💻👨💻Engine versions
12.22.16.14.13.4, 3.6, 4.0, 4.21.26.0🎉 New features
APPS: Ability for Rocket.Chat Apps to delete rooms (#21875)
Adds a new
deletemethod on the rooms bridge in order to trigger the deletion of rooms via the Apps-Engine.ENTERPRISE: Introduce Load Rotation routing algorithm for Omnichannel (#22090)
This PR introduces a new Auto Chat Distribution (ACD) algorithm for Omnichannel: Load Rotation.
The algorithm distributes chats to agents one by one, which means that when a new chat arrives, the agent with the oldest routing assignment time will be selected to serve the chat, regardless of the number of chats in progress each agent has.
Back button for Omnichannel (#21647)
New Message Parser (#21962)
The objective is to put an end to the confusion that we face having multiple parsers, and the problems that this brings, it is still experimental then users need to choose to use it.
The benefits are multiple. no more unexpected cases or grammatical collisions (in addition to more flexible nested cases like bold within link labels).
Besides, we no longer render raw html, instead we use components, so the xss attacks are over (the easy ones at least). Without further discoveries and at the fronted, we only reder what is delivered thus improving our performance.
This can be used in multiple places, (message, alert, sidenav and in the entire mobile application.)
Option to notify failed login attempts to a channel (#21968)
Option to prevent users from using Invisible status (#20084)
Add an
adminoption to allow/disallow theInvisiblestatus option from all users. This option is available in theAccountssection.If the option is turned off, the
users.setStatusendpoint is also restricted from users trying to change their status toInvisible, throwing the following error:{ "success": false, "error": "Invisible status is disabled [error-not-allowed]", "stack": "Error: Invisible status is disabled [error-not-allowed]\n at DDPCommon.MethodInvocation.<anonymous> (app/api/server/v1/users.js:425:13)\n at packages/dispatch_run-as-user.js:211:14\n at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)\n at Object.Meteor.runAsUser (packages/dispatch_run-as-user.js:210:33)\n at Object.post (app/api/server/v1/users.js:415:10)\n at app/api/server/api.js:394:82\n at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)\n at Object._internalRouteActionHandler [as action] (app/api/server/api.js:394:39)\n at Route.share.Route.Route._callEndpoint (packages/nimble_restivus/lib/route.coffee:150:32)\n at packages/nimble_restivus/lib/route.coffee:59:33\n at packages/simple_json-routes.js:98:9", "errorType": "error-not-allowed", "details": { "method": "users.setStatus" } }Paginated and Filtered selects on new/edit unit (#22052)
REQUIRES feat(fuselage): New paginated Selects/Options fuselage#447
Adds infinite scrolling selects to the units edit/create with the ability to be filtered by text as well
This Affects the monitors and departments inputs
Remove exif metadata from uploaded files (#22044)
🚀 Improvements
Add groups to the directory channels list (#21687)
Add support to queries in
channels.membersandgroups.membersendpoints (#21414)queryparameter) inchannels.membersandgroups.membersendpoints.Add support to queries in the
im.membersendpoint (#21471)name,usernameandstatusparameters.Add team members to channel when set as auto join (#22056)
Create a channels.autojoin endpoint to set a channel as autojoin. Also make it so that old team members join this channel automatically
CAS popup login size input type (#21907 by @Deepak-learner)
Inconsistent and misleading 2FA settings (#22042)
Currently, there are some inconsistencies and incorrect behaviors on the 2FA settings, such as:
When disabling the TOTP 2FA, all 2FA are disabled;
There are no option to disable only the TOTP 2FA;
If 2FA are disabled, the other settings aren't blocked (the e-mail 2FA setting, for example);
It lacks some labels to warn the user of some specific 2FA options.
This PR looks to fix those issues.
LDAP port setting input type to allow only numbers (#21912 by @Deepak-learner)
Missing modal on deleting a role (#22020)
Omnichannel Room Information panel flow when user save or close on form page. (#21688)
Prevent gallery to close when clicking on a non-zoomable image (#21854)
Replace method to API Endpoint on Prune Messages (#21836)
Support for Google OAuth for mobile app (#22014)
🐛 Bug fixes
APPS: Scheduler duplicating recurrent tasks after server restart (#21866)
Reintroduces the old method for creating recurring tasks in the apps' scheduler bridge to ensure tasks won't be duplicated.
By introducing the
skipImmediateproperty option at thescheduleRecurringmethod, theeverymethod from agenda.js, which ensured no duplicates were created, was removed in favor of a more manual procedure. The new procedure was not taking into account the management of duplicates and as a result multiple copies of the same task could be created and they would get executed at the same time.In the case of server restarts, every time this event happened and the app had the
startupSettingconfigured to use recurring tasks, they would get recreated the same number of times. In the case of a server that restarts frequently (n times), there would be the same (n) number of tasks duplicated (and running) in the system.ENTERPRISE: Omnichannel Monitors can't forward chats to departments that they are not supervising (#22128)
Currently, Omnichannel Monitors just can't forward chats to a department that is part of a
Business Unitthey're not supervising. This issue is causing critical problems on customer operations since this behaviour is not by design.The reason this issue is taking place is that, by design, Monitors just have access to departments related to the
Business Unitsthey're monitoring, but this restriction is designed only for Omnichannel management areas, which means in case the monitor is, also, an agent, they're supposed to be able to forward a chat to any available departments regardless theBusiness Unitsit's associated with.So, initially, the restriction was implemented on the
Department Modeland, now, we're implementing the logic properly and introducing a new parameter to department endpoints, so the client will define which type of departments it needs.ENTERPRISE: Omnichannel Monitors can't forward chats to departments that they are not supervising (#22142)
Adding Custom Fields to show on user info check (#20955 by @yash-rajpal)
The setting custom fields to show under user info was not being used when rendering fields in user info. This pr adds those checks and only renders the fields mentioned under in admin -> accounts -> Custom Fields to Show in User Info.
Adding permission 'add-team-channel' for Team Channels Contextual bar (#21591 by @yash-rajpal)
Added 'add-team-channel' permission to the 2 buttons in team channels contextual bar, for adding channels to teams.
Adding retentionEnabledDefault check before showing warning message (#20692 by @yash-rajpal)
Added check for retentionEnabledDefault before showing prune warning message.
App crashes when downloads come from WebDAV and the server is not available (#21985)
App license error detail message removed (#22091)
Banner in the App Detail page that showed a message explaining why the license validation had failed was removed previously, likely during the React rewrite.
We're bringing it back.
Auto-join Tags misalignment (#21980)
Close stream properly at Omnichannel room when move to queue (#22015)
Contact Bar not reactive (#22016)
Convert a channel to Team Modal Visual Issues (#21967)
Correcting a the wrong Archived label in edit room (#21717 by @Jeanstaquet)
A label exists for Archived, and it has not been used. So I replaced it with the existing one. the label 'Archived' does not exist.
Custom OAuth not being completely deleted (#21637 by @siva2204)
Directory Table's Sort Function (#21921)
TableRow Margin Issue:
Table Sort Action Issue:
Discussion names showing a random value (#22172)
Dismiss button for save your encryption password dialog Issue#13557 (#19872 by @savish28)
Display Modes (#22058)
Emails being sent with HTML entities getting escaped multiple times (#21994 by @bhavayAnand9)
fixes an issue where if password contains special HTML character like &, in the email it would end up something like
&amp;password was going through multiple escapeHTML function calls
secure&123 => secure&123 => secure&amp;123Error when you look at the members list of a room in which you are not a member (#21952 by @Jeanstaquet)
Before, when you look at the members of a room in which you are not a member the app crashed, i corrected this problem.
Indeed, there was a check on each currentSubscription. to see if it was not undefined except on currentSubscription.blocker
2021-05-05.03-12-08.mp4
errors when viewing a room that you're not subscribed to (#21984)
Files list will not show deleted files. (#21732 by @Darshilp326)
When you delete files from the header option, deleted files will not be shown.
delete-files-pr.mp4
Fixed the fact that when a team was deleted, not all channels were unlinked from the team (#21942 by @Jeanstaquet)
Fixed the fact that when a team was deleted, not all channels were unlinked from the team. Only the first room of the rooms list was unlinked.
After the fix, there is nos more errors:
2021-05-04.20-50-22.mp4
Fixing Jitsi call ended Issue. (#21808)
The new rewrite in react of contextual call component broke the Jitsi "click to join" messages. The issue being after 10 seconds of initiating the call, the message "click to join" always returned "Call Ended" even if the call was still going on.
This was due to the fact that after closing the contextual bar, the react component gets unmounted and we are not able to keep track of ongoing call and increase jitsi room timeout.
This PR solves this issue by using the setInterval methods on component will unmount. When the call component unmounts, we keep on checking the state of jitsi call and based on conditions increase the jitsi room timeout. After the call is ended all setInterval calls are closed.
This PR also removes the implementation of HEARTBEAT events of JitsiBridge. This is because this is no longer needed and all logic is being taken care of by the unmount function.
Handle NPS errors instead of throwing them (#21945)
Header Tag Visual Issues (#21991)
Normal
Hover
Horizontal scrollbar not showing on tables (#21852)
IE11 support (#21893)
iFrame size on embedded videos (#21992)
Before
After
Incorrect error message when opening channel in anonymous read (#22066)
Every time you open a public channel with threads in it when using anonymous read an
Incorrect Usererror will be thrown.This is an incorrect behaviour as everything that is public should be valid for an anonymous user.
Some files are adapted to that and have already removed this kind of incorrect error, but there are some that need some fix, this PR aims to do that.
Incorrect Team's Info spacing (#22021)
Label's disabled color on Create New Modal (#21975)
Make the FR translation consistent with the 'room' translation + typos (#21913 by @Jeanstaquet)
In the FR translation files, there were two terms that were used to refer to 'room':
The problem is that both were used in the same context and sometimes even in the same option list.
However, since 'salon' is a better translation and was also in the majority, I used the translation 'salon' wherever 'salle' was marked.
For example:

Maximum 25 channels can be loaded in the teams' channels list (#21708 by @Jeanstaquet)
Before a maximum 25 of channels was able to be displayed in the teams' channels list.
Missing margins on select team modal (#21965)
Missing proper permissions on Teams Channels (#21946)
No warning message is sent when user is removed from a team's main channel (#21949)
usersCountfield in the team's main room when a user is removed from the team (usersCountis now decreased by 1).Not possible accept video call if "Hide right sidebar with click" is enabled (#22175)
Notify with sound first message in queue list (#21969)
Open a new DM throwing error 404 (#22100)
Adapts the
openRoomfunction to the new signature ofcreateDirectMessage.Permission's scope on Teams Channels (#22083)
Allow moderators and owners to add or create channels on Teams Channels
Presence.get method (#22129)
closes OTR broken with Release 3.14.0 #21873
Prevent the userInfo tab to return 'User not found' each time if a certain member of a DM group has been deleted (#21970 by @Jeanstaquet)
Prevent the userInfo tab to return 'User not found' if a member of a DM group has been deleted.
This happens if the user that has been deleted is the one originally displayed on the userInfo tab in a DM group with >2 users.
2021-05-06.01-00-30.mp4
Prune messages not cleaning up unread threads (#21326 by @renancleyson-dev)
Fixes permanent unread messages when admin prune at least two different thread messages in the room that were unread by some user.

Redirect on remove user from channel by user profile tab (#21951)
Remove referer header when requesting attachment data (#21987)
Removed fields from User Info for which the user doesn't have permissions. (#20923 by @Darshilp326)
Removed LastLogin, CreatedAt and Roles for users who don't have permission.
Correct-info-pr.mp4
Replace
queryparam byname,usernameandstatuson theteams.membersendpoint (#21539)queryparam byname,usernameandstatuson theteams.membersendpoint.Scenarios where 2FA enforcement was not working properly (#22017)
Tooltip pointer is blocking Text (#21645 by @sumukhah)
Unable to edit a 'direct' room setting in the admin due to the room name (#21636 by @Jeanstaquet)
When you are in the admin and want to change a room 'd' setting, it doesn't work because it takes into account the name that is set automatically and therefore tries to save that name. Since the name is not valid and should not be registered, we cannot change the setting for the 'd' room.
I made sure that when you want to change a setting in a 'd' room, that you don't take the name into account
2021-04-18.17-10-16.mp4
Behind the scene, the name is not saved
Unable to edit a user who does not have an email via the admin or via the user's profile (#21626 by @Jeanstaquet)
If a user does not have an email address, they cannot change it via their profile or via the admin. I fixed this issue. I have created several profiles and there was one that didn't have an email, I don't know how I did it, I am working on it. I had not modified the db to delete his email, hence the fix
in admin
AfterFix-List.mp4
in the user profile
AfterFix-Profile.mp4
Unable to get channels, sort by most recent message (#21701 by @sumukhah)
Unable to update app manually (#21215)
It allows for update of apps using a zip file.
When installing apps using the zip file, either by url or the file form, if the app was already installed, an error would be thrown stating the condition and forbidding the installation. Now, when sending a zip file of an app that is already installed, the user is presented with the following modal:
If the app also requires permissions to be reviewed, the modal that handles permission reviews will be shown after this one is accepted.
Unpin message reactivity (#22029)
Uploading files from WebDAV (#21948)
User Impersonation through sendMessage API (#20391)
Create a new permission:
message-impersonate. For new installs only bot role will have the permission and for updating installs the permission will also be given to user role, so it won't break running deployments.If a message is being sent with
avataroraliasproperties, it validates if the sender has themessage-impersonatepermission, if not, an error is throwed:{ "success": false, "error": "Not enough permission", "stack": "Error: Not enough permission\n ..." }Visibility of burger menu on certain width (#20736 by @yash-rajpal)
Burger was not visible on a certain width, specifically between 600 to 780. if width is more than 780px sidebar is shown, if less than 600 then burger icon was shown. But it wasn't shown between 600px to 780 px.
It was because for showing burger icon we were only checking for
isMobilewhich is lenght only less than 600. So i added one more check for condition if length is less than 780 px.When closing chats a comment is always required (#21947)
Fixes issue with the setting
Livechat_request_comment_when_closing_conversationnot working as intendedWorkaround for Autolinker phone problem (#21515)
Wrong color and size, thread list Metrics (#21950)
Wrong icon on "Move to team" option in the channel info actions (#21944)
Depends on new: team-arrow-right icon fuselage#444
🔍 Minor changes
[EE] Improve Forwarding Department behaviour with Waiting queue feature (#22043)
[EE] Omnichannel monitors not authorized to view departments (#22048)
[FIXf] Parent Room Tag Overlapping (#22009)
Add two more test cases to the slash-command test suite (#21317 by @EduardoPicolo)
Added two more test cases to the slash-command test suite:
'should return an error when the command does not exist'';
'should return an error when no command is provided';
Bump actions/stale from v3.0.8 to v3.0.18 (#21877 by @dependabot[bot])
Bump: Fuselage 0.26.0 (#22178)
Chore: Add missing 'Teams' label in the i18n files for every languages (#21751 by @Jeanstaquet)
I added the missing Teams label in the i18n folder for EN, FR & NL
Chore: Add mongo 4.2 to array of mongo versions supported (#21550)
Chore: Bump message parser (#22101)
Chore: Correct some spelling/typos in English for descriptions/modal (#21832 by @Jeanstaquet)
I found typos, spelling mistakes, I corrected them
Chore: Doc Client Readme (#21588 by @umakantv)
Chore: fix invalid type name on TS file (#21814)
Chore: Storybook organization and errors (#21923)
Chore: Update Docker container references to use registry.rocket.chat endpoint (#22080 by @aviaviavi)
This change updates the Docker installation instructions to use the new registry.rocket.chat endpoint to pull the rocketchat/rocket.chat container. This is part of the rollout described here: https://rocket.chat/blog/product/docker-images-change/
Chore: update fuselage && icons (#22092)
i18n: Add missing translation string in account preference (#21448 by @sumukhah)
"Test Desktop Notifications" was missing in translation, Added to the file.

i18n: Correct a typo in German (#21711 by @Jeanstaquet)
Language update from LingoHub 🤖 on 2021-04-26Z (#21801)
Language update from LingoHub 🤖 on 2021-05-03Z (#21917)
Language update from LingoHub 🤖 on 2021-05-10Z (#21998)
Language update from LingoHub 🤖 on 2021-05-18Z (#22065)
Merge master into develop & Set version to 3.15.0-develop (#21847)
Regression: Add "User left team" message type (#22109)
Regression: Add i18n to license error messages (#22171)
Regression: Add impersonate permission to app role (#22006)
regression: bump Rocket.Chat.Fuselage package with paginated selects (#22059)
Regression: discussions display on sidebar (#22157)
group by type active
group by type inactive
regression: fix departments with empty ancestors not being returned (#22068)
Regression: Fix new 'message-impersonate' permission blocking livechat messages (#21961)
Regression: Fix send message validation (#21982)
regression: Fix Users list in the Administration (#22034 by @Jeanstaquet)
The app crashed if no custom fields for user profiles have been created by the admin. I fixed this issue. This bug was introduced by a recent commit.
2021-05-14.03-59-55.mp4
Regression: Improve migration 225 (#22099)
Regression: Make referrer header configurable (#22126)
Regression: Match
nameorfnamewhen fetching room to send notification for blocked log in attemps (#22067)regression: Migration 225 setting not being fetched correctly (#22108)
Regression: Missing room scope on teams channels permission (#22137)
regression: Misspelled property in migration 225 (#22093)
Regression: not allowed to edit roles due to a new verification (#22159)
introduced by [FIX] Creating roles with same name #21905

regression: Select Team Modal margin (#22030)
regression: UserInfoTab Broken (#22019)
Regression: Visual issue on sort list item (#22158)
before
after
Release 3.14.2 (#22135)
Release 3.14.4 (#22181)
Remove memory leak from userData (#22094)
String helpers (#21988)
It uses string helpers from a external package (
@rocket.chat/string-helpers).Update Apps-Engine version (#22176)
Upgrade to GitHub-native Dependabot (#21874 by @dependabot-preview[bot])
👩💻👨💻 Contributors 😍
👩💻👨💻 Core Team 🤓