3.18.0-rc.0


2021-08-23 · 3 · 7 · 27 · 14 · 26 ‍‍

New features

  • ENTERPRISE: Maximum waiting time for chats in Omnichannel queue (#22955)

    • Add new settings to support closing chats that have been too long on waiting queue

    • Moved old settings to new "Queue Management" section

    • Fix issue when closing a livechat room that caused client to not to know if room was open or not

  • REST endpoint to delete a DM and allow DM for two other users (#18022 by @abrom)

    [NEW] Improve DM create/delete API management

  • Separate RegEx Settings for Channels and Usernames validation (#21937 by @aditya-mitra)

    Now, there are 2 separate settings for validating names - One for channels and another for usernames.

    This change also removes the old UTF8_Names_Validation setting and adds 2 new settings UTF8_User_Names_Validation and UTF8_Channel_Names_Validation.

    https://user-images.githubusercontent.com/55396651/116969904-af5bb800-acd4-11eb-9fc4-dacac60cb08f.mp4

Improvements

  • Add default permission 'start-discussion' and 'start-discussion-other-user' to app user (#22577)

  • Create thumbnails from uploaded images (#20907)

  • Exclude archived rooms from unread-message count (#22515 by @nmagedman)

  • Increase the verbosity of Omnichannel routing system debugging outputs (#22977)

  • Rewrite File Upload Modal (#22750)

    Image preview:
    image

    Video preview:
    image

    Files larger than 10mb:
    image

  • Types from currentChatsPage.tsx (#22967)

  • Use tag autocomplete in more places (#22902)

    Use the proper autocomplete component for omnichannel tags, this adds proper sorting of results and better consistency.

Bug fixes

  • "Click to Join" button is not working if there are no muted users in the room (#22871)

    • Add check to room.muted array so as to cover the case in which it is undefined;
  • "Read Only" field description is incorrect when the option is checked (#21868 by @epif4nio)

  • "Users By Time of the Day" chart displays incorrect data for Local Timezone (#22836)

    • Add local timezone conversion to the "Users By Time of the Day" chart in the Engagement Dashboard;
    • Simplify date creations by using endOf and startOf methods.
  • applyChatRestictions callback not working for community version (#22839 by @Shailesh351)

    Building on top of #22838

  • Apps-Engine's scheduler failing to update run tasks (#22882)

    Agenda, the library that manages scheduling, depended on setting a job property named nextRunAt as undefined to signal whether it should be run on schedule or not. Rocket.Chat's current Mongo driver ignores undefined values when updating documents and this was causing jobs to never stop running as Agenda couldn't clear that property (set them as undefined).
    This updates Rocket.Chat's dependency on Agenda.js to point to a fork that fixes the problem.

  • Atlassian Crowd connection not working (#22996 by @piotrkochan)

  • Audio recording doesn't stop in direct messages on channel switch (#22880)

    • Cancel audio recordings on message bar destroy event.
      test-22372
  • Bad words falling if message is empty (#22930)

  • Broken download link on uploaded files (#22848)

    Uploaded files had wrong download links when the deploy had a sub directory. This misbehavior was caused by the wrong usage of the rtrim method, the 2nd parameter is a list of chars, not a string (this method was inspired by php)

  • Can't access other administration menus after opening Engagement Dashboard (#22870)

  • Close omnichannel conversations when agent is deactivated (#22917)

  • Error getting default agent when routing system algorithm is Auto Selection (#22976)

  • Go command duplicating subfolder path on iframes. (#22796)

  • Manually approve new users is not applied to SAML users (#22823)

  • Message update not working in some cases (#22856)

  • Production-environment dependencies (#22868)

    @rocket.chat/icons was incorrectly referred as development dependency.

  • QuickActions for mobile screen (#23016)

  • Registration not possible with TOTP and email verification (#22778)

  • Return transcript/dashboards based on timezone settings (#22850)

    • Added new setting to manage timezones

    • Applied new setting to omnichannel dashboards (realtime, analytics) [NOTE: Other dashboards aren't using this setting actually)

    • Change getAnalyticsBetweenDate query to filter out system messages instead of substracting them

  • Tab margin style (#22851)

    before

    image

    after

    image

  • Threads and discussions searches don't display proper results (#22914)

    • Fix issue in discussions search (which wasn't working after a search with no results was made);
    • Improve discussions and threads searches: both searches (chat.getDiscussions and chat.getThreadsList) are now case insensitive (do NOT differ capital from lower letters) and match incomplete words or terms.
  • Threads List being requested more than expected (#22879)

  • TypeError on Callout type prop (#22790 by @hrahul2605)

  • Use correct param on saveBusinessHour method (#22835)

  • User is still asked for 2FA confirmation even if it is deactivated (#22801)

  • User presence being processes even if presence monitor was disabled (#22927)

  • users registered via third party apps bypass custom required fields (#22396)

    moves the custom fields from the initial registration form to the "pick a username" screen so that everyone is forced to fill the custom required fields

Minor changes
  • Chore: Enable husky pre-push hook (back again) (#22994)

  • Chore: Fix RHEL container build issue due to gpg keyserver deprecation (#22672 by @jsm84)

    Changed gpg keyserver in RHEL Dockerfile to openpgp.org due to deprecation of the SKS keyserver network.

  • Chore: Fix typo in rtl.css (#22431 by @eltociear)

  • Chore: Prevent new JS files being added (#22972)

    We are moving our code base to TS, one way to help developers remember this is create a task that will notify you every time a new file is created.

  • Chore: Script to start Rocket.Chat in HA mode during development (#22398)

    Sometimes we need to start Rocket.Chat in High-Availability mode (cluster) during development to test how a feature behaves or hunt down a bug. Currently, this involves a lot of commands with details that might be lost if you haven't done it in a while.

    This PR intends to provide a really simple way for us to start many instances of Rocket.Chat connected in a cluster.

  • Chore: Update Livechat widget to 1.9.4 (#22990)

  • i18n: Language update from LingoHub on 2021-08-09Z (#22888)

  • i18n: Language update from LingoHub on 2021-08-16Z (#22937)

  • i18n: Language update from LingoHub on 2021-08-23Z (#23007)

  • Merge master into develop & Set version to 3.18.0-develop (#22834)

  • Regression: File upload name suggestion (#22953)

    Before:
    image
    image

    After:
    image
    image

  • Regression: Fix creation of self-DMs (#23015)

  • Regression: no-js-action bump version (#22997)

  • Regression: readNow blocked by a invalid condition (#22952)

‍‍ Contributors

‍‍ Core Team