github RocketChat/Rocket.Chat 3.13.0

latest releases: 6.5.6, 6.6.7, 6.7.1...
3 years ago

2021-04-03 · 7 🎉 · 11 🚀 · 36 🐛 · 60 🔍 · 38 👩‍💻👨‍💻

Engine versions

  • Node: 12.21.0
  • NPM: 6.14.8
  • MongoDB: 3.4, 3.6, 4.0
  • Apps-Engine: 1.24.0

🎉 New features

You can easily group your users as Teams on Rocket.Chat. The feature takes the hassle out of managing multiple users one by one and allows you to handle them at the same time efficiently.

Teams can be public or private and each team can have its own channels, which also can be public or private.
It's possible to add existing channels to a Team or create new ones inside a Team.
It's possible to invite people outside a Team to join Team's channels.
It's possible to convert channels to Teams
It's possible to add all team members to a channel at once
Team members have roles

image

Quickly onboard new users with Autojoin channels

Teams can have Auto-join channels – channels to which the team members are automatically added, so you don’t need to go through the manual process of adding users repetitively

image

Instantly mention multiple members at once (available in EE)

With Teams, you don’t need to remember everyone’s name to communicate with a team quickly. Just mention a Team — @engineers, for instance — and all members will be instantly notified.

  • APPS: Map description as a room value in Apps (#20811)

    Add the description value of a room as a mapped value in the Apps-Engine. That way developers can get the description information from a room in their app.

  • APPS: New event interfaces for pre/post user leaving a room (#20917)

    Added events and errors that trigger when a user leaves a room.
    That way it can communicate with the Apps-Engine by the IPreRoomUserLeave and IPostRoomUserLeave event interfaces.

  • Enterprise: Omnichannel On-Hold Queue (#20945)

    About this feature

    This feature has been introduced to deal with Inactive chats. A chat is considered Inactive if an Omnichannel End User (aka Visitor) has not replied back to an agent in some time. These types of inactive chats become very important when an organisation has a limit set for Max Simultaneous Chats per agent which is defined by the following setting 👇 , as more number of Inactive chats would directly affect an agent's productivity.
    image

    Before this feature, we only had one option to deal with such Inactive/Abandoned chats - which was to auto close abandoned chats via this setting 👇
    image

    however closing a chat isn't a best option for some cases. Let me take an example to explain a scenario

    An agent is assisting a customer for installing a very huge software which is likely to take more than 20-30 minutes to download. In such scenarios closing a chat isn't the best approach since even after the lengthy download the customer might still need some assist from the agent.
    So basically this chat is going to block the agent's queue until the customer is able to finish his time-consuming download task in which he/she doesn't require any agent's assistance. Due to the Max Simultaneous Chats per agent limit, the agent is also not able to use this extra time to help other customer thus affecting his overall productivity.

    So how does the On-Hold feature solve this problem?
    With the On-Hold feature, an agent is now able to place a chat on-hold. On-Hold chats don’t count towards the maximum number of concurrent chats an agent can have. So in our above example, the agent can simply now place the customer on-hold for 20-30 minutes until the customer downloads the software and within this time, the agent can serve other customers - hence increasing the productivity of an agent.


    Working of the new On-Hold feature

    How can you place a chat on Hold ?

    A chat can be placed on-hold via 2 means

    1. Automatically place Abandoned chats On-hold
      image
      Via this 🔝 option you can define a timer which will get started when a customer sends a message. If we don't receive any message from the customer within this timer, the timer will get expired and the chat will be considered as Abandoned.
      image
      The via this 🔝 setting you can choose to automatically place this abandoned chat On Hold

    2. Manually place a chat On Hold
      As an admin, you can allow an agent to manually place a chat on-hold. To do so, you'll need to turn on this 👇 setting
      image
      Now an agent will be able to see a new On Hold button within their Visitor Info Panel like this 👇 , provided the agent has sent the last message
      image

    How can you resume a On Hold chat ?

    An On Hold chat can be resumed via 2 means

    1. If the Customer sends a message
      If the Customer / Omnichannel End User sends a message to the On Hold chat, the On Hold chat will get automatically resumed.

    2. Manually by agent
      An Agent can manually resume the On Hold chat via clicking the Resume button in the bottom of a chat room.
      image

    What would happen if the agent already reached maximum chats, and a On-Hold chat gets resumed ?

    Based on how the chat was resumed, there are multiple cases are each case is dealt differently

    • If an agent manually tries to resume the On Hold chat, he/she will get an error saying Maximum Simultaneous chat limit reached

    • If a customer replies back on an On Hold chat and the last serving agent has reached maximum capacity, then this customer will be placed on the queue again from where based on the Routing Algorithm selected, the chat will get transferred to any available agent

  • Ability to hide 'Room topic changed' system messages (#21062 by @Tirieru)

  • Add Omnichannel Livechat Trigger option for when user opens the chat window (#20030 by @reda-alaoui)

  • Quick action buttons for Omnichannel (#21123)

🚀 Improvements

  • Add spacing between elements in Profile Page (#20742 by @cyberShaw)

  • Added modal-box for preview after recording audio. (#20370 by @Darshilp326)

    A modal box will be displayed so that users can change the filename and add description.

    Before

    audio-message-before.mp4

    After

    audio-message-after.mp4
  • Adds toast after follow/unfollow messages and following icon for followed messages without threads. (#20025 by @RonLek)

    There was no alert on following/unfollowing a message previously. Also, it was impossible to make out a followed message with no threads from an unfollowed one.

    This PR would show an alert on following/unfollowing a message and also display a small bell icon (similar to the ones for starred and pinned messages) when a message with no thread is followed.

    Screencast.from.Saturday.02.January.2021.12_58_33.IST.mp4
  • Back to threads list button on threads contextual bar (#20882)

    image

  • Better new channel popover (#21018)

  • grammatical typos in pull request template (#21115 by @sumukhah)

  • Improve Apps permission modal (#21193)

    Improve the UI of the Apps permission modal when installing an App that requires permissions.

    New UI:
    after

    Old UI:
    before

  • Make debug logs of Apps configurable via Log_Level setting in the Admin panel (#21000 by @meomay503)

  • Re-design Omnichannel Room Info Panel (#21199)

  • Set description in create channel modal (#21132)

  • Sort Users List In Case Insensitive Manner (#20790 by @aditya-mitra)

    The users listed in the admin panel were sorted in a case-sensitive manner , where the capitals came first and then the small letters (like - A B C a b c). This Change fixes this by sorting the names in a caseinsensitive manner (now - A a B b C c).

    Before

    before

    With This Change

    after

🐛 Bug fixes

  • 'Chats in Progress' Section is not rendering when the routing algorithm is not Manual Selection (#21324)

  • "Taken At" and "Average of Response Time" fields not rendering properly on Room Information panel (#21365)

  • Apps: Fix Game Center icon disappeared after the React refactor (#21091)

  • APPS: Warn message while installing app in air-gapped environment (#20992)

    Change error message to a warn message when uploading a .zip file app into a air-gapped environment.

    The error message was giving the impression for the user that the app wasn't properly being installed , which it wasn't the case:
    error

    A more detailed warn message can fix that impression for the user:
    warn

  • Add missing unreads field to users.info REST endpoint (#20905)

  • Added hideUnreadStatus check before showing unread messages on roomList (#20867 by @yash-rajpal)

    Added hide unread counter check, if the show unread messages is turned off, now unread messages badge won't be shown to user.

  • Broken message fields attachment handling (#21069)

    Avoids an undefined value to break a rendered attachment.

  • Correct direction for admin mapview text (#20897 by @aKn1ghtOut)

    Screenshot from 2021-02-25 02-49-21
    Screenshot from 2021-02-25 02-49-46
    Screenshot from 2021-02-25 02-49-57

    The text says the share button will be on the left of the messagebox once enabled. However, it actually is on the right.

  • Correct ignored message CSS (#20928 by @aKn1ghtOut)

    Modified the CSS to not affect the ignored sequential messages exactly like the non-ignored messages, which is what was causing the second and further ignored message o appear weirdly when unhidden one by one.

  • Correct Inline reactions behaviour (#20743 by @aKn1ghtOut)

    The $().data function was returning outdated values for re-assigned emoji buttons with new data. Changed that to use the .attr() function. This works perfectly.

  • Correct Typo - donwload to download (#21096 by @aditya-mitra)

    Correct the spelling of donwload to download in TitleLink of Attachments.

  • Custom emojis to override default (#20359 by @aKn1ghtOut)

    Due to the sequence of the imports and how the emojiRenderer prioritizes lists, the custom emojis could not override the emojione emojis. Making two small changes fixed the issue.

    With the custom emoji for :facepalm: added, you can check out the result below:

    Before

    Screenshot from 2021-01-25 02-20-04

    After

    Screenshot from 2021-01-25 02-18-58

  • Empty URL in user avatar doesn't show error and enables save (#20440 by @im-adithya)

    Added toast and disabled save.

  • Ensure E2E is enabled/disabled on sending message (#21084)

    Rooms which were encrypted somewhere in the past still could encrypt messages due to a race condition due to a query over Subscriptions collection.

  • Fix the search list showing the last channel (#21160 by @shrinish123)

    The search list now also properly shows the last channel
    Before :

    searchlist

    After :
    search_final

  • Follow thread action on threads list (#20881)

    Rocket.Chat.-.Google.Chrome.2021-02-23.20-53-41.mp4
  • Iframe flags for audio and video on the BigBlueButton integration (#20879 by @fcecagno)

  • Inactivity Time field displaying wrong information (#21363)

  • Incorrect time format of the Queue Time field on the room information page (#21394)

  • Make custom emoji file required (#19583 by @m-shreyansh)

  • Missing app permissions translation (#21066)

    Add missing translations for some app permissions

  • Missing Keywords in Permissions (#20354 by @im-adithya)

    The keywords were added to the i18n folder. (Default only)

  • Multi Select isn't working in Export Messages (#21236 by @PriyaBihani)

    While exporting messages, we were not able to select multiple Users like this:

    WhatsApp.Video.2021-03-22.at.12.25.34.mp4

    Now we can select multiple users:

    WhatsApp.Video.2021-03-22.at.12.21.55.mp4
  • New Channel popover not closing (#21080)

    fix.mp4
  • OEmbedURLWidget - Show Full Embedded Text Description (#20569 by @aditya-mitra)

    Embeds were cutoff when either urls had a long description.
    This was handled by removing overflow:hidden;text-overflow:ellipsis; from the inline styles in oembedUrlWidget.html.

    Earlier

    earlier

    Now

    now

  • Reactions list showing users in reactions option of message action. (#20753 by @Darshilp326)

    Reactions list shows emojis with respected users who have reacted with that emoji.

    reactions-list-pr.mp4
  • Removing truncation from profile (#20352 by @aKn1ghtOut)

    Truncating text in profile view was making some information completely inaccessible. Removed it from the user status and the custom fields where if the information is longer, the user would actually want to see all of it.

    Before

    Screenshot from 2021-01-24 20-54-44

    After

    Screenshot from 2021-01-24 20-54-06

  • Replace wrong field description on Room Information panel (#21395)

  • Reply count of message is decreased after a message from thread is deleted (#19977 by @yash-rajpal)

    The reply count now is decreased if a message from a thread is deleted.

  • Set establishing to false if OTR timeouts (#21183 by @Darshilp326)

    Set establishing false if OTR timeouts.

    OTR-pr.mp4
  • Sidebar scroll missing full height (#21071)

    image

  • undefined in PruneMessages deleting DM (#20873 by @vova-zush)

    Fix undefined in Prune Messages in direct

  • Unexpected open or close visitor info (#21094)

    The VisitorInfo component closes or open every time a new message was sent, this PR fix that.

  • Use the correct icons for DMs (#21125)

  • Visitors.info endpoint being called multiple times (#21350)

  • Wrong license seats number administration info panel (#21222)

    The administration info panel was showing the total of users as the number counted for the usage of the license seats. Now it's showing the correct number that is active users. This was not affecting the license validation on the server-side, only causing confusion for the administrators to check how the usage was being counted.

🔍 Minor changes
  • [Fix] Broken useEffect opened new BBB Tab twice (#20770 by @Cosnavel)

  • Bump Livechat Widget (#21264)

    Update Livechat version to 1.9.0

  • Change the order of Sort Setup Wizard options (#21073)

    Sort options in select fields of settings during Setup Wizard according to browser's locale.

  • Chore: Add tests for Meteor methods (#20901)

    Add end-to-end tests for the following meteor methods

    • public-settings:get

    • rooms:get

    • subscriptions:get

    • permissions:get

    • loadMissedMessages

    • loadHistory

    • listCustomUserStatus

    • getUserRoles

    • getRoomRoles (called by the API, already covered)

    • getMessages

    • getUsersOfRoom

    • loadNextMessages

    • getThreadMessages

  • Chore: Meteor update 2.1 (#21061)

  • Chore: Remove new Buffer in favor of Buffer.from (#20918)

    • Changes new Buffer to Buffer.from since the first one is deprecated.
  • EE Team Mentions (#21418)

  • Improve: Increase testing coverage (#21015)

    Add test for

    • settings/raw

    • minimongo/comparisons

  • Improve: NPS survey fetch (#21263)

  • Regression: New chat forwarding modal is not verifying mandatory values (#21288)

  • Regression: Add BreadCrumbs tag into auto-join items (#21294)

  • Regression: Add call to eraseRoom method (#21392)

    • Replace removeById by eraseRoom method's call (which not only deletes the room, but also erases its subscriptions and triggers some apps-engine events).
  • Regression: Add isLastOwner property on teams.listRoomsOfUser endpoint (#21323)

  • Regression: Add number of team members to teams.list and teams.listAll (#21361)

  • Regression: Add scope to permission checks in Team's endpoints (#21369)

    • Include scope (team's main room ID) in the permission checks;
    • Remove the teamName parameter from the members, addMembers, updateMember and removeMembers methods (since teamId will always be defined).
  • Regression: Add support to filter on teams.listRooms endpoint (#21327)

    • Add support for queries (within the query parameter);

    • Add support to pagination (offset and count) when an user doesn't have the permission to get all rooms.

  • Regression: Add teams support to directory (#21351)

    • Change directory.js to reduce function complexity

    • Add teams type of item. Directory will return all public teams & private teams the user is part of.

  • Regression: add view room action on Teams Channels (#21295)

    image

  • Regression: Change name-error description (#21385)

  • Regression: Channel owner can't convert it into a team. (#21349)

  • Regression: Contact Chat History component not visible (#21316)

  • Regression: Delete team member from related team's rooms (#21401)

  • regression: Directory - teams tab search (#21419)

  • Regression: directory not showing public channels of public teams (#21400)

  • regression: Discussion room crashing if not member of parent channel (#21310)

  • Regression: Error clicking on non joined channels on team channel list (#21422)

  • Regression: Fix channels not being added to team on creation (#21370)

  • Regression: Fix Members List Icon (#21433)

  • Regression: Fix non encrypted rooms failing sending messages (#21287)

  • Regression: Fix reactivity on teamsMembers and roomMembers (#21366)

  • Regression: Fix TeamsChannels reactivity (#21384)

  • Regression: General improvement to Teams (#21402)

  • Regression: header title tag style (#21415)

    image

  • Regression: Headers icon breaking DMs (#21412)

  • Regression: invalid teams permission check. (#21374)

  • Regression: Modify canAccessRoom to adapt to teams specification (#21372)

  • Regression: New endpoint to list rooms available to be added to any team (#21373)

  • Regression: Omnichannel agents can't access new action buttons (#21306)

  • Regression: Permissions missing on new Room Edit and Contact Edit form (#21315)

  • Regression: Quick action button missing for Omnichannel On-Hold queue (#21285)

    • Move the Manual On Hold button to the new Omnichannel Header
      image
      image

    • Minor fixes

  • regression: Remove Breadcrumbs and update Tag component (#21399)

  • Regression: Remove channel action on add channel's modal don't work (#21356)

    removechannel-on-add-existing-modal

    image

  • Regression: Remove primary color from button in TeamChannels component (#21293)

  • regression: remove user modal not showing up (#21348)

  • Regression: Removing user from team doesn't remove them from the team's room. (#21291)

    • Remove subscription when calling teams.removeMembers
  • Regression: Room Edit form not rendering priority and custom fields (#21309)

  • Regression: rooms breaking after deleting a room from a team (#21421)

  • regression: Sidebar reactivity (#21296)

  • Regression: Team icons in mention (#21367)

    image

  • regression: Team info permissions (#21387)

  • Regression: Teams should not have same name as users (#21371)

  • regression: Unable to add users while creating a team (#21354)

  • Regression: Unify Contact information displayed on the Room header and Room Info (#21312)

    image

    image

    image

  • Regression: Unify team actions to add a room to a team (#21386)

  • Regression: unused names for team roles (#21376)

  • Regression: Update .invite endpoints to support multiple users at once (#21328)

    • channels.invite now supports passing an array as a param (either with usernames or userIds) via usernames or userIds properties.

    • You can still use the endpoint to invite only one user via the old params userId, username or user.

    • Same changes apply to groups.invite

  • Regression: user actions in admin (#21307)

  • Regression: View Channels button in Team info (#21289)

  • Regression: When only 'teams' type is provided, show only rooms with teamMain on rooms.adminRooms endpoint (#21322)

  • Update Apps-Engine version (#21398)

👩‍💻👨‍💻 Contributors 😍

👩‍💻👨‍💻 Core Team 🤓

Don't miss a new Rocket.Chat release

NewReleases is sending notifications on new releases.