6.0.0


2023-03-09 · 20 ️️️⚠️ · 12 · 13 · 60 · 238 · 56 ‍‍

Engine versions

  • Node: 14.21.2
  • NPM: 6.14.17
  • MongoDB: 4.4, 5.0, 6.0

⚠️ BREAKING CHANGES

  • ENTERPRISE: Limit presence statuses to 200 concurrent users when running monolith to keep performance (#27854)

  • FIX: VideoConference Ringer working intermittently on microservices (#27703)

  • IMPROVE: SMTP warning for invitations (#27713)

    • TC-347 - SMTP warning for invitations flow

    • Create rest endpoint for sendInvitationEmail

    • Use endpoint in-place of removed Meteor method

  • NEW: Custom roles upsell modal (#27707)

    image

    Also changed the edit role button:
    image

  • Drop support for MongoDB 4.2 and deprecate MongoDB 4.4 (#27891)

    As per MongoDB Lifecycle Schedules (mongodb.com/support-policy/lifecycles) we're removing official support to MongoDB version 4.2 that is close to reach end of life (April 2023).

    We recommend upgrading to MongoDB 5.0+, though 4.4 is still a supported version.

    Here are official docs on how to upgrade to some of the supported versions:

    mongodb.com/docs/v4.4/release-notes/4.4-upgrade-replica-set
    mongodb.com/docs/manual/release-notes/5.0-upgrade-replica-set
    mongodb.com/docs/manual/release-notes/6.0-upgrade-replica-set

  • Freeze Custom Roles (#27481)

    This PR moves role creation and update to enterprise folder

    --

    • Removed method authorization:saveRole

    • Moved /v1/roles.create/ and /v1/roles.update to enterprise edition

    • Changed message for delete a custom role in community edition

  • Limit underscore usage and remove underscore.string (even from integration script sandboxes) (#28037)

    Underscore.js is quite outdated and we're not using it in a way that take advantage of modularization, bloating the client bundle. This PR aims to limit its usage across the application.

    break: if you are used to have scripts, and they are using underscore, please pay attention probably you need to update them

  • Marketplace standalone page and app request flow (#27389)

    Remove marketplace from the admin menu (on both the file system and the UI), change it into a standalone page, expose its use to end-users, and create an app request flow that allows end-users to ask for app installations in their workspaces directly through Rocket Chats UI.

    Demo loom: https://www.loom.com/share/643ba3432225418e96c10041f386ff48

    Jira tasks and ADRs

    All tasks, descriptions, and designs of work done in this PR can be found on the tasks below, which also double down as simplified ADRs.

    MKP-147 - Remove marketplace from the admin menu and put it on its own page

    MKP-68 - Create an enterprise option on the new marketplace sidebar

    MKP-150 - Implement the SideNav of the new marketplace page

    MKP-151 - Brainstorm and implement the new marketplace routes

    MKP-179 - Retrieve number of requested apps and make it available for components

    MKP-181 - Implement requested option on marketplace sidebar

    MKP-184 - Create requested apps page

    MKP-185 - Implement requested apps list layout and logic

    MKP-180 - Implement requested apps option to home screen kebab menu

    MKP-188 - Implement the requested apps tab on app details page

    MKP-187 - Implement visualized requests system on apps list tags and app requests tab

    MKP-164 - ALL view the app's technical documentation page

    MKP-197 - Rocket.cat notification for admins when an app is requested

    MKP-224 - After i click submit request in the modal the modal is not closing

  • Move Multiple Department Creation to EE & [NEW] Department Archive (#27753)

    [BREAK] Move Multiple Department Creation to EE: Limit max department creation to 1 in Community edition, existing departments will still function as before.

    [NEW] Department archival: Adds the ability to archive departments, archived departments are disabled and cannot be edited, but will still show in historical data (current chats, directory, chat info, etc...). This offers an alternative to department deletion.

  • Move read-receipts to EE and threads check marks improvements (#27074)

    • Improvement: add read receipts for messages in threads only when the thread is open;

    • Move read-receipts feature to EE (under the message-read-receipt module). The chat.getMessageReadReceipts endpoint and getReadReceipts Meteor method are now EE only.

  • Remove Chatpal (#28012)

  • Remove legacy FB Messenger integration (#27760)

    Legacy FB messenger integration has been removed in favour of the new and enhanced FB App integration. Click here for more info

  • Remove less theming (#27647)

  • Remove message view mode from User Preferences (#27867)

    Since the view mode setting in User preferences -> Messages -> View Mode does not work with the new messages template it will be removed

    It was removed from every file and it was created a migration to remove from user obj in DB

  • Remove support to deprecated typing event (#28234)

  • Removed deprecated settings for Legacy Messages, Marked, Snippet Messages, Autolinker and IssueLinks (#27902)

    Removed Settings:

    • Markdown_Parser

    • Markdown_Headers

    • Markdown_SupportSchemesForLink

    • Markdown_Marked_GFM

    • Markdown_Marked_Tables

    • Markdown_Marked_Breaks

    • Markdown_Marked_Pedantic

    • Markdown_Marked_SmartLists

    • Markdown_Marked_Smartypants

    • Message_AllowSnippeting

    • Message_Attachments_GroupAttach

    • Message_ShowEditedStatus

    • Message_ShowFormattingTips

    • Accounts_Default_User_Preferences_useLegacyMessageTemplate

    • AutoLinker

    • AutoLinker_StripPrefix

    • AutoLinker_Urls_Scheme

    • AutoLinker_Urls_www

    • AutoLinker_Urls_TLD

    • AutoLinker_UrlsRegExp

    • AutoLinker_Email

    • AutoLinker_Phone

    • IssueLinks_Enabled

    • IssueLinks_Template

    • API_EmbedDisabledFor

  • Unify monolith and microservices intercommunication on same technology and limit to Enterprise only (#27969)

    This change removes the old DDP Matrix communication by Moleculer based breaker over TCP, simplifying code maintenance, allowing better reliability, performance and monitoring.

    It requires a license to enable communication among servers as the rest of the Moleculer implementation.

    Community Edition will loose ephemeral events as Typing indication and others when running multiple instances.

  • Update livechat:saveDepartment to accept a string array in departmentsAllowedToForward (#28261)

    Breaking change: There have been some changes to livechat:saveDepartment meteor method's departmentsAllowedToForward parameter. Previously it used to accept a string which was a comma-separated list of departmentIds. The new type is an array of strings.

    Due to recent changes to the useDepartmentList hook the component AutoCompleteDepartment became incompatible with many of our existing pages, causing them to break. This PR makes them work again.

  • Update Meteor to 2.9.1 and NodeJS to 14.21.2 (#27639)

  • Upgrade to version 6.0 can be done only from version 5.x (#28098)

New features

  • EE: Omnichannel Priorities & SLAs (#27083)

  • EE: PDF Chat transcript for Omnichannel conversations (#27572)

  • Attachment Files Redesign (#27470)

    • Replace File attachments to use MessageGenericPreview

    • Move File attachments to the /MessageList folder

    • Refactor Video, Image, and Audio Attachments to use MessageGenericPreview

    • New component MessageCollapsible

    • Refactored the OEmbedCollpsible component to use MessageCollapsible

    • Refactored the AttachmentSize component to include different style

    • Added descriptionMd property to the MessageAttachment object to use the new parser in descriptions

    • Added size and format to attachment object at sendFileMessage.ts

    • Changed maxWidth and maxHeight of AttachmentContext to be the same as the OEmbed sizes

    OLD:
    image

    NEW:
    image

  • Bridge to get all users crated by app and also delete them (#27877)

    We're working on MS Teams bridge, to make it usable we have created a new method for the apps engine to create new users and we'll also need to delete all when we uninstall the app. Therefore, we created this bridge to cover the action of deleting users on the app side.

  • Emojis rendering properly on quote message previews (#27972)

    image

  • Homepage new block (#27540)

    • Create a new admin homepage block that includes:
      • Button to go to /admin/Layout setting
      • Button to show and hide the custom content to the user (a badge on top indicates if the custom content is hidden or not)
      • Button to show and hide the other blocks (add users, create channel) on the homepage (EE only button)

    New homepage block admin view:
    Screen Shot 2023-02-10 at 14 28 40

    Normal user view:
    Screen Shot 2023-02-10 at 17 12 39

    • Changes on the /admin/Layout settings:
      • text and homepage settings small changes
      • add Layout_Home_Custom_Block_Visible setting to show or hide custom content

    Admin Homepage Content settings page:

    Screen Shot 2023-02-10 at 15 29 18
  • Matrix federation events coverage expansion + bug fixes (#27763)

    • Disables not supported features in federated channels (#27204)

    • Add support for the whole Matrix Markdown spec (#27725)

    • Allow federated rooms with the same name per different servers when they have a contact between them (#27559)

    • Matrix Federation send message when multiple users are involved was not working (#27327)

    • Allow the room owner to set roles on federated rooms, following a specific and different approach as normal rooms (available on docs) (#27633)

    • E2E Tests (PS: they don't run on CI) (#27578 #27282 #27115)

    • Disables admin actions disallowed for federated users/rooms (#27251)

    FED-81

  • New Message Composer (#27566)

  • Permission to bypass message editing and removing limits (#27644)

    This PR adds a new permission called bypass-time-limit-edit-and-delete, to bypass the time limit when editing or deleting a message, the purpose of this PR is to remove the limitation for bots that cannot change the message after the specified time.

  • Rocket.cat message for users when an app previously requested is installed (#27672)

  • Upload service (#27543)

  • Warning Popup reinforcing Zapier deprecation on Integrations Admin settings (#27744)

    Warning being displayed on Zapier settings, above Zapier itself:

    warning

Improvements

  • Audit (#27994)

  • Authorize search of custom fields on users.list (#27423)

    This PR allows users to filter and search for custom fields on the users.list endpoint

  • Emoji picker for large amount of custom emojis (#27745)

  • Increase read receipt size (#27665)

    increase from 11px to 1rem (16px)
    image

  • Livechat Persian translation (#27825 by @pouyadarabi)

  • Play selected notification sounds as preview while changing sound settings (#24205 by @try-catch-stack)

  • Registration Experience (#27820)

    If you didn't register when you initially setup your server. Its now easier to register.

    Disconnecting and reconnecting your workspace from the cloud is now also easier

  • Require acceptance when setting new E2E Encryption key for another user (#27556)

    Change the end to end encryption flow to require an acceptance from the user when receiving a new key.

    1. Changes API e2e.updateGroupKey to set the new key to an auxiliary property named E2ESuggestedKey

    2. Adds new API e2e.acceptSuggestedGroupKey to be called to accept the suggested key and save it to the final property E2EKey

    3. Adds new API e2e.rejectSuggestedGroupKey to be called to reject the suggested key and clear the E2ESuggestedKey

  • SAML and OAuth role sync to support id and name (#27405)

    This PR allows the sync of roles by either name or id.

  • Save toPhone when receiving SMSs (#27656)

  • Setup Wizard Flow for airgapped environment (#28018)

    image
    image

  • Spanish home translation (#27898 by @nYCSTs)

    Update translation of home page to Spanish. The page had some untranslated texts.
    image

  • User data download overhaul (#26358)

    It migrates modules to TypeScript, as well adapts the code to the current version of Node.

Bug fixes

  • "Jump to first unread" banner does not always appear when the first unread message is outside of the visible screen (#27941)

  • ENTERPRISE: DDP streamer sending data to destroyed streams (#27929)

  • *.files endpoints returning hidden files (#27617)

  • Access to localStorage in Livechat (#27627 by @jschirrmacher)

    This fixes access to localStorage in LiveChat, if the user has third party coockies disabled.

  • Add the possibility of danger style prop to close button on UiKit contextual-bar component (#27533)

    image
  • Announcement banner link opening in the same page (#27554)

    Channel Announcements that contain links are opening on the same page instead of a new page/tab causing render issues, especially on the desktop client.

    The fix was simple to add a hook for the dompurify library to add the target and rel attributes to keep the _blank behavior.

    Also, it introduced some parsers settings to inlineWithoutBreaks variant to avoid breaking messages at Announcements and other places that uses this variant.

  • Anonymous user buttons (#27551)

    When the server accepts an anonymous user to join and chat without login, two buttons appears: one for Login and the other to send messages without login.

    The component was rewritten to use the fuselage Design System and native hooks to perform actions.

    image

  • App page showing version undefined for apps not in marketplace (#27766)

    The app page is not showing the correct version of apps that are installed in the workspace but not in the Marketplace.

    This PR changes the behavior so that the page shows the version that is installed in the workspace; otherwise, it shows the version in the marketplace

  • Auto Translate not working on new message template (#27317)

    • Fix auto translate not working on new message template;

    • Fix a bug that the auto-translate icon was showing for users who didn't have enabled.

    • Show translated quote messages;

    • Remove translation provider for end users.

    • Translate the ThreadMessagePreview component

  • Black screen when try to open a chat with a non-existent department (#27609)

  • Broken settings check for updates (#27779)

  • Comunity users accessing exclusive ee endpoints in omnichannel section (#27876)

  • Custom fields does not appear on the registration form (#28031)

  • Custom languages not being applied to i18next (#27557)

  • Disable video call on read-only rooms for not allowed users (#27789)

    Jira Issue [VC-58]

  • Discussion visibility when inside a private team. (#27601)

    Create discussions as private when the public channel is inside a private team.

  • E2EE initial banner not showing (#27574)

  • Embedded layout opening sidebar (#27892)

    In the embedded layout view, certain actions were opening the sidebar due to the missing query param mandatory to the embedded layout view (?layout=embedded)

    In addition to this issue, the user was able to navigate to different pages in the embedded layout causing them to get stuck on some other pages other than the Room page. Because of the reported issue, I removed some actions that redirect the user to other pages such as: "Reply in Direct Message"

  • Emoji rendering on reactions (#27863)

  • Empty DMs go to sidebar's top after updating user preferences (#27912)

    • Do not use _updatedAt as lm field when merging info from subscriptions and rooms (since this field is updated along with the user preferences).
  • File upload modal not opening after too long message modal (#28212)

    • Close the 'too long message to attachment' modal before opening the 'file upload' modal
  • Filtering users by status username is broken in Administration -> Users (#27706)

  • Fix emoji appearance on sidebar (#27580)

    The emojis appear in plain text format in the side-bar (As seen in the below issues)
    By this PR, it should be fixed

    This is how it looks now (As shown on the sidebar, it's appearing as an emoji not plaintext)
    image

  • Fix Login with Show default form disabled (#27475)

  • Fix typo when create discussion modal opens (#24982)

    Fixed typo when discussion modal opens. Now it says - Help keep an overview of what's going on!

    Screenshot 2022-03-29 at 6 59 45 PM

  • Google Cloud Storage storage type (#26851 by @carlosrodrigues94)

    Google Cloud Storage now requires a "project ID" to be filled.

    Useful links:

    https://googleapis.dev/nodejs/storage/latest/global.html#StorageOptions
    https://support.google.com/googleapi/answer/7014113?hl=en

  • Ignored messages reactivity (#27279)

  • Invalid regex on search fields crashes UI (#27942)

  • IPostMessageReacted return field named isReacted instead isRemoved (#27561 by @Nabhag8848)

  • Marketplace app status initially disabled (#27330)

    Jira task: MKP-20

    Currently, the only apps engine statuses considered enabled in the UI are the auto-enabled and manually-enabled statuses, this causes a UX problem in which the app will be considered disabled for the first few seconds of its lifecycle, upon the first installation in a workspace, since it will have the apps engine status of initialized. This PR adds the initialized status to the appEnabledStatuses list and solves this problem.
    Demo gif:
    disabled_status_issue_solution\

  • Message Actions menu does not close upon choosing an action (#27328)

  • Message for VideoConf on SidebarItemExtended (#27626)

    Jitsi Issue: [VC-30]

    before

    Screen Shot 2022-12-23 at 11 38 24

    after

    Screen Shot 2022-12-23 at 11 36 09

  • Message-parser link issues (#27947)

    The changes were made in the fuselage repository. This PR just update the message-parser package version
    Check the changes in this PR:
    RocketChat/fuselage#962

  • Missing placeholders from encrypted channel preview messages now with expected behavior (#27699)

    Referent to [TC-259]

    Clipboard screenshot
    Note that now the file uses isE2EEMessage() function and the useTranslation internal hook.

  • Move Omni startup to be EE wrapped (#28020)

  • New users aren't mapped to rooms with OAuth groups/channels map (#27000 by @carlosrodrigues94)

    This change deals with the problem with the new users coming from key cloak, this users were not being mapped to the correct channels on RC.

  • Not all messages in chat conversations are available when forwarding between agents or departments. (#27816)

  • Notify apps engine event through ms api (#28169)

    The Apps-Engine must drop the current Streamer utilization and start using the Service APIs to correctly communicate between instances and client-server.

  • Omnichannel call provider option (#27466)

    Jira Issue: [VC-38]

  • OmnichannelRoomIconProvider order breaking VideoConfPopup (#27740)

    Jira Issue [VC-39]

  • Option to Join Read-Only Channels (#27488 by @henit-chobisa)

  • Pagination not working on current chats (#27432)

  • Reduce re-subscription on notify-room/user-activity stream event (#27911)

    Whenever something changed the room subscription, it would trigger a re-subscription to notify-room/user-activity.

  • Register Workspace UI fixes and fix doc link (#28021)

  • Registration and Login placeholders not being used (#27558)

  • Remove invalid settings at startup (#27653)

  • Remove unnecessary permissions check on app permissions review modal (#27329)

    Jira task: MKP-166

    Removed an unnecessary check that verified if the app permissions list was an array and threw an error if it wasn't. This check has become unnecessary ever since the app permission review modal changed to show a default list of permissions in case the app happened to not have one and that's what caused those "random" undefined toasts that showed every once in a while.
    Demo gif:
    undefined_toast

  • room data is not erased after deleting rooms by app (#27886)

  • RoomLeader status not working (#27576)

    It also fixes some visual issues

    before

    image

    after

    image

  • Save button does not stay disabled in Notification Preferences for no change on mute group option (#27513 by @xareyli)

    Added default value for "Mute @ALL and @here mentions" option

  • Search list missing key parameter (#28230)

  • Showing thumbnails on files list (#23301 by @carlosrodrigues94)

  • Showing Workspace Section For User Having LiveChat Manager Permission (#27188)

  • Team mention highlight EE (#27493)

    The team Mentioned highlighted with the char @ was not working in Enterprise Edition using the new message parser.

    I added validation to the filter by type: 'team' and fixed the title to include the team name on mouse hover.

    Previous:
    image

    NOW:
    image

  • Toast notification ignoring 403 errors (#27624)

  • Tokens usage (#27541)

  • Unintended "Reply on thread" button showing on thread's first message (#27716)

    Referent to TC-128

    Before:

    image

    After:

    image

  • Unread Message count not displayed for new messages in Omni-Rooms (#27539)

  • User registration with EmailConfirmation not working (#28143)

  • Video Conf Message Blocks not always updating when running on micro services (#27764)

Minor changes
  • Bump version to 6.0.0-develop (#27598)

  • Chore: Threads as React components (#27524)

  • Chore: desktop icon instead of computer icon (#27959)

  • Chore: Add dark theme assets (#28214)

  • Chore: add e2e test coverage for Video Conference (#27075 by @lingohub[bot])

    Jira Issue: [VC-49]

  • Chore: Add E2E tests to Triggers view (#27413)

  • Chore: Add Eslint rules to tests (#28074)

  • Chore: Add extra stats for omnichannel video calling (#28211)

  • Chore: Add hint (description) to CodeSettingInput after label (#27843)

    • Added hint (description) to CodeSettingInput after label

    • Created a storybook story for that scenario

    • add a checker to not add hint to<MemoizedSetting /> if the inputType is code

    Before:
    image

    After:
    image

  • Chore: Add quote message option back on live chat rooms (#28038)

  • Chore: Add spacing adjustments Home page (#27367)

    • Spacings adjustments in homepage
  • Chore: Add surface-light background to AppRow (#27765)

    In light of the recent changes to the fuselage color system, the AppRow went from having a default background color of white to not having a color. Because of this, I've added the bg='surface-light' prop to the Wrapper box of the component.
    Before:
    image

    After:
    image

  • Chore: Added Enterprise Options to Login customization (#27855)

  • Chore: Adjust ProgressBar usage (#27832)

  • Chore: anonymous e2e test dispatch error (#28171)

  • Chore: AppsTable UI Tweaks (#27629)

    before

    Kapture 2022-12-23 at 16 00 51

    after

    Kapture 2022-12-23 at 15 59 21

  • Chore: Aria busy indicators (#27978)

  • Chore: Bump message-parser version and fix typerrors (#27643)

    Bumping message-parser version and fix gazzodown package errors.

  • Chore: Change bundle tags color and refactor app details page header styles (#27293)

    Increased the right side margin of the app avatar, removed the 'by' substring from the app author metadata, and changed the font scale and colors for the metadata section and short description.
    Demo image:
    image

  • Chore: change colors to dark theme on Marketplace (#27532)

    Fixed some bugs on the new dark theme in the Marketplace page. The new version looks like this now:

    new-version

  • Chore: Change Omnichannel aggregations to run on a secondary (#25346)

  • Chore: CI improvements (#28076)

  • Chore: Composer missing Slash Command preview (#27652)

  • Chore: Composer Quote Component (#27604)

    before

    Screen Shot 2022-12-26 at 11 01 17

    after

    image

  • Chore: Composer Styling (#27620)

  • Chore: Composer wrapper around the textarea (#27658)

  • Chore: Convert UserTable on Directory to TS (#27534 by @nYCSTs)

    Rewrote the UserTable component to TS.

  • Chore: Create service template (#27519)

  • Chore: Custom emoji empty state (#27641)

    It also replace useEndpointData in favor of useQuery

    before

    Screen Shot 2022-12-26 at 15 43 59

    after

    Screen Shot 2022-12-26 at 15 43 08

  • Chore: Custom Sounds Empty State (#27632)

    It also replace useEndpointData in favor of useQuery

    before

    Screen Shot 2022-12-23 at 17 32 35

    after

    Screen Shot 2022-12-23 at 17 31 50

  • Chore: Deprecate unused omnichannel API (#27538)

  • Chore: Do not rely on external service on tests (#27874)

  • Chore: e2e changes tests (#27987)

  • Chore: e2e omnichannel tests - Close every opened page after the test (#28152)

  • Chore: E2E tests small corrections (#28066)

  • Chore: EmojiPicker Wrapper Styles (#28049)

  • Chore: ExportMessages missing icon (#27628)

  • Chore: FileItem hover color (#27600)

  • Chore: Fix babel config related to TypeScript declare usage (#28029)

  • Chore: Fix CI Docker Alpine build missing (#28138)

  • Chore: Fix CI docker publish (#28134)

  • Chore: Fix e2e EE tests not working reliably (#28061)

  • Chore: fix e2e Omnichannel tests (#28097)

  • Chore: Fix Email Inbox flaky test (#28294)

  • Chore: fix EmailInbox intermittent e2e tests (#27573)

  • Chore: Fix fetching Apps-Engine and MongoDB versions for release notes (#28129)

  • Chore: Fix homepage grid items style (#27527)

    • Change homepage card border-radius from 4px to 8px
  • Chore: Improve ts-node startup time with swc (#27686)

  • Chore: improve global setup e2e (#28087)

  • Chore: Improve service's licence check (#27872)

  • Chore: improve some e2e selectors (#27936)

  • Chore: Improve time of meteor build (#28128)

  • Chore: Invites Empty State (#27631)

    It also replace useEndpointData in favor of useQuery

    before

    Screen Shot 2022-12-23 at 16 49 45

    after

    Screen Shot 2022-12-23 at 16 48 27

  • Chore: KeyboardShortCut color (#27599)

  • Chore: Livechat convert emoji to ts (#27425)

  • Chore: Manually define shared secrets to reusable workflows (#28315)

  • Chore: Message search changes (#28001)

  • Chore: Migrate cached collections to TypeScript (#27909)

  • Chore: More E2E tests for PDF transcript feature of Omnichannel (#28110)

  • Chore: Move all variables to first step and reduce code duplication (#28106)

  • Chore: move PaletteStyleTag (#28086)

  • Chore: Move service definitions to core services package (#27546)

  • Chore: Move service shutdown logic to each service (#27690)

  • Chore: Notify Marketplace on App Install (#27925)

    Notifies Rocket.Chat's Marketplace of an app install action. This correlates with the app request flow.

  • Chore: OAuth authorization pages reconditioned (#28085)

  • Chore: Omnichannel Sidebar icons alignment (#27501)

  • Chore: Playwright test improvements (#28100)

  • Chore: Presence cap tweaks (#28058)

  • Chore: Purge styles of the legacy message template (#28126)

  • Chore: QoL improvements to Omnichannel E2E tests (#28075)

  • Chore: Reduce Less usage in theming (#27689)

    This PR is a preparation for a coming breaking change on layout colors.

  • Chore: Refactor AudioMessageRecorder (#28019)

    [DSA-11]

    Kapture 2023-02-13 at 17 24 54

  • Chore: Refactor VideoMessageRecorder (#27850)

    Jira Issue: [DSA-2]

    before

    after

  • Chore: Refactor CI to improve code reusability and organization (#28108)

  • Chore: Refactor Composer Collapsed Formatters and Actions (#28039)

    [DSA-19]

    Kapture 2023-02-14 at 14 05 19

  • Chore: Refactor Composer Dropdown (#27931)

    Screen Shot 2023-02-01 at 17 59 31

  • Chore: Refactor Composer Popup (#28013)

  • Chore: Refactor CreateChannelModal (#27469)

    Jira Issue: [UFR-11]

    • Replace useForm

    • Improve UI validations on Modal

    • Add ToastBar message on creating a channel

    • Fixes topic field not being added properly

  • Chore: Refactor Directory Tables (#27646)

    It also replaces useEndpointData in favor of useQuery

  • Chore: Refactor e2e selectors to use roles (#27582)

  • Chore: Refactor message subcomponents (#27630)

  • Chore: Refactor other kinds of message - Phase 1 (#27712)

    It pays some technical debts on APIs consumed by message-related components.

  • Chore: Refactor other kinds of message - Phase 2 (#27927)

    Migrate "Starred Messages", "Pinned Messages", and "Mentions" from Blaze templates to React components.

  • Chore: Refactor useThemeMode in favor of userPreferences (#28063)

  • Chore: Remove body template (#28064)

  • Chore: Remove meteor build --debug option (#28170)

  • Chore: Remove duplicated functions in tests (#28336)

  • Chore: Remove fail-fast from matrix strategy (#28153)

  • Chore: Remove medium prop from ButtonGroup (#27784)

  • Chore: Remove method meteor call on message action (#26213)

  • Chore: Remove old tooltip usage (#26882)

  • Chore: Remove Sidebar from Blaze (#27571)

  • Chore: Remove unused Blaze templates after message rewrite (#28025)

  • Chore: Remove unused templates and bump fuselage (#27606)

  • Chore: Replace borders to default (#27667)

  • Chore: Replace deprecated color tokens (#28164)

  • Chore: Restrict ChatMessages API - Phase 2 (#27457)

    It split ChatMessages service class into a collection of smaller objects, in a composition pattern fashion. Additionally, it loosens its dependency on the DOM tree and assumes almost all methods are asynchronous.

  • Chore: Restrict legacy message events (#27691)

    This PR aims to fix conflicts between the legacy messages and the new ones, specially click events on threads.

  • Chore: RoomAutocomplete Debounce Query (#28083)

  • Chore: Service cap (#28022)

  • Chore: Set missing colors (#27817)

  • Chore: Settings regenerator on migration (#27661)

  • Chore: Show different labels based on the call originator on direct calls (#27729)

    Jira Issue: [VC-26]

  • Chore: Sidebar theme (#27426)

  • Chore: SlashCommands Preview (#28065)

  • Chore: Sync develop with master (#28043 by @carlosrodrigues94 & @ostjen)

  • Chore: test turbo cache action (#28082)

  • Chore: Token refactor (#27655)

  • Chore: TwoFactorPass Modals icon misalignment (#27591)

    before

    Screen Shot 2022-12-20 at 21 05 24

    after

    Screen Shot 2022-12-20 at 21 04 29
  • Chore: Update color tokens (#27704)

    Jira issues:
    DSA-25
    DSA-26
    DSA-27
    DSA-28
    DSA-30

    • Fix ScreenshotCarousel tokens

    • Replace ScreenshotCarousel Button with IconButton secondary

    • Fix UsagePieGraph tokens

    • Fix Page.tsx tokens

    • Fix VoipFooter tokens

    • Fix DeviceIcon token

    • Fix SidebarFooterWatermark token

    • Fix PaletteDark button hover bg color

    • Fix MessageComposerActionsDivider token

    • Fix room Announcement colors

    • Apply surface-room

    • Replace all deprecated Box color tokens usage

    • Replace all deprecated Box bg tokens usage

  • Chore: Update ESlint rules of client code (#27427)

  • Chore: Update Some Composer Icons (#27862)

    Jira Issue [DSA-20]

    before

    Screen Shot 2023-01-26 at 18 09 19

    after

    Screen Shot 2023-01-26 at 18 08 28

  • Chore: Update tokens (#28079)

  • Chore: Update tsconfig base target to es2020 (#27552)

    The base files are not split into two other files, a "client" and a "server" file. Both extends the new base one. Packages should extend either "client" or "server" ones:

    graph TD;
      base[tsconfig.base.json]-->client[tsconfig.base.client.json];
      base-->server[tsconfig.base.server.json];
      server-->s1["@rocket.chat/models"];
      server-->s2["@rocket.chat/ddp-streamer"];
      server-->s3[...];
      client-->c1["@rocket.chat/ui-theming"];
      client-->c2["@rocket.chat/fuselage-ui-kit"];
      client-->c3[...];

    Important changes:

    • The client config target have been bumped to es2015 (it was es5 before)

    • The server config target have been bumped to es2020

    • The default value for jsx is react-jsx

    • Raised "noUnusedLocals": true to a base config, so had to remove a bunch of imports to React that were not being used

  • Chore: Upgrade mongodb typings (#27424)

    It upgrades the mongodb package to overcome the circular reference issue of IMessage.

  • Chore: Upgrade EE license for CI (#27682)

  • Chore: use useQuery in place of deprecated useEndpointData (#27673 by @Dnouv)

    Chore done:
    useEndpointData -> useEndpoint for:

    • /apps/meteor/client/views/admin/
      • apps
      • customEmoji
      • customSounds
      • customUserStatus
      • integrations
      • invites
      • oauthApps
      • permissions
      • rooms
      • users
  • Chore: Wait message to not be Busy (#28000)

  • Chore(deps): Bump thehanimo/pr-title-checker from 1.3.4 to 1.3.6 (#27884 by @dependabot[bot])

  • i18n: Language update from LingoHub on 2022-12-05Z (#27450)

  • i18n: Language update from LingoHub on 2022-12-22Z (#27618)

  • i18n: Language update from LingoHub on 2023-01-09Z (#27705)

  • i18n: Language update from LingoHub on 2023-01-23Z (#27814)

  • i18n: Language update from LingoHub on 2023-02-14Z (#28036)

  • i18n: Update Hungarian translation (#27575 by @urbalazs)

  • Merge master into develop & Set version to 5.5.0-develop (#27452)

  • Regression: Fix mentioning rooms with special chars (#28206)

  • Regression: Fix sidebar horizontal scrolling (#28125)

  • Regression: "Enable unlimited apps" button on installation modal doesn't do anything (#28132)

  • Regression: Admin UI -> Rooms Search filter not working (#27970)

  • Regression: 0 appearing on sidebar on specific occasions (#28056)

    Fixed faulty logic

  • Regression: Add auto translate option back to live chat room (#28139)

    Add the translation option to the live chat room;
    The behavior of this feature in live chat rooms is quite different from direct and group messages. In these rooms, you need to activate and set up the language, while in the live chat room, the translate option should always appear for every room and should use the application language to translate.

  • Regression: Add button-icon-disabled-color to the palette (#27522)

  • Regression: Add support for 2FA errors to Meteor.callAsync (#27767)

  • Regression: Add tshow to composer params (#27602)

  • Regression: Added anchors elements to the allowed list to be clicked (#28341)

  • Regression: Adjusted components using PaginatedMultiSelected to be compatible with new Fuselage version (#28233)

  • Regression: Adjusted departments upsell modal message (#28258)

    This PR adjusts the logic to display the correct message on the departments upsell modal. This affects users with a trial license, expired expired licence, as well as no licence.

  • Regression: Adjusted departments upsell modal to check for licence and modules (#28246)

    This PR fixes a regression on the departments upsell modal, for the rare cases where the workspace has an enterprise licence but has no active modules. This changes improves the check to also consider modules.

  • Regression: App requests notify admin function generating wrong link (#28111)

    Fixed a development oversight in which the link of the app request Rocket.Cat message was generated without the marketplace version of the app nor the requests tab param.
    Demo gif (before):
    notify-admin-before

    Demo gif (after):
    notify-admin-after

  • Regression: Apps provider not handling apps lists correctly (#28264)

    Jira tasks: MKP-272 MKP-270

    Fixed a bug in which the AppsProvider would not handle the marketplace, installed, and private apps lists correctly when running the install, update, and delete listeners. This also solved related bugs of app duplication during installation and loss of reactivity during uninstalls and status changes(private apps only).
    Demo gif: apps-provider-behavior

  • Regression: Apps-Engine startup process was faulty (#28322)

    • App loading routine was forcing apps to be enabled, even if they were previously disabled

    • Isolated Apps startup routine for more granular control

  • Regression: Attachment auto size (#28332)

    Attachment Image or Image Preview size in small screens are not respecting container boundaries

Before:
image

NOW:
image

  • Regression: Avoid rendering unsupported media on PDFs & update quote styling (#28048)

    • Fix faulty logic when deciding which attachment to render based on the mime type of it

    • Replace media query syntax (width < 767px) with (max-width: 767px) since the first one isn't supported on safari

    • Fix a bug when has bold text in multiple rows.

  • Regression: broken message exhibition when edited (#28180)

    Sometimes a message will have the fields editedBy and editedAt present but set to null. This PR handle this situation.

  • Regression: Broken message jump onto threads (#28095)

  • Regression: Broken room and message composer events (#27754)

    It hotfixes two issues:

    1. user card not opening on clicking in user mentions;

    2. slash commands inside threads sending results to the main room.

  • Regression: Change names of requested apps sorting options (#28312)

    Jira task: MKP-253

    Changed the name of the requested app-related sorting options to cause less confusion regarding their expected behavior and solved some UX problems with the initial state of the sorting filter when on different marketplace pages. Also fixed some typos.
    Demo image:
    image

  • Regression: Change text of buttons tooltips on custom content homepage block (#28094)

    Show to workspace Button:

    • No custom content added:

    “This action will become available after the custom content has been added”

    • W/ custom content:

    "Not it's visible for everyone"
    "Not it's visible only for admins"


    Show only this content Button:

    • if CE → “Enterprise only”

    • if EE and disabled → "This action will become available after the custom content has been added and made visible to everyone”

    • if EE and enabled → “It will hide…" or “It will show…"

  • Regression: Change wording on department removal setting (#28051)

  • Regression: Client crashing when updating CachedChatSubscription (#28062)

    Currently the typing of 'ISubscription' is a little off from reality. The property ts is optional, and this can cause crashes when trying to access ts's properties.

    I decided to avoid changing the type definitions for ISubscription this time, since it will probably impact many other places, and that's not the scope of this task.

  • Regression: Client is not loading new settings from server (#28248)

  • Regression: Client-side checks for message deletion (#27590)

  • Regression: Composer fix join room action (#27657)

  • Regression: Composer Toolbox overlapping borders (#27714)

  • Regression: Creating Custom status (#28292)

    User is not able to create a custom status from the admin section. Workspace > User Status > New

    The SAVE button is not performing any action
    image

  • Regression: DateRangePicker errors (#28015)

    The date range picker for Yesterday, This Week, Previous Week, and This Month in the Message Audit page, was not selecting the correct date range and it was causing form validation issues.

    Error Evidence:
    Clipboard   - February 10, 2023 6_12 PM
    Clipboard   - February 10, 2023 6_10 PM
    Clipboard   - February 10, 2023 6_09 PM
    Clipboard   - February 10, 2023 6_08 PM

  • Regression: Decrypt thread main message for room (#28262)

  • Regression: Denied Camera permission do not disable VideoMessageAction (#28210)

    before

    Kapture 2023-02-28 at 16 12 58

    after

    Kapture 2023-02-28 at 16 09 20

  • Regression: Denied Microphone permission disables composer (#28133)

    Kapture 2023-02-23 at 13 10 38

  • Regression: Disable video message when composer is in use (#28073)

  • Regression: Disabled grandfathered apps must have the option to be enabled (#28266)

    Grandfathered apps will not follow the new enabling flow and it should always be possible to enable them

  • Regression: Emoji picker styling (#28046)

    Before

    image

    After

    image
  • Regression: EmojiPicker missing shadow on dark mode (#28236)

    before

    Screen Shot 2023-03-01 at 18 23 18

    after

    Screen Shot 2023-03-01 at 18 22 14

  • Regression: EnableUnlimitedApps button action (#28221)

    "Enable unlimited apps" button on installation modal doesn't do anything. Now it redirects to the 'go-fully-featured-registered' page.

  • Regression: fix a wrong behavior with the Department table row (#28157)

  • Regression: Fix agent departments select value (#28077)

  • Regression: fix api tests (#28067)

  • Regression: Fix app status filter not working in private apps page (#28198)

    Jira task: MKP-266

    Fixed a bug in which the app status filter didn't work because of the new 'enabled*' and 'disabled*' app status.
    Demo gif:
    private-apps-status-filter

  • Regression: fix close flextab on click outside the container (#27857)

  • Regression: Fix composer restore (#27642)

  • Regression: Fix Custom CSS (#27993)

  • Regression: Fix department edit breaking (#28053)

  • Regression: Fix emojiPicker reactivity on load-more (#28331)

  • Regression: Fix file upload on collapsed composer menu (#28071)

  • Regression: Fix go to ThreadList hook (#27663)

  • Regression: Fix hasLicense failing due call stack limit reasons (#28304)

  • Regression: Fix improper usage of useEndpointData (#28050)

  • Regression: Fix intermitent apps engine startup (#28254)

    Makes the apps limitation functionality depend on methods from the Apps Engine's service instead of a dynamic import of the apps orchestrator, making the engine's load process deterministic.

  • Regression: Fix missing Formatting items (#28044)

  • Regression: Fix not showing global search option (#28342)

  • Regression: Fix omnichannel chat forwarding not working (#28117)

  • Regression: Fix presence broadcast not re-enabling (#28017)

  • Regression: Fix private apps already in marketplace not shown properly on app details page (#28199)

    Jira task: MKP-267

    Fixed a bug in which apps that already existed in the marketplace would not show properly when installed via the private apps page.
    Demo gif:
    private-apps-same-app

  • Regression: Fix RegisterForm Translations (#28156)

  • Regression: Fix remove user from room shows skeleton (#28247)

    When the user is removed from a public channel and has it open it will show a grey placeholder screen

    Now, it appears the Join button as usual

  • Regression: Fix slash command with preview (#28127)

  • Regression: Fix slash commands (#28168)

  • Regression: fix Thread horizontal scrolling (#28327)

  • Regression: Fix toggle theme breaking UI (#28161)

  • Regression: Fix write stream error on user data export (#27683)

  • Regression: Fixed room edit custom field validation (#28078)

    This PR fixes custom fields validations not being properly triggered/cleared on the room edit page.

  • Regression: Fixed triggers edit form not being properly updated (#28235)

  • Regression: Formatted text rendered by UI Kit (#28060)

  • Regression: Gracefully stop DDP Streamer publication and close WS (#28121)

  • Regression: Hide price and category filters when inside of private apps page (#28188)

    Jira task: MKP-265

    The price and category filters dont make sense for private apps so when inside of the private apps page these filters will now be hidden.
    Demo image:
    image

  • Regression: Hide Workspace registration feature for non-admin users (#28154)

  • Regression: Image Attachment Description size (#28149)

    The Image Attachment is breaking lines to match the size of the image, should follow the same size of the normal message.

    Previous:
    image

    Current:
    image

  • Regression: Incorrect installation flow on app detail and upload app pages (#28173)

    The install button displayed in the App detail page of an app from the Marketplace that hasn't been installed in the workspace didn't follow the same installation steps performed in the app list on Explore or Enterprise pages.

    This PR isolates the installation handler so the exact same functions are used in both places.

    The same problem was solved in the Upload App page

  • Regression: Incorrect system message upon adding/editing SLA policy for a room. (#28151)

  • Regression: Installation of some apps fail (#28265)

    Installation was failing for apps that did not include a set o permissions required because the process was short circuiting in those cases. However, they are valid as they signify apps that function with the default permission set

  • Regression: Jump to message not working (#28163)

  • Regression: Message > messageActionDefault> Copy and Report (#28040)

    This regression was probably generated by the Attachments rewrite.

    Issue 1: When selecting the action Copy on the message toolbox with Attachment Messages (messages with files/images)
    The copied content was empty because was getting from an empty prop.

    Previous output:
    output2

    Current output:
    output1

    Issue 2: When selecting the action Report the reported message was showing an unformatted message (with markdown tokens)

    Previous output:
    output4

    Current output:
    output3

  • Regression: message box issues (#27495)

    It fixes some problems introduced/exposed after refactoring the ChatMessages API.

  • Regression: message-parse version update (#28245)

    Regression to fix URL parsing issues
    image

  • Regression: Missing contexts on contextual bar (#27734)

    It should fixes crashes on starred, pinned, and mentioned messages while those are migrating from Blaze to React.

  • Regression: more message box issues (#27499)

    It handles issues regarding editing messages.

  • Regression: New messages not reflected in the chat window for queued chats. (#28145)

  • Regression: OAuth Login (#28303)

    Login flow with Rocket.Chat as an OAuth provider was broken

  • Regression: OAuthApps are added with empty string _id field (#28257)

    • Fix OAuthApps added to the database with a empty string _id field.
  • Regression: Open Thread (#27640)

  • Regression: Re-add app signature migration to fix the faulty previous one (#28107)

    Previously merged migration files ended up in a faulty migration

  • Regression: Rectifying thread layout (#27680)

    This PR fixes:

    • the size and scrolling area of the list of messages;

    • the margin and general style of "Also send to channel" checkbox;

    • the size of link previews.

  • Regression: Regular users were not able to leave federated rooms (#28148)

    When regular users (not owners, nor moderators) tried to leave federated rooms, they were not allowed to do so due to a bad permission check.

    Jira: FED-88

  • Regression: Remove duplicated broadcast App events (#28310)

  • Regression: Remove unnecessary messages from Email transcript (#28165)

  • Regression: run clientMessageRecieved hooks on thread main message (#27962)

  • Regression: Save button is not enable while trying to save contact manager (#28183)

  • Regression: Scroll bars in sidebar (#28091)

  • Regression: Scrolling on threads (#28298)

  • Regression: SendFileLivechatMessage using deprecated prop affecting PDF transcript (#28225)

  • Regression: Show mention instead of the name of the user in app request messages (#28200)

    Jira task: MKP-249

    Stopped using the name of users that requested apps and now the app request messages directly mention the users.
    Demo image:
    image

  • Regression: Show messages instead of the composer when there is no action available on federated rooms (#28093)

    Rules:
    If the federation module is disabled within the workspace: do not show the composer and show a message instead;

    If the federation module is enabled, the user is not part of the room, and the workspace is a CE environment: do not show the composer and show a message instead.

    If the federation module is enabled, the is not part of the room, but the workspace is an EE environment: show the composer with the Join button

    If everything is enabled, and the user is already part of the room: show the normal composer

    Jira: [FED-82]

  • Regression: Sidebar collapsing on extra small views (#27651)

    before

    Screen Shot 2022-12-27 at 10 39 21

    after

    Screen Shot 2022-12-27 at 10 38 10
  • Regression: Slash commands detected at any line (#28142)

  • Regression: Small fixes to installation flow (#28160)

    Some UI fixes on app installation flow:

    • Some apps were being incorrectly shown as "Enabled"
      App status INITIALIZED was wrongly considered as meaning an app was "Enabled". That's not the case.

    It was introduced there to mark apps as "installed", but this is not the case anymore. #27330 wanted to solve the situation where an app was initially shown as disabled right after it was installed, and a different solution to this will be provided by changing how Apps-Engine communicates status changes to the UI.

    • Some installed apps in the "Installed" screen incorrectly not being displayed as grandfathered

    • Installation modal being shown in EE where it shouldn't

    • Installation modal showed wrong label when installing apps from Marketplace

  • Regression: Support generating pdfs from queue (#28162)

    This removes a code validation that prevented PDF files from being generated for rooms that were closed directly from the queue.

    After discussing with product, this is a behavior we want and so we're removing the code preventing it and updating the translation keys.

  • Regression: Tooltip for More options dont disappear after click. (#28201)

  • Regression: UiKit message surface styles (#28213)

  • Regression: Undefined default message context (#27870)

    It fixes some contextual bar tabs (e.g. "Mentions").

  • Regression: Update color tokens for voip footer (#28197)

  • Regression: Update Composer Formatters Translation Keys (#28228)

  • Regression: upserting data into cached collections (#27965)

    This one should get rid of "grey" (temporary) messages.

  • Regression: Video Recorder "record" button alignment (#28122)

    Before

    image image

    After

    image image
  • Regression: View mode preferences without the selected option by default (#28120)

    After removing all Meteor Blaze templates from the project, the View mode preferences started presenting the issue:

    No option is selected by default when the view mode preferences are open.

    Possible reason: React does allow you to use name attributes in the input tag, but it may cause some issues with radio buttons. One possible reason is that React uses a synthetic event system that does not rely on native HTML attributes, since we had the wrapper and several blaze templates in the project, this could be effecting this behavior ignoring the name attribute in the inputs.

    Previous:
    image

    Current:
    image

  • Regression: Visitor abandonment job not working properly (#28209)

  • Regression: Zapier Callout using wrong props (#28311)

  • Release 5.4.4 (#28333)

‍‍ Contributors

‍‍ Core Team