github RocketChat/Rocket.Chat 5.4.0-rc.0

latest releases: 6.13.0-rc.0, 6.7.9, 6.8.7...
pre-release22 months ago

2022-11-23 · 9 🎉 · 13 🚀 · 61 🐛 · 64 🔍 · 53 👩‍💻👨‍💻

🎉 New features

  • Add new endpoint 'livechat/agent.status' & deprecate changeLivechatStatus meteor method (#27047)

  • Bugsnag client (#23580)

  • Custom MessageType for video conference messages (#27333)

  • Emphasis Elements (italic, strike and bold) in Message Parser Components (#27003)

    Currently the message parser does not accept Emphasis elements mixed with plain text

    [Normal Link - *Bold*, _Italic_ and ~strike~ Styles](https://rocket.chat/) return plain text → Should return a Lin with bold/italic/strike

    To fix this behavior it was necessary to edit LinkSpan component in gazzodown package (changes included in this PR) and the grammar/utils files in the fuselage/message-parser repository

    Fuselage Pull Request: RocketChat/fuselage#887

  • Federation events coverage expansion (#27119)

    This PR adds the following features for the Matrix Federation feature:

    • Ability to sync Users' real names (since they have at least one room in common with other users);

    • Search for public channels given a server name;

  • Incompatible Apps (#27280)

  • REST API endpoint /v1/oauth-apps.create (#27054)

    Created the 'oauth-apps.addOAuthApp' endpoint for the apps/meteor/client/views/admin/oauthApps/OAuthAddApp.tsx file, and added Ajv validation.

  • REST API endpoint /v1/rooms.delete (#26866)

  • Video Conference Message blocks and info action (#27310)

🚀 Improvements

  • Add message name container component to message name header and system message (#27184)

    Add MessageNameContainer wrapper to display name and username inline and separate them with a blank space.

    Update font size of system message:

    Before:
    Screenshot 2022-11-08 at 13 51 58

    After:
    Screenshot 2022-11-08 at 10 56 10

    Add removed message variation to ThreadMessageOrigin component
    Before:
    Screenshot 2022-11-08 at 13 35 45

    After:
    Screenshot 2022-11-08 at 10 51 47

  • Add searchTerm support for livechat/rid/messages API (#27214)

  • Add update option to apps list kebab menu and implement new update badge on apps list (#27246)

    Added a new update option to the app menu to follow the removal of the CTA buttons from the apps list. Also implemented the new update badge that will replace the old update button.
    Demo gif:
    update_badge

  • Adding a noscript tag for letting users know if they have JS disabled (#23632 by @sidmohanty11)

  • Improve searchChats endpoint to have source filter support (#27262)

  • Login rewrite in react (#26782)

  • Marketplace feedback toasts (#27239)

    Jira tasks

    Save app changes toast: MKP-160
    Uninstall app toast: MKP-168
    Enable/disable app feedback toast: MKP-169

    Implemented/refactored four toast notifications and refactored another two in marketplace. The first one happens after the user saves the settings of an app, the second one when the user successfully uninstalls an app and the third and fourth ones happen when the user enables and disables an app respectfully.
    Demo gif:
    feedback_toasts

  • Move app list install logic to app menu (#27056)

    Jira task: MKP-136

    Moved the install/buy/subscribe logic from the CTA buttons that existed in the app list to the app menu. Now the user can install apps by clicking in the kebab menu in the right of the app list entry. Also solved a little undefined bug happening in the app permissions modal.
    Demo gif:
    app_menu

  • Quotes on E2EE Messages (#26303)

    This PR provides basic quoting to E2EE messages, it doesn't support multiple chaining of quotes messages.

    Screenshot 2022-07-19 at 9 42 19 PM
  • Read threads when marking a room as read (#26754)

    This PR changes the functionality of subscription.read to add read threads when endpoint is called

  • Removed tool tip from sidebar menu (#24605 by @Himanshu664)

  • Sorting functionality in team channel while leaving a team (#21790 by @sumukhah)

  • VideoConf Miss Config Modal (#27153)

    Jira Issue: [VC-9]

🐛 Bug fixes

  • Add condition to createUser button on UsersPage (#27189)

    Hide the create user button in admin if the user doesn't have the permission to do so. It was not the case before.

    2021-04-23.02-55-02.mp4
  • Add condition to invite user if user doesn't have permission (#27190)

    If you deactivated the permission to send links, the button was always there and led to an error message.
    Before:

    2021-04-23.02-22-04.mp4

    After:

    2021-04-23.02-34-49.mp4
  • Add pause functionality to Custom Sounds (#24361)

  • Add sorting channels on teams (#21675 by @sumukhah)

  • Adding error message for wrong dates (#21677 by @shrinish123)

    Before :
    before

    After:

    after export

  • Adjust read only toggle on create channel based on permissions (#27318)

  • Adjusted form validation to disallow duplicated emails (#27037)

    This pull request revisits the user info form, fixing a bug that allowed the form to be saved with an already existing e-mail. Taking advantage of this opportunity this PR also refactors the file to typescript and adds new libs like useForm and useQuery.

  • Always parse encrypted messages on client (#27092)

  • Archived channels reappearing permanently (#20476)

  • AttachmentDescription color token (#27222)

  • Avg response time calculation (#27163)

  • Change GridFS error message validation (#26957)

    Allow uninstalling an app even if source files cannot be found. This validation was already done in the past, but since the error message was changed, the validation was broken.

  • Delete first message when initializing thread returns black screen (#27117)

  • Discussion list timestamp and Edit room system messages (#27180)

  • Discussions list divider on contextualBar (#27178)

  • Display Edit Team instead of Edit Room when in a team (#27230)

  • Ensure onetime job runs according to 'startupSetting' everytime (#27311)

    • Fixes the condition of not running a onetime job at the app's startup scheduled to run by using the startupSetting if the job was run previously at another app startup (Agenda does not remove already run jobs from the database, preventing the app from scheduling the job a second time as it thinks the job is already scheduled);

    • Declutters the scheduler's collection by removing onetime jobs documents after they are run.

  • Featured apps disappearing, install toast config and save changes button behavior (#27181)

    Jira tasks

    Featured apps disappearing: MKP-161
    Install toast config: MKP-162
    Save changes button behavior: MKP-163

    Fixed three bugs: In the first one featured apps would disappear from the apps list after installation, in the second one the install toast wasn't correctly configured, and in the third one the app details page save button would render even when the current app wasn't installed.
    Demo gif:

    featured_disappearing

  • File upload receiving whole file to apply limits (#27105)

  • Fixed Allow reacting toggle button in Edit room (#20324 by @Darshilp326)

    Users can now see changes for toggling allow reacting button after changes.
    Users do not need to come back for changing allow reacting button.

    Edit-Room-Pr.mp4
  • Gap between message content and message header when there's no text. (#27165)

    Before:
    image
    image

    After:
    image
    image

    Additionaly removed a component that was being rendered inside itself, causing spacing issues.

  • Hide system messages setting not being respected. (#27151)

    There was a query missing the parameters in the client.

    Also added a few tests to help reduce the risk of this happening again.

  • Improper grammar when converting channel member to owner (#27265 by @JoshMcCullough)

  • Install private apps modal behavior marketplace (#26973)

    Fixed two bugs in the private app install page:

    • The first one is a lack of pt-br translation to the agree button of the apps permission modal

    • The second one is that the review modal did not show the default permission list when the app being installed did not provide a permissions list.

    Demo gif:
    AppsPermissionModal

  • Integration history breaking when there's more than 49 records (#27290)

    Aditionally, fixed example data for incoming webhooks and converted some files to TS.

  • LDAP "Sync Roles" option doesn't work for custom roles (#26842)

    Previously the sync of custom fields on LDAP wasn't working because the check was assuming that the name of the role is the same value from _id, which is the same for initial roles, but different for custom.

  • LDAP groups to channel mapping attempts to create a new room instead of using an existing one (#27312)

    • Check rooms' name and display name in order to confirm they don't exist (and then try to create a new room).
  • MarkdownText component not respecting Markdown_SupportSchemesForLink setting (#27245)

  • Marketplace app details page back-button behavior (#27062)

    Jira task: MKP-26

    Fixed the behavior of the marketplace app details page back button. Now it will return the user to the page they accessed the app details from. Also, refactored the overall routing of the marketplace and removed the admin-apps route as everything is now handled by the admin-marketplace route.

    Demo gif:
    apps-back-button

  • Message Parser version upgrade (#27284)

  • Message search breaking URL, usertags and emojis (#20878 by @TBG-FR)

  • Missing React When Read Only setting on Admin Rooms Edit (#27183)

    When the user was editing a room in the admin, he could not set React When Read Only because the option was not there unlike a normal room edit. So i added the option.

  • Modifying userActionIndicator syntax for translations (#27004 by @TBG-FR)

  • Multi instance error message (#27243)

  • multiple user assigned for a role (#23741 by @Aman-Maheshwari)

  • Navigate to home after deleting a channel from edit screen (#21602 by @sumukhah)

  • Next schedule check for Apps (#27240)

  • Removed mobile requirement for showing real name (#26968 by @TedsCabin)

    Removed the mobile requirement for allowing real names to be used in message headers.

  • Replace regex not compatible with safari (#27294)

  • Room Avatar being deleted after upload. (#27060)

    Remove avatar before updating it. S3 already overwrites the old image, but since this part of the code is shared among many other File Storage providers, we need to make this deletion before the upload.

  • RoomForeword design (#27196)

    Before
    image

    After
    image

  • Scrollable report message (#26853 by @yasemincidem)

  • Set default value "false" for global search. (#25568 by @ivan1kazantsev)

    If we disable the "global search", then the "global search" checkbox removes from the UI. It's not what we want. I think, we should set the default to "false", because the default is to search inside the channel/dialog.

  • Show a consistent name on information screen (#21603 by @sumukhah)

  • Show Favorite icon only if user has joined room (#21976)

    Before: There was a favorite button even if the user hasn't joined the room

    After:

    favorite new

  • Shrug missing backslash character (#27233)

    Previously the escape character \ was escaping everything.

    To avoid unexpected text formatting errors it was restricted to only escape curtains chars like: * _ ~ ` # .
    Doing so the Shrug had to change in the code to display the correct ASCII Art

  • Sidebar context menu in searchList (#23830 by @Aman-Maheshwari)

    Removed onClose function from the Box Component inside searchList.js as this component wraps the complete list which is rendered and when clicked on the any rendered row inside the component it closes the searchList preventing the context menu to be displayed.
    Also added usePreventDefault hook.

    Before

    before_sidebar_contextmenu.mp4

    After

    after_sidebar_contextmenu.mp4
  • Sidebar Room list extended preview not updating on new messages. (#27259)

  • Sort RecordList items in REVERSE chronological order, not FORWARD (#27201 by @nmagedman)

    Sort items in the Files sidebar in reverse chronological order (newest at top, oldest at bottom), as it did before RC v3.11.0.

  • The parent room icon is now clickable (#21655 by @shrinish123)

    The parent room icon as shown in the video was not clickable but the cursor type on the icon was a pointer. Now even clicking on the icon or anywhere on the parent room tag will redirect you to the parent room.

    Before :

    Untitled.project.Made.with.Clipchamp.2.mp4

    After:

    Untitled.project.Made.with.Clipchamp.3.mp4
  • Thread view expand command in wide screens (#23136 by @edward-raven)

  • ThreadRow hover color (#27166)

  • UiKit modals taking 5 seconds to close (#27225)

  • Upgrading fuselage package and fix quote message prepend (#27307)

    Adding heading styles to message

    [OLD] As it was before this change:

    image

    [NEW] As it is NOW:

    image

    Fix heading style in quote messages

    Before:
    Screen Shot 2022-11-22 at 14 41 55

    After:
    Screen Shot 2022-11-22 at 14 41 47

  • Uploading Custom Sound files not working, but showing success (#27177)

  • Use name if fname is undefined (#20459 by @aKn1ghtOut)

    In the default general room(and possibly in other cases), the fname property is not set. The site should use the "name" property as a fallback in such cases.

    After fix

    Screenshot from 2021-01-28 03-47-19
    Screenshot from 2021-01-28 03-47-55

  • User approval email doesn't display username and e-mail when user logs in with OAuth (#27111)

  • User auto complete breaks on enter key press (#27213)

  • User email address does not change when provisioned by OAuth (#27148)

  • User merge by e-mail on OAuth is case-sensitive (#27167)

    • Ignore case when searching for a user by email.
  • UserCard not opening inside Threads (#27096)

🔍 Minor changes
  • Chore: Add deprecation warning to settings (#27295)

    image

    List of settings:

    • Show edited status

    • Allow Message snippeting

    • Show formating Tips

    • Disable Embeded for Users

    • Issue tracker links

    • Message attachments > Group Attachment Buttons

    • Markdown > All settings inside Group

    • Autolinker > All settings inside Group

    Edited Message for old federation.

  • Chore: Add info log to remove all rooms method (#27106)

  • Chore: Add tests for omni-jobs & add more context in system messages for jobs (#27048)

  • Chore: Added tooltip to options of message-actions (#24043 by @aswinidev)

    message_options_before.mp4
  • Chore: also send thread to channel translations (#27242)

    image
  • Chore: Apps/Marketplace code organization (#27061)

  • Chore: Beta Dark Theme switch (#27324)

    Add RadioButton on UserDropDown to toggle between light and dark theme.

  • Chore: Bump actions/upload-artifact from 2 to 3 (#27109 by @rettinghaus)

    Bump actions/upload-artifact from 2 to 3 (no changes in behavior expected)

  • Chore: change apps-engine version (#27326)

  • Chore: Check for Cloud client secret to check if workspace is registered (#27229)

  • Chore: Convert chat history react (#27302)

  • Chore: Convert client/views/directory/hooks to ts (#26936)

  • Chore: Convert client/views/directory/RoomTags to ts (#26937)

  • Chore: Convert omni libs to typescript (#27205)

  • Chore: Converting game center to typescript (#26915)

  • Chore: create AccountProfileForm endpoints (#26415)

    Created the '/v1/users.checkUsernameAvailability' and other endpoints for the apps/meteor/client/views/account/profile/AccountProfileForm.tsx file, and added Ajv validations.

  • Chore: create MailerRoute endpoints (#26742)

    Created 'email-inbox.sendMail' endpoint for the apps/meteor/client/views/admin/mailer/MailerRoute.tsx file.

  • Chore: Create new endpoint for test webhooks and deprecate meteor method (#27160)

  • Chore: Create unique index for E2EKey field (#27301)

  • Chore: CreateTeamModal Refactor (#27027)

    Jira Issue: [UFR-36]

    • Replace useForm

    • Improve UI validations on Modal

    • Add ToastBar message on creating a team

  • Chore: Cursor pointer to all the action buttons (#24440 by @sidmohanty11)

    js-message-action-css.mp4
  • Chore: deprecate refreshClients methods (#26956)

    Created the 'assets.refreshClients' endpoint for the apps/meteor/client/views/admin/settings/groups/AssetsGroupPage.tsx file.

  • Chore: Deprecation warning on 'typing' stream event. (#27299)

  • Chore: docs grammar fix (#26894 by @tusharxoxoxo)

  • Chore: Enable PR Title Checker for forks (#27144)

  • Chore: Fix grammatical typos in release.md (#21297 by @sumukhah)

  • Chore: Fix missing license for forks (#27258)

  • Chore: Fixed typo in a comment (#27316 by @xareyli)

  • Chore: Improve configurations related to Typescript in Livechat (#27232)

  • Chore: Make it easier to run micro services (#27223)

    You can now run a microservices environment with yarn turbo run ms

  • Chore: Migrate EE LivechatRooms model to typescript (#27046)

  • Chore: New Password field is confusing (#20338 by @im-adithya)

  • Chore: README.md (#21974 by @satishp962)

  • Chore: Refactor LeaveTeam to Typescript (#27197)

    Additionally, it fixes:

    • Users would be able to select team channels that they want to leave while leaving the team.

    • Users would now automatically leave from team channels he/she selected.

    BEFORE

    Channel-leave-Issue.1.mp4

    BEFORE

    Leave.Team-issue.mp4

    AFTER

    Channel-Leave-PR.mp4

    AFTER

    Leave-Team-PR.mp4
  • Chore: remove auto label action (#27192)

  • Chore: Remove blank owner field from rooms (#21766 by @Kartik18g)

  • Chore: Remove js-preventer Action (#27195)

  • Chore: Remove secrets.RC_TURBO_GH_TOKEN dep from build (#27176)

  • Chore: Remove SoundRow.js (#27215)

  • Chore: Remove turborepo if env is not set (#27199)

  • Chore: Remove unused css (#27289)

  • Chore: removing useEndpointData from license api (#26634)

    The deprecated hook useEndpointData was removed and changed to useMethod + useQueryseparated in a hook.

    In useQuery options we added an option to keep the cache as Infinity until the queries are invalidated or the page refreshes, also the query keys were changed to consolidate the keys and manage the cache in the best way possible to avoid unnecessary API calls.

    In settings changed or user action that impact the License status was added a method to invalidate the cache for license query keys

    E.g: queryClient.invalidateQueries(['licenses']);

  • Chore: Replace all saveUserPreferences method calls (#26187)

  • Chore: Restrict ChatMessages API - Phase 1 (#27191)

    It prepares ChatMessages to be splitted into smaller components to handle the interaction of a list of messages and the message composer.

  • Chore: Rewrite AutoCompleteDepartment to TypeScript (#27198)

    Department field inside of current chats is one of the places who uses AutoCompleteDeparment:
    image

  • Chore: Rewrite the label/description of the Push_request_content_from_server setting (#27136 by @nmagedman)

    Documentation: Clarify the meaning/effect of the setting Push_request_content_from_server ("Fetch full message content from the server on receipt"), which can lead to unexpected "You have a new message" notifications

  • Chore: Show better error logs (#27156)

  • Chore: subscriptions.read accepts both "roomId" and "rid" as payload (#20312 by @lucassartor)

    Adding roomId as another option of payload in the subscriptions.read endpoint besides from rid.

  • Chore: Test for import (#26871)

  • Chore: Updates rocket.cat's logo to match colors of our new logo (#27314)

  • Chore: UserAvatar wrapper missing key in RoomForeword (#27300)

  • Chore(deps): Bump felixmosh/turborepo-gh-artifacts from 1 to 2 (#27170 by @dependabot[bot])

  • i18n: Language update from LingoHub 🤖 on 2022-10-24Z (#27127)

  • i18n: Language update from LingoHub 🤖 on 2022-10-31Z (#27150)

  • i18n: Language update from LingoHub 🤖 on 2022-11-07Z (#27202)

  • i18n: Language update from LingoHub 🤖 on 2022-11-14Z (#27255)

  • i18n: Language update from LingoHub 🤖 on 2022-11-21Z (#27306)

  • Merge master into develop & Set version to 5.4.0-develop (#27162)

  • Regression: Custom fields form not showing in user profile nor admin (#27244)

  • Regression: fix contact chat history borders (#27319)

  • Regression: Fix custom oauth undefined clientConfig (#27320)

  • Regression: Fix sidebar token highlighted usage (#27334)

  • Regression: Restore fuselage-ui-kit version (#27331)

  • Regression: videoconf block showing a zero when no user has joined the call (#27332)

👩‍💻👨‍💻 Contributors 😍

👩‍💻👨‍💻 Core Team 🤓

Don't miss a new Rocket.Chat release

NewReleases is sending notifications on new releases.