2021-03-23 · 7 🎉 · 12 🚀 · 32 🐛 · 8 🔍 · 36 👩💻👨💻
🎉 New features
-
APPS: Map description as a room value in Apps (#20811)
Add the
description
value of aroom
as a mapped value in the Apps-Engine. That way developers can get thedescription
information from aroom
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 theIPreRoomUserLeave
andIPostRoomUserLeave
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.
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 👇
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 theMax 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
-
Automatically place Abandoned chats On-hold
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.
The via this 🔝 setting you can choose to automatically place this abandoned chat On Hold -
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
Now an agent will be able to see a newOn Hold
button within theirVisitor Info Panel
like this 👇 , provided the agent has sent the last message
How can you resume a On Hold chat ?
An On Hold chat can be resumed via 2 means
-
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. -
Manually by agent
An Agent can manually resume the On Hold chat via clicking theResume
button in the bottom of a chat room.
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)
-
Teams (#20966)
🚀 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)
-
Better new channel popover (#21018)
-
Close Call contextual bar after starting jitsi call. (#21004 by @yash-rajpal)
After jitsi call is started, if the call is started in a new window then we should close contextual tab bar.
So, when 'YES' is pressed on modal, we call handleClose function if openNewWindow is true, as call doesn't starts on tab bar, it starts on new window. -
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.
-
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
With This Change
🐛 Bug fixes
-
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:
A more detailed warn message can fix that impression for the user:
-
Add missing
unreads
field tousers.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)
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
After
-
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 : -
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)
-
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)
-
Missing spaces on attachment (#21020)
-
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 removingoverflow:hidden;text-overflow:ellipsis;
from the inline styles inoembedUrlWidget.html
.Earlier
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
After
-
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)
-
Stopping Jitsi reload (#20973 by @yash-rajpal)
The Function where Jitsi call is started gets called many times due to
room.usernames
dep of useMemo, this dep triggers reloading of this function many times.
So removing this dep from useMemo dependencies -
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)
-
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 ofBuffer.from
(#20918)- Changes
new Buffer
toBuffer.from
since the first one is deprecated.
- Changes
-
Improve: Increase testing coverage (#21015)
Add test for
-
settings/raw
-
minimongo/comparisons
-
-
Improve: NPS survey fetch (#21263)
👩💻👨💻 Contributors 😍
- @Cosnavel
- @Darshilp326
- @PriyaBihani
- @RonLek
- @Tirieru
- @aKn1ghtOut
- @aditya-mitra
- @cyberShaw
- @fcecagno
- @im-adithya
- @m-shreyansh
- @meomay503
- @reda-alaoui
- @shrinish123
- @sumukhah
- @vova-zush
- @yash-rajpal