2021-06-27 · 5 🎉 · 13 🚀 · 44 🐛 · 25 🔍 · 23 👩💻👨💻
Engine versions
- Node:
12.22.1
- NPM:
6.14.1
- MongoDB:
3.4, 3.6, 4.0, 4.2
- Apps-Engine:
1.27.0-alpha.5237
🎉 New features
-
Add
teams.convertToChannel
endpoint (#22188)-
Add new
teams.converToChannel
endpoint; -
Update
ConvertToTeam
modal text (since this action can now be reversed); -
Remove corresponding team memberships when a team is deleted or converted to a channel;
-
-
Add setting to configure default role for user on manual registration (#20650)
Add an
admin
setting to determine the initialrole
for new users who registered manually (through the register form and via API, not using an authentication service), normally all new users are assigned to theuser
role.The setting can be found in
Admin
->Accounts
->Registration
.
The setting initial value is false, so the default behaviour stays the same while creating a new server or upgrading one.2021-02-08.13-50-44.mp4
Video showing an example of the setting being used and creating an new user with the default roles via API.
-
Content-Security-Policy for inline scripts (#20724)
Security policies were applied for inline scripts cases. Due to the libraries and components we use it is not possible to disable inline styles and images as they would break Oembeds and other libraries.
basically the inline scripts were moved to a js file
and besides that some suggars syntax like
addScript
andaddStyle
were added, this way the application already takes care of inserting the elements and providing the content automatically. -
Open modals in side effects outside React (#22247)
-
Remove "Game Center" setting (#22232)
🚀 Improvements
-
APPS: Refactor bridges (#21253)
Make the bridge classes extend abstract classes provided by the engine instead of just implementing an interface. The new abstract classes feature proxy methods used for permission verification in each method. This is also offers space to add more behaviors before executing the actual bridge methods.
-
Add BBB and Jitsi to Team (#22312)
Added 2 new settings:
-
Admin > Video Conference > Big Blue Button > Enable for teams
-
Admin > Video Conference > Jitsi > Enable in teams
-
-
Add debouncing to units selects filters (#22097)
-
Add modal to close chats when tags/comments are not required (#22245)
When neither tags or comments are required to close a livechat, show this modal instead:
-
Fallback messages on contextual bar (#22376)
-
Missing tests to
fname
andprid
in therooms.createDiscussion
endpoint (#22223)- Add tests to the values of
fname
andprid
in therooms.createDiscussion
endpoint's results.
- Add tests to the values of
-
New indexes for Omnichannel-related collections (#22367)
-
Paginated department select on forward chat (#22123)
Changes the department dropdown to use the new paginated selects, allowing for searching and displaying more than 50 departments
-
Paginated multiselect for EE tags (#22315)
This uses the paginated multiselect for the EE tags selection, allowing more than 50 tags to be shown.
-
Remove differentiation between public x private channels in sidebar (#22160)
before
after
-
Rewrite create direct modal (#22209)
-
Rewrite Create Discussion Modal (only through sidebar) (#22224)
This is only available by creating a new discussion when clicking on the sidebar button. Other places will be implemented afterwards.
-
Send only relevant data via WebSocket (#22258)
Previously when any data changed on subscriptions or rooms we were getting fresh data from database, to also remove undesired fields, but sometimes the data that changed was not relevant so we were sending the whole object everytime without the fields that actually changed. This change aims to reduce this overhead and also send less data to clients.
🐛 Bug fixes
-
_updatedAt attribute not being automatically updated by raw models (#22306)
-
EE: Canned responses can't be deleted (#22095)
Deletion button has been removed from the edition option.
Before
After
-
ENTERPRISE: Omnichannel enterprise permissions being added back to its default roles (#22322)
Fix omnichannel monitor permissions being added back to omnichannel monitor role on every startup.
-
ENTERPRISE: Prevent Visitor Abandonment after forwarding chat (#22243)
Currently the Visitor Abandonment timer isn't affected when the chat is forwarded. However this is affecting the UX in certain situations like eg: A bot forwarding a chat to an human agent
To solve this issue, we'll now be stoping the Visitor Abandonment timer once a chat is forwarded.
-
IMPROVE: Prevent creation of duplicated roles and new
roles.update
endpoint (#22279)Currently, the action of updating a role is broken: because roles have their
_id
=name
, when updating a role there's no way to validate if the user is trying to update or create a new role with a name that already exists - which causes wrong behaviors, such as roles with the same name and not being able to update them.To proper fix this, this PR looks to change the creation of roles. Now, roles have a unique
_id
value and there's a endpoint to update roles:/api/v1/roles.update
.Doing so, it's possible to validate on both endpoints (
roles.create
androles.update
) to not allow roles with duplicated names.OBS: The unique id changes only reflect new roles, the standard roles (such as admin and user) still have
_id
=name
, but new roles now can't have the same name as them. -
channels.history
,groups.history
andim.history
REST endpoints not respecting hide system message config (#22364) -
Apps not syncing status correctly on HA setups (#22415)
FIxes erros where, on HA setups, instances that DID NOT originate the action of uninstalling and updating an app would maintain the wrong status of apps when they received the notification of these events via Streamer.
-
Attachments and avatars not rendered if deployed on subfolder (#22290)
-
Auditing page not printing all messages (#22272)
Changed CSS so printed media from the auditing page includes all page content.
-
Can't delete file from Room's file list (#22191)
before
after
-
Cancel button and success toast at Leave Team modal (#22373)
-
Chore:
team.addMembers
doesn't add member to main team room (#22169)Fix
team.addMembers
endpoint as it currently doesn't work properly. The API call is adding members to a team's channels but not to the main team room. -
Convert and Move team permission (#22350)
before
2021-04-15.18-49-12.mp4
after
2021-04-15.19-01-21.mp4
-
CORS error while interacting with any action button on Livechat (#22150)
-
DeepL supported languages (#22326 by @mrsimpson)
-
Error generating Jitsi Token (#22301)
-
Game center close button (#22353)
-
Jitsi integration sending random "join now" messages (#22277)
-
LDAP and SAML: changed usernames are not reflected on old data (#22304)
-
Members tab visual issues (#22138)
Before
After
-
Memory leak generated by Stream Cast usage (#22329)
Stream Cast uses a different approach to broadcast data to the instances, it uses the DDP subscription method that requires a collection on the other side, if no collection exists with the given name
broadcast-stream
it caches in memory waiting for the collection to be set later. The cache is cleared only when a reconnection happens.This PR overrides the function that processes the data for that specific connection, preventing the cache and everything else to be processed since we already have our low-level listener to process the data.
-
Message box hiding on mobile view (Safari) (#22212)
before
after
-
Missing burger menu on direct messages (#22211)
before
after
-
Missing Throbber while thread list is loading (#22316)
before
List was starting with no results even if there's results:
after
-
Not possible to edit some messages inside threads (#22325)
Before
After
-
Notifications not using user's name (#22309)
-
OAuth login not working on electron app with temp sessions. (#22401)
-
Omnichannel information panel is not displaying departments correctly (#22155)
-
Permission check for teams.listRoomsOfUser (#22313)
If the user is trying to list his own channels, the permission check is skipped.
-
Read receipts are broken (#22203)
-
Remove invalid check before sending notifications to Omnichannel online agents (#22278)
-
Remove useless message options from Omnichannel Rooms (#21549)
-
Removed follow button from message box in threads (#21019 by @Darshilp326)
Removed follow button from message box as it was coinciding with audio/file message in threads.
-
Setup wizard infinite loop when on subfolder. (#22395)
-
Sidebar not closing when clicking on a channel (#22271)
before
after
-
Sound notification is not emitted when the Omnichannel chat comes from another department (#22291)
-
Support DISABLE_PRESENCE_MONITOR env var in new DB watchers (#22257)
-
Unable to change protected role's description (#22402)
-
Undefined error when forwarding chats to offline department (#22154)
Omnichannel agents are facing the error shown above when forwarding chats to offline departments.
The error usually takes place when the routing system algorithm is Manual Selection. -
Unread bar in channel flash quickly and then disappear (#22275)
-
User Info displaying own user. (#22219)
-
Visitor info screen being updated multiple times (#22482)
-
Web navigation breaks after visiting integrations admin page (#21983 by @rexzing)
Fix the navigation breaks issue after visiting the integrations administration page
-
Wrong member's contextualBar on direct multiple (#21452)
🔍 Minor changes
-
Chore: Attachment Definitions and UiKitDefinitions (#22354)
-
Chore: Bump node_modules cache key (#22250)
-
Chore: Change modals for remove user from team && leave team (#22141)
-
Chore: Check PR Title on every submission (#22140)
-
Chore: Enable push gateway only if the server is registered (#22346)
Currently, when creating an unregistered server, the default value of the push gateway setting is set to true and is disabled (it can't be changed unless the server is registered). This is a wrong behavior as an unregistered server can't use the push gateway.
This PR creates a validation to check if the server is registered when enabling the push gateway. That way, even if the push gateway setting is turned on, but the server is unregistered, the push gateway won't work - it will behave like it is off.
-
Chore: Enforce TypeScript on Storybook (#22317)
Rewrite some Storybook stories in TypeScript, as an example.
-
Chore: Move getUserRoles to service and add cache (#22345)
-
Chore: Remove Meter.wrapAsync from upload api (#22286)
-
Chore: Remove not used scripts and its dependencies (#22167)
-
Chore: Remove unnecessary modals replacing to GenericModal (#21853)
-
Chore: Update delete team modal to new design (#22127)
-
Language update from LingoHub 🤖 on 2021-05-31Z (#22196)
-
Language update from LingoHub 🤖 on 2021-06-14Z (#22340)
-
Merge master into develop & Set version to 3.16.0-develop (#22184)
-
Refactor few methods to improve Omnichannel flow (#22321)
-
Regression: Api tests not running (#22369)
-
Regression: Block-size property on firefox (#22433)
-
Regression: CSP for external Media and Frames (#22465)
-
Regression: Enable unregistered servers to use their own push gateway (#22391)
#22346 prevented unregistered servers from using the RC push gateway but was still blocking this servers from using their own push gateway, this PR looks to fix that.
-
Regression: Fix CORS in uikit endpoints (#22214)
-
Regression: Fix livechat find departments (#22472)
-
Regression: Missing flexDirection on select field (#22300)
before
after
-
Regression: RoomProvider using wrong types (#22370)
-
Release 3.15.2 (#22483)
-
Update README.md (#22461)