github RocketChat/Rocket.Chat 3.16.0

latest releases: 6.10.7, 7.0.0, 7.0.0-rc.6...
3 years ago

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 initial role 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 the user role.

    The setting can be found in Admin->Accounts->Registration.

    image
    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 and addStyle 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:
    Screen Shot 2021-05-20 at 7 33 19 PM

  • Fallback messages on contextual bar (#22376)

    image

  • Missing tests to fname and prid in the rooms.createDiscussion endpoint (#22223)

    • Add tests to the values of fname and prid in the rooms.createDiscussion endpoint's results.
  • 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

    image

    after

    image

  • Rewrite create direct modal (#22209)

    image

  • 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.

    image

  • 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

    image

    After

    Rocket Chat (2)

  • 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
    image

    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 and roles.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 and im.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

    image

    after

    image

  • 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)

    Peek 2021-06-14 18-19

  • 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

    image

    After

    image

  • 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

    image

    after

    image

  • Missing burger menu on direct messages (#22211)

    before

    image

    after

    image

  • Missing Throbber while thread list is loading (#22316)

    before

    List was starting with no results even if there's results:

    image

    after

    image

  • Not possible to edit some messages inside threads (#22325)

    Before

    before

    After

    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

    before

    after

    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)

    Screen Shot 2021-05-26 at 5 29 17 PM

    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)

    unread_messages

  • 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)

    image

🔍 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)

    image
    image

  • 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)

    Now the modal has only 2 steps (steps 1 and 2 were merged)
    image

  • 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

    image

    after

    image

  • Regression: RoomProvider using wrong types (#22370)

  • Release 3.15.2 (#22483)

  • Update README.md (#22461)

👩‍💻👨‍💻 Contributors 😍

👩‍💻👨‍💻 Core Team 🤓

Don't miss a new Rocket.Chat release

NewReleases is sending notifications on new releases.